Loading arch/blackfin/kernel/nmi.c +4 −4 Original line number Diff line number Diff line Loading @@ -145,16 +145,16 @@ int check_nmi_wdt_touched(void) { unsigned int this_cpu = smp_processor_id(); unsigned int cpu; cpumask_t mask; cpumask_t mask = cpu_online_map; cpumask_copy(&mask, cpu_online_mask); if (!atomic_read(&nmi_touched[this_cpu])) return 0; atomic_set(&nmi_touched[this_cpu], 0); cpu_clear(this_cpu, mask); for_each_cpu_mask(cpu, mask) { cpumask_clear_cpu(this_cpu, &mask); for_each_cpu(cpu, &mask) { invalidate_dcache_range((unsigned long)(&nmi_touched[cpu]), (unsigned long)(&nmi_touched[cpu])); if (!atomic_read(&nmi_touched[cpu])) Loading arch/blackfin/kernel/setup.c +2 −2 Original line number Diff line number Diff line Loading @@ -1324,7 +1324,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) static void *c_start(struct seq_file *m, loff_t *pos) { if (*pos == 0) *pos = first_cpu(cpu_online_map); *pos = cpumask_first(cpu_online_mask); if (*pos >= num_online_cpus()) return NULL; Loading @@ -1333,7 +1333,7 @@ static void *c_start(struct seq_file *m, loff_t *pos) static void *c_next(struct seq_file *m, void *v, loff_t *pos) { *pos = next_cpu(*pos, cpu_online_map); *pos = cpumask_next(*pos, cpu_online_mask); return c_start(m, pos); } Loading arch/blackfin/mach-common/dpmc.c +4 −3 Original line number Diff line number Diff line Loading @@ -85,10 +85,11 @@ static void bfin_wakeup_cpu(void) { unsigned int cpu; unsigned int this_cpu = smp_processor_id(); cpumask_t mask = cpu_online_map; cpumask_t mask; cpu_clear(this_cpu, mask); for_each_cpu_mask(cpu, mask) cpumask_copy(&mask, cpu_online_mask); cpumask_clear_cpu(this_cpu, &mask); for_each_cpu(cpu, &mask) platform_send_ipi_cpu(cpu, IRQ_SUPPLE_0); } Loading arch/blackfin/mach-common/smp.c +14 −13 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ static void ipi_cpu_stop(unsigned int cpu) dump_stack(); spin_unlock(&stop_lock); cpu_clear(cpu, cpu_online_map); set_cpu_online(cpu, false); local_irq_disable(); Loading Loading @@ -147,7 +147,7 @@ static void ipi_call_function(unsigned int cpu, struct ipi_message *msg) */ resync_core_dcache(); #endif cpu_clear(cpu, *msg->call_struct.waitmask); cpumask_clear_cpu(cpu, msg->call_struct.waitmask); } } Loading Loading @@ -223,9 +223,10 @@ static inline void smp_send_message(cpumask_t callmap, unsigned long type, struct ipi_message_queue *msg_queue; struct ipi_message *msg; unsigned long flags, next_msg; cpumask_t waitmask = callmap; /* waitmask is shared by all cpus */ cpumask_t waitmask; /* waitmask is shared by all cpus */ for_each_cpu_mask(cpu, callmap) { cpumask_copy(&waitmask, &callmap); for_each_cpu(cpu, &callmap) { msg_queue = &per_cpu(ipi_msg_queue, cpu); spin_lock_irqsave(&msg_queue->lock, flags); if (msg_queue->count < BFIN_IPI_MSGQ_LEN) { Loading @@ -247,7 +248,7 @@ static inline void smp_send_message(cpumask_t callmap, unsigned long type, } if (wait) { while (!cpus_empty(waitmask)) while (!cpumask_empty(&waitmask)) blackfin_dcache_invalidate_range( (unsigned long)(&waitmask), (unsigned long)(&waitmask)); Loading @@ -266,9 +267,9 @@ int smp_call_function(void (*func)(void *info), void *info, int wait) cpumask_t callmap; preempt_disable(); callmap = cpu_online_map; cpu_clear(smp_processor_id(), callmap); if (!cpus_empty(callmap)) cpumask_copy(&callmap, cpu_online_mask); cpumask_clear_cpu(smp_processor_id(), &callmap); if (!cpumask_empty(&callmap)) smp_send_message(callmap, BFIN_IPI_CALL_FUNC, func, info, wait); preempt_enable(); Loading @@ -285,8 +286,8 @@ int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, if (cpu_is_offline(cpu)) return 0; cpus_clear(callmap); cpu_set(cpu, callmap); cpumask_clear(&callmap); cpumask_set_cpu(cpu, &callmap); smp_send_message(callmap, BFIN_IPI_CALL_FUNC, func, info, wait); Loading @@ -309,9 +310,9 @@ void smp_send_stop(void) cpumask_t callmap; preempt_disable(); callmap = cpu_online_map; cpu_clear(smp_processor_id(), callmap); if (!cpus_empty(callmap)) cpumask_copy(&callmap, cpu_online_mask); cpumask_clear_cpu(smp_processor_id(), &callmap); if (!cpumask_empty(&callmap)) smp_send_message(callmap, BFIN_IPI_CPU_STOP, NULL, NULL, 0); preempt_enable(); Loading Loading
arch/blackfin/kernel/nmi.c +4 −4 Original line number Diff line number Diff line Loading @@ -145,16 +145,16 @@ int check_nmi_wdt_touched(void) { unsigned int this_cpu = smp_processor_id(); unsigned int cpu; cpumask_t mask; cpumask_t mask = cpu_online_map; cpumask_copy(&mask, cpu_online_mask); if (!atomic_read(&nmi_touched[this_cpu])) return 0; atomic_set(&nmi_touched[this_cpu], 0); cpu_clear(this_cpu, mask); for_each_cpu_mask(cpu, mask) { cpumask_clear_cpu(this_cpu, &mask); for_each_cpu(cpu, &mask) { invalidate_dcache_range((unsigned long)(&nmi_touched[cpu]), (unsigned long)(&nmi_touched[cpu])); if (!atomic_read(&nmi_touched[cpu])) Loading
arch/blackfin/kernel/setup.c +2 −2 Original line number Diff line number Diff line Loading @@ -1324,7 +1324,7 @@ static int show_cpuinfo(struct seq_file *m, void *v) static void *c_start(struct seq_file *m, loff_t *pos) { if (*pos == 0) *pos = first_cpu(cpu_online_map); *pos = cpumask_first(cpu_online_mask); if (*pos >= num_online_cpus()) return NULL; Loading @@ -1333,7 +1333,7 @@ static void *c_start(struct seq_file *m, loff_t *pos) static void *c_next(struct seq_file *m, void *v, loff_t *pos) { *pos = next_cpu(*pos, cpu_online_map); *pos = cpumask_next(*pos, cpu_online_mask); return c_start(m, pos); } Loading
arch/blackfin/mach-common/dpmc.c +4 −3 Original line number Diff line number Diff line Loading @@ -85,10 +85,11 @@ static void bfin_wakeup_cpu(void) { unsigned int cpu; unsigned int this_cpu = smp_processor_id(); cpumask_t mask = cpu_online_map; cpumask_t mask; cpu_clear(this_cpu, mask); for_each_cpu_mask(cpu, mask) cpumask_copy(&mask, cpu_online_mask); cpumask_clear_cpu(this_cpu, &mask); for_each_cpu(cpu, &mask) platform_send_ipi_cpu(cpu, IRQ_SUPPLE_0); } Loading
arch/blackfin/mach-common/smp.c +14 −13 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ static void ipi_cpu_stop(unsigned int cpu) dump_stack(); spin_unlock(&stop_lock); cpu_clear(cpu, cpu_online_map); set_cpu_online(cpu, false); local_irq_disable(); Loading Loading @@ -147,7 +147,7 @@ static void ipi_call_function(unsigned int cpu, struct ipi_message *msg) */ resync_core_dcache(); #endif cpu_clear(cpu, *msg->call_struct.waitmask); cpumask_clear_cpu(cpu, msg->call_struct.waitmask); } } Loading Loading @@ -223,9 +223,10 @@ static inline void smp_send_message(cpumask_t callmap, unsigned long type, struct ipi_message_queue *msg_queue; struct ipi_message *msg; unsigned long flags, next_msg; cpumask_t waitmask = callmap; /* waitmask is shared by all cpus */ cpumask_t waitmask; /* waitmask is shared by all cpus */ for_each_cpu_mask(cpu, callmap) { cpumask_copy(&waitmask, &callmap); for_each_cpu(cpu, &callmap) { msg_queue = &per_cpu(ipi_msg_queue, cpu); spin_lock_irqsave(&msg_queue->lock, flags); if (msg_queue->count < BFIN_IPI_MSGQ_LEN) { Loading @@ -247,7 +248,7 @@ static inline void smp_send_message(cpumask_t callmap, unsigned long type, } if (wait) { while (!cpus_empty(waitmask)) while (!cpumask_empty(&waitmask)) blackfin_dcache_invalidate_range( (unsigned long)(&waitmask), (unsigned long)(&waitmask)); Loading @@ -266,9 +267,9 @@ int smp_call_function(void (*func)(void *info), void *info, int wait) cpumask_t callmap; preempt_disable(); callmap = cpu_online_map; cpu_clear(smp_processor_id(), callmap); if (!cpus_empty(callmap)) cpumask_copy(&callmap, cpu_online_mask); cpumask_clear_cpu(smp_processor_id(), &callmap); if (!cpumask_empty(&callmap)) smp_send_message(callmap, BFIN_IPI_CALL_FUNC, func, info, wait); preempt_enable(); Loading @@ -285,8 +286,8 @@ int smp_call_function_single(int cpuid, void (*func) (void *info), void *info, if (cpu_is_offline(cpu)) return 0; cpus_clear(callmap); cpu_set(cpu, callmap); cpumask_clear(&callmap); cpumask_set_cpu(cpu, &callmap); smp_send_message(callmap, BFIN_IPI_CALL_FUNC, func, info, wait); Loading @@ -309,9 +310,9 @@ void smp_send_stop(void) cpumask_t callmap; preempt_disable(); callmap = cpu_online_map; cpu_clear(smp_processor_id(), callmap); if (!cpus_empty(callmap)) cpumask_copy(&callmap, cpu_online_mask); cpumask_clear_cpu(smp_processor_id(), &callmap); if (!cpumask_empty(&callmap)) smp_send_message(callmap, BFIN_IPI_CPU_STOP, NULL, NULL, 0); preempt_enable(); Loading