void set_cpucore_for_interrupt(cpumask_var_t default_cpu_mask, cpumask_var_t affinity_cpu_mask) { #if defined(CONFIG_MACH_UNIVERSAL5430) argos_irq_affinity_setup_label(IRQ_SPI(226), "WIFI", affinity_cpu_mask, default_cpu_mask); argos_irq_affinity_setup_label(IRQ_SPI(2), "WIFI", affinity_cpu_mask, default_cpu_mask); #endif }
static int mem_rx_setup(struct link_device *ld) { struct mem_link_device *mld = to_mem_link_device(ld); if (!zalloc_cpumask_var(&mld->dmask, GFP_KERNEL)) return -ENOMEM; if (!zalloc_cpumask_var(&mld->imask, GFP_KERNEL)) return -ENOMEM; if (!zalloc_cpumask_var(&mld->tmask, GFP_KERNEL)) return -ENOMEM; #ifdef CONFIG_ARGOS /* Below hard-coded mask values should be removed later on. * Like net-sysfs, argos module also should support sysfs knob, * so that user layer must be able to control these cpu mask. */ #ifdef CONFIG_SCHED_HMP cpumask_copy(mld->dmask, &hmp_slow_cpu_mask); #endif cpumask_or(mld->imask, mld->imask, cpumask_of(3)); argos_irq_affinity_setup_label(217, "IPC", mld->imask, mld->dmask); #endif ld->tx_wq = create_singlethread_workqueue("mem_tx_work"); if (!ld->tx_wq) { mif_err("%s: ERR! fail to create tx_wq\n", ld->name); return -ENOMEM; } ld->rx_wq = alloc_workqueue( "mem_rx_work", WQ_HIGHPRI | WQ_CPU_INTENSIVE, 1); if (!ld->rx_wq) { mif_err("%s: ERR! fail to create rx_wq\n", ld->name); return -ENOMEM; } INIT_DELAYED_WORK(&ld->rx_delayed_work, link_to_demux_work); return 0; }
void set_cpucore_for_interrupt(cpumask_var_t default_cpu_mask, cpumask_var_t affinity_cpu_mask) { #if defined(CONFIG_MACH_UNIVERSAL5433) argos_irq_affinity_setup_label(277, "WIFI", affinity_cpu_mask, default_cpu_mask); #endif /* CONFIG_MACH_UNIVERSAL5433 */ }