| /linux/drivers/scsi/snic/ |
| H A D | snic_isr.c | 80 for (i = 0; i < ARRAY_SIZE(snic->msix); i++) { in snic_free_intr() 81 if (snic->msix[i].requested) { in snic_free_intr() 83 snic->msix[i].devid); in snic_free_intr() 104 sprintf(snic->msix[SNIC_MSIX_WQ].devname, in snic_request_intr() 107 snic->msix[SNIC_MSIX_WQ].isr = snic_isr_msix_wq; in snic_request_intr() 108 snic->msix[SNIC_MSIX_WQ].devid = snic; in snic_request_intr() 110 sprintf(snic->msix[SNIC_MSIX_IO_CMPL].devname, in snic_request_intr() 113 snic->msix[SNIC_MSIX_IO_CMPL].isr = snic_isr_msix_io_cmpl; in snic_request_intr() 114 snic->msix[SNIC_MSIX_IO_CMPL].devid = snic; in snic_request_intr() 116 sprintf(snic->msix[SNIC_MSIX_ERR_NOTIFY].devname, in snic_request_intr() [all …]
|
| /linux/drivers/scsi/bfa/ |
| H A D | bfa_hw_ct.c | 108 bfa->msix.nvecs = nvecs; in bfa_hwct_msix_init() 115 if (bfa->msix.nvecs == 0) in bfa_hwct_msix_ctrl_install() 118 if (bfa->msix.nvecs == 1) in bfa_hwct_msix_ctrl_install() 119 bfa->msix.handler[BFI_MSIX_LPU_ERR_CT] = bfa_msix_all; in bfa_hwct_msix_ctrl_install() 121 bfa->msix.handler[BFI_MSIX_LPU_ERR_CT] = bfa_msix_lpu_err; in bfa_hwct_msix_ctrl_install() 129 if (bfa->msix.nvecs == 0) in bfa_hwct_msix_queue_install() 132 if (bfa->msix.nvecs == 1) { in bfa_hwct_msix_queue_install() 134 bfa->msix.handler[i] = bfa_msix_all; in bfa_hwct_msix_queue_install() 139 bfa->msix.handler[i] = bfa_msix_reqq; in bfa_hwct_msix_queue_install() 142 bfa->msix.handler[i] = bfa_msix_rspq; in bfa_hwct_msix_queue_install() [all …]
|
| H A D | bfa_hw_cb.c | 110 bfa->msix.nvecs = nvecs; in bfa_hwcb_msix_init() 119 if (bfa->msix.nvecs == 0) in bfa_hwcb_msix_ctrl_install() 122 if (bfa->msix.nvecs == 1) { in bfa_hwcb_msix_ctrl_install() 124 bfa->msix.handler[i] = bfa_msix_all; in bfa_hwcb_msix_ctrl_install() 129 bfa->msix.handler[i] = bfa_msix_lpu_err; in bfa_hwcb_msix_ctrl_install() 137 if (bfa->msix.nvecs == 0) in bfa_hwcb_msix_queue_install() 140 if (bfa->msix.nvecs == 1) { in bfa_hwcb_msix_queue_install() 142 bfa->msix.handler[i] = bfa_msix_all; in bfa_hwcb_msix_queue_install() 147 bfa->msix.handler[i] = bfa_msix_reqq; in bfa_hwcb_msix_queue_install() 150 bfa->msix.handler[i] = bfa_msix_rspq; in bfa_hwcb_msix_queue_install() [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_irq.c | 136 if (!pf->msix.min) in ice_init_interrupt_scheme() 137 pf->msix.min = ICE_MIN_MSIX; in ice_init_interrupt_scheme() 139 if (!pf->msix.max) in ice_init_interrupt_scheme() 140 pf->msix.max = min(total_vectors, in ice_init_interrupt_scheme() 143 pf->msix.total = total_vectors; in ice_init_interrupt_scheme() 144 pf->msix.rest = total_vectors - pf->msix.max; in ice_init_interrupt_scheme() 147 vectors = pf->msix.min; in ice_init_interrupt_scheme() 149 vectors = pf->msix.max; in ice_init_interrupt_scheme() 151 vectors = pci_alloc_irq_vectors(pf->pdev, pf->msix.min, vectors, in ice_init_interrupt_scheme() 156 ice_init_irq_tracker(pf, pf->msix.max, vectors); in ice_init_interrupt_scheme() [all …]
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | affinity.c | 730 static void hfi1_update_sdma_affinity(struct hfi1_msix_entry *msix, int cpu) in hfi1_update_sdma_affinity() argument 732 struct sdma_engine *sde = msix->arg; in hfi1_update_sdma_affinity() 748 cpumask_clear(&msix->mask); in hfi1_update_sdma_affinity() 749 cpumask_set_cpu(cpu, &msix->mask); in hfi1_update_sdma_affinity() 751 msix->irq, irq_type_names[msix->type], in hfi1_update_sdma_affinity() 753 irq_set_affinity_hint(msix->irq, &msix->mask); in hfi1_update_sdma_affinity() 766 if (other_msix->type != IRQ_SDMA || other_msix == msix) in hfi1_update_sdma_affinity() 782 struct hfi1_msix_entry *msix = container_of(notify, in hfi1_irq_notifier_notify() local 787 hfi1_update_sdma_affinity(msix, cpu); in hfi1_irq_notifier_notify() 798 static void hfi1_setup_sdma_notifier(struct hfi1_msix_entry *msix) in hfi1_setup_sdma_notifier() argument [all …]
|
| H A D | affinity.h | 44 struct hfi1_msix_entry *msix); 50 struct hfi1_msix_entry *msix);
|
| /linux/drivers/net/ethernet/chelsio/cxgb4/ |
| H A D | cxgb4_tc_mqprio.c | 154 int ret, msix = 0; in cxgb4_mqprio_alloc_hw_resources() local 177 msix = -((int)adap->sge.intrq.abs_id + 1); in cxgb4_mqprio_alloc_hw_resources() 184 if (msix >= 0) { in cxgb4_mqprio_alloc_hw_resources() 185 msix = cxgb4_get_msix_idx_from_bmap(adap); in cxgb4_mqprio_alloc_hw_resources() 186 if (msix < 0) { in cxgb4_mqprio_alloc_hw_resources() 187 ret = msix; in cxgb4_mqprio_alloc_hw_resources() 191 eorxq->msix = &adap->msix_info[msix]; in cxgb4_mqprio_alloc_hw_resources() 192 snprintf(eorxq->msix->desc, in cxgb4_mqprio_alloc_hw_resources() 193 sizeof(eorxq->msix->desc), in cxgb4_mqprio_alloc_hw_resources() 206 dev, msix, &eorxq->fl, in cxgb4_mqprio_alloc_hw_resources() [all …]
|
| H A D | cxgb4_main.c | 734 minfo = s->ethrxq[ethqidx].msix; in request_msix_queue_irqs() 749 minfo = s->ethrxq[ethqidx].msix; in request_msix_queue_irqs() 765 minfo = s->ethrxq[i].msix; in free_msix_queue_irqs() 984 int msix; in setup_non_data_intr() local 991 msix = cxgb4_get_msix_idx_from_bmap(adap); in setup_non_data_intr() 992 if (msix < 0) in setup_non_data_intr() 995 snprintf(adap->msix_info[msix].desc, in setup_non_data_intr() 996 sizeof(adap->msix_info[msix].desc), in setup_non_data_intr() 999 adap->sge.nd_msix_idx = msix; in setup_non_data_intr() 1006 int msix, err = 0; in setup_fw_sge_queues() local [all …]
|
| H A D | cxgb4_uld.c | 144 q->msix = &adap->msix_info[msi_idx]; in alloc_uld_rxqs() 167 if (q->msix) in alloc_uld_rxqs() 168 cxgb4_free_msix_idx_in_bmap(adap, q->msix->idx); in alloc_uld_rxqs() 331 minfo = rxq_info->uldrxq[idx].msix; in request_msix_queue_irqs_uld() 346 minfo = rxq_info->uldrxq[idx].msix; in request_msix_queue_irqs_uld() 362 minfo = rxq_info->uldrxq[idx].msix; in free_msix_queue_irqs_uld()
|
| /linux/drivers/vfio/pci/ |
| H A D | vfio_pci_intrs.c | 381 static int vfio_msi_enable(struct vfio_pci_core_device *vdev, int nvec, bool msix) in vfio_msi_enable() argument 384 unsigned int flag = msix ? PCI_IRQ_MSIX : PCI_IRQ_MSI; in vfio_msi_enable() 402 vdev->irq_type = msix ? VFIO_PCI_MSIX_IRQ_INDEX : in vfio_msi_enable() 405 if (!msix) { in vfio_msi_enable() 427 unsigned int vector, bool msix) in vfio_msi_alloc_irq() argument 437 if (irq > 0 || !msix || !vdev->has_dyn_msix) in vfio_msi_alloc_irq() 448 unsigned int vector, int fd, bool msix) in vfio_msi_set_vector_signal() argument 475 irq = vfio_msi_alloc_irq(vdev, vector, msix); in vfio_msi_set_vector_signal() 485 msix ? "x" : "", vector, pci_name(pdev)); in vfio_msi_set_vector_signal() 503 if (msix) { in vfio_msi_set_vector_signal() [all …]
|
| /linux/drivers/net/ethernet/emulex/benet/ |
| H A D | be_roce.c | 65 dev_info.msix.num_vectors = min(num_vec, MAX_MSIX_VECTORS); in _be_roce_dev_add() 70 dev_info.msix.start_vector = adapter->num_evt_qs; in _be_roce_dev_add() 71 for (i = 0; i < dev_info.msix.num_vectors; i++) { in _be_roce_dev_add() 72 dev_info.msix.vector_list[i] = in _be_roce_dev_add() 76 dev_info.msix.num_vectors = 0; in _be_roce_dev_add()
|
| H A D | be_roce.h | 47 } msix; member
|
| /linux/tools/testing/selftests/vfio/ |
| H A D | vfio_pci_device_test.c | 118 FIXTURE_VARIANT_ADD(vfio_pci_irq_test, msix) { in FIXTURE_VARIANT_ADD() 136 bool msix = variant->irq_index == VFIO_PCI_MSIX_IRQ_INDEX; in TEST_F() 142 if (msix) in TEST_F() 150 SKIP(return, "MSI%s: not supported\n", msix ? "-x" : ""); in TEST_F() 153 printf("MSI%s: enabled %d interrupts\n", msix ? "-x" : "", count); in TEST_F() 117 FIXTURE_VARIANT_ADD(vfio_pci_irq_test,msix) FIXTURE_VARIANT_ADD() argument 135 bool msix = variant->irq_index == VFIO_PCI_MSIX_IRQ_INDEX; TEST_F() local
|
| /linux/drivers/net/ethernet/cisco/enic/ |
| H A D | enic_admin.c | 365 snprintf(enic->msix[intr_index].devname, in enic_admin_setup_intr() 366 sizeof(enic->msix[intr_index].devname), in enic_admin_setup_intr() 368 enic->msix[intr_index].isr = enic_admin_isr_msix; in enic_admin_setup_intr() 369 enic->msix[intr_index].devid = enic; in enic_admin_setup_intr() 372 enic->msix[intr_index].isr, 0, in enic_admin_setup_intr() 373 enic->msix[intr_index].devname, in enic_admin_setup_intr() 374 enic->msix[intr_index].devid); in enic_admin_setup_intr() 382 enic->msix[intr_index].requested = 1; in enic_admin_setup_intr() 396 enic->msix[intr_index].devid); in enic_admin_teardown_intr() 398 enic->msix[intr_index].requested = 0; in enic_admin_teardown_intr()
|
| H A D | enic_main.c | 124 (cpumask_available(enic->msix[i].affinity_mask) && in enic_init_affinity_hint() 125 !cpumask_empty(enic->msix[i].affinity_mask))) in enic_init_affinity_hint() 127 if (zalloc_cpumask_var(&enic->msix[i].affinity_mask, in enic_init_affinity_hint() 130 enic->msix[i].affinity_mask); in enic_init_affinity_hint() 141 free_cpumask_var(enic->msix[i].affinity_mask); in enic_free_affinity_hint() 153 !cpumask_available(enic->msix[i].affinity_mask) || in enic_set_affinity_hint() 154 cpumask_empty(enic->msix[i].affinity_mask)) in enic_set_affinity_hint() 157 enic->msix[i].affinity_mask); in enic_set_affinity_hint() 166 if (cpumask_available(enic->msix[wq_intr].affinity_mask) && in enic_set_affinity_hint() 167 !cpumask_empty(enic->msix[wq_intr].affinity_mask)) in enic_set_affinity_hint() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_irq.h | 23 const char *name, bool dynamic_msix, u16 *msix); 24 void xe_irq_msix_free_irq(struct xe_device *xe, u16 msix);
|
| /linux/arch/arm/boot/dts/amazon/ |
| H A D | alpine.dtsi | 164 msi-parent = <&msix>; 167 msix: msix@fbe00000 { label 168 compatible = "al,alpine-msix";
|
| /linux/drivers/edac/ |
| H A D | thunderx_edac.c | 1071 struct msix_entry *msix = irq_id; in thunderx_ocx_com_isr() local 1072 struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx, in thunderx_ocx_com_isr() 1073 msix_ent[msix->entry]); in thunderx_ocx_com_isr() 1100 struct msix_entry *msix = irq_id; in thunderx_ocx_com_threaded_isr() local 1101 struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx, in thunderx_ocx_com_threaded_isr() 1102 msix_ent[msix->entry]); in thunderx_ocx_com_threaded_isr() 1164 struct msix_entry *msix = irq_id; in thunderx_ocx_lnk_isr() local 1165 struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx, in thunderx_ocx_lnk_isr() 1166 msix_ent[msix->entry]); in thunderx_ocx_lnk_isr() 1171 ctx->link = msix->entry; in thunderx_ocx_lnk_isr() [all …]
|
| /linux/drivers/ntb/hw/amd/ |
| H A D | ntb_hw_amd.c | 736 ndev->msix = kcalloc_node(msix_max, sizeof(*ndev->msix), in ndev_init_isr() 738 if (!ndev->msix) in ndev_init_isr() 742 ndev->msix[i].entry = i; in ndev_init_isr() 744 msix_count = pci_enable_msix_range(pdev, ndev->msix, in ndev_init_isr() 760 rc = request_irq(ndev->msix[i].vector, ndev_vec_isr, 0, in ndev_init_isr() 773 free_irq(ndev->msix[i].vector, &ndev->vec[i]); in ndev_init_isr() 776 kfree(ndev->msix); in ndev_init_isr() 780 ndev->msix = NULL; in ndev_init_isr() 831 if (ndev->msix) { in ndev_deinit_isr() 834 free_irq(ndev->msix[i].vector, &ndev->vec[i]); in ndev_deinit_isr() [all …]
|
| /linux/drivers/rapidio/devices/ |
| H A D | tsi721_dma.c | 152 rc = request_irq(priv->msix[idx].vector, tsi721_bdma_msix, 0, in tsi721_bdma_ch_init() 153 priv->msix[idx].irq_name, (void *)bdma_chan); in tsi721_bdma_ch_init() 164 rc = request_irq(priv->msix[idx].vector, tsi721_bdma_msix, 0, in tsi721_bdma_ch_init() 165 priv->msix[idx].irq_name, (void *)bdma_chan); in tsi721_bdma_ch_init() 172 priv->msix[TSI721_VECT_DMA0_DONE + in tsi721_bdma_ch_init() 226 free_irq(priv->msix[TSI721_VECT_DMA0_DONE + in tsi721_bdma_ch_free() 228 free_irq(priv->msix[TSI721_VECT_DMA0_INT + in tsi721_bdma_ch_free() 771 synchronize_irq(priv->msix[TSI721_VECT_DMA0_DONE + in tsi721_sync_dma_irq() 773 synchronize_irq(priv->msix[TSI721_VECT_DMA0_INT + in tsi721_sync_dma_irq()
|
| /linux/drivers/crypto/cavium/nitrox/ |
| H A D | nitrox_isr.c | 395 vec = ndev->iov.msix.vector; in nitrox_sriov_unregister_interrupts() 419 ndev->iov.msix.entry = NON_RING_MSIX_BASE; in nitrox_sriov_register_interupts() 420 ret = pci_enable_msix_exact(pdev, &ndev->iov.msix, NR_NON_RING_VECTORS); in nitrox_sriov_register_interupts() 439 vec = ndev->iov.msix.vector; in nitrox_sriov_register_interupts()
|
| /linux/drivers/misc/keba/ |
| H A D | cp500.c | 81 unsigned int msix; member 753 cp500->devs->uart0_rfb.msix < cp500->msix_num) { in cp500_register_auxiliary_devs() 755 cp500->devs->uart0_rfb.msix); in cp500_register_auxiliary_devs() 762 cp500->devs->uart1_dbg.msix < cp500->msix_num) { in cp500_register_auxiliary_devs() 764 cp500->devs->uart1_dbg.msix); in cp500_register_auxiliary_devs() 771 cp500->devs->uart2_si1.msix < cp500->msix_num) { in cp500_register_auxiliary_devs() 773 cp500->devs->uart2_si1.msix); in cp500_register_auxiliary_devs()
|
| /linux/drivers/ntb/hw/intel/ |
| H A D | ntb_hw_gen1.c | 387 ndev->msix = kcalloc_node(msix_max, sizeof(*ndev->msix), in ndev_init_isr() 389 if (!ndev->msix) in ndev_init_isr() 393 ndev->msix[i].entry = i; in ndev_init_isr() 395 msix_count = pci_enable_msix_range(pdev, ndev->msix, in ndev_init_isr() 403 rc = request_irq(ndev->msix[i].vector, ndev_vec_isr, 0, in ndev_init_isr() 416 free_irq(ndev->msix[i].vector, &ndev->vec[i]); in ndev_init_isr() 419 kfree(ndev->msix); in ndev_init_isr() 423 ndev->msix = NULL; in ndev_init_isr() 477 if (ndev->msix) { in ndev_deinit_isr() 480 free_irq(ndev->msix[i].vector, &ndev->vec[i]); in ndev_deinit_isr() [all …]
|
| /linux/drivers/net/ethernet/brocade/bna/ |
| H A D | bfa_ioc_ct.c | 35 static void bfa_ioc_ct_isr_mode_set(struct bfa_ioc *ioc, bool msix); 395 bfa_ioc_ct_isr_mode_set(struct bfa_ioc *ioc, bool msix) in bfa_ioc_ct_isr_mode_set() argument 408 if ((!msix && mode) || (msix && !mode)) in bfa_ioc_ct_isr_mode_set() 411 if (msix) in bfa_ioc_ct_isr_mode_set()
|
| /linux/drivers/dma/ioat/ |
| H A D | init.c | 408 struct msix_entry *msix; in ioat_dma_setup_interrupts() local 414 goto msix; in ioat_dma_setup_interrupts() 422 msix: in ioat_dma_setup_interrupts() 433 msix = &ioat_dma->msix_entries[i]; in ioat_dma_setup_interrupts() 435 err = devm_request_irq(dev, msix->vector, in ioat_dma_setup_interrupts() 440 msix = &ioat_dma->msix_entries[j]; in ioat_dma_setup_interrupts() 442 devm_free_irq(dev, msix->vector, ioat_chan); in ioat_dma_setup_interrupts()
|