• Home
  • Raw
  • Download

Lines Matching refs:msix

789 static void hfi1_update_sdma_affinity(struct hfi1_msix_entry *msix, int cpu)  in hfi1_update_sdma_affinity()  argument
791 struct sdma_engine *sde = msix->arg; in hfi1_update_sdma_affinity()
807 cpumask_clear(&msix->mask); in hfi1_update_sdma_affinity()
808 cpumask_set_cpu(cpu, &msix->mask); in hfi1_update_sdma_affinity()
810 msix->irq, irq_type_names[msix->type], in hfi1_update_sdma_affinity()
812 irq_set_affinity_hint(msix->irq, &msix->mask); in hfi1_update_sdma_affinity()
825 if (other_msix->type != IRQ_SDMA || other_msix == msix) in hfi1_update_sdma_affinity()
841 struct hfi1_msix_entry *msix = container_of(notify, in hfi1_irq_notifier_notify() local
846 hfi1_update_sdma_affinity(msix, cpu); in hfi1_irq_notifier_notify()
857 static void hfi1_setup_sdma_notifier(struct hfi1_msix_entry *msix) in hfi1_setup_sdma_notifier() argument
859 struct irq_affinity_notify *notify = &msix->notify; in hfi1_setup_sdma_notifier()
861 notify->irq = msix->irq; in hfi1_setup_sdma_notifier()
870 static void hfi1_cleanup_sdma_notifier(struct hfi1_msix_entry *msix) in hfi1_cleanup_sdma_notifier() argument
872 struct irq_affinity_notify *notify = &msix->notify; in hfi1_cleanup_sdma_notifier()
884 struct hfi1_msix_entry *msix) in get_irq_affinity() argument
895 cpumask_clear(&msix->mask); in get_irq_affinity()
899 switch (msix->type) { in get_irq_affinity()
901 sde = (struct sdma_engine *)msix->arg; in get_irq_affinity()
909 rcd = (struct hfi1_ctxtdata *)msix->arg; in get_irq_affinity()
917 dd_dev_err(dd, "Invalid IRQ type %d\n", msix->type); in get_irq_affinity()
940 cpumask_set_cpu(cpu, &msix->mask); in get_irq_affinity()
942 msix->irq, irq_type_names[msix->type], in get_irq_affinity()
944 irq_set_affinity_hint(msix->irq, &msix->mask); in get_irq_affinity()
946 if (msix->type == IRQ_SDMA) { in get_irq_affinity()
948 hfi1_setup_sdma_notifier(msix); in get_irq_affinity()
954 int hfi1_get_irq_affinity(struct hfi1_devdata *dd, struct hfi1_msix_entry *msix) in hfi1_get_irq_affinity() argument
959 ret = get_irq_affinity(dd, msix); in hfi1_get_irq_affinity()
965 struct hfi1_msix_entry *msix) in hfi1_put_irq_affinity() argument
974 switch (msix->type) { in hfi1_put_irq_affinity()
977 hfi1_cleanup_sdma_notifier(msix); in hfi1_put_irq_affinity()
983 rcd = (struct hfi1_ctxtdata *)msix->arg; in hfi1_put_irq_affinity()
994 cpumask_andnot(&set->used, &set->used, &msix->mask); in hfi1_put_irq_affinity()
998 irq_set_affinity_hint(msix->irq, NULL); in hfi1_put_irq_affinity()
999 cpumask_clear(&msix->mask); in hfi1_put_irq_affinity()