summaryrefslogtreecommitdiffstats
path: root/sys/mips/cavium/octe/ethernet.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/mips/cavium/octe/ethernet.c')
-rw-r--r--sys/mips/cavium/octe/ethernet.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/sys/mips/cavium/octe/ethernet.c b/sys/mips/cavium/octe/ethernet.c
index 2717d2c..24ff979 100644
--- a/sys/mips/cavium/octe/ethernet.c
+++ b/sys/mips/cavium/octe/ethernet.c
@@ -235,15 +235,16 @@ static void cvm_oct_configure_common_hw(device_t bus)
if (USE_MULTICORE_RECEIVE) {
critical_enter();
{
- int cpu;
- for (cpu = 0; cpu < mp_maxid; cpu++) {
- if (!CPU_ABSENT(cpu) &&
- (cpu != PCPU_GET(cpuid))) {
- cvmx_ciu_intx0_t en;
- en.u64 = cvmx_read_csr(CVMX_CIU_INTX_EN0(cpu*2));
- en.s.workq |= (1<<pow_receive_group);
- cvmx_write_csr(CVMX_CIU_INTX_EN0(cpu*2), en.u64);
- }
+ cvmx_ciu_intx0_t en;
+ int core;
+
+ CPU_FOREACH(core) {
+ if (core == PCPU_GET(cpuid))
+ continue;
+
+ en.u64 = cvmx_read_csr(CVMX_CIU_INTX_EN0(core*2));
+ en.s.workq |= (1<<pow_receive_group);
+ cvmx_write_csr(CVMX_CIU_INTX_EN0(core*2), en.u64);
}
}
critical_exit();
OpenPOWER on IntegriCloud