| /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/fnic/ |
| H A D | fnic_isr.c | 122 i = irq - fnic->msix[0].irq_num; in fnic_isr_msix_wq_copy() 124 i < 0 || fnic->msix[i].irq_num != irq) { in fnic_isr_msix_wq_copy() 126 if (fnic->msix[i].irq_num == irq) in fnic_isr_msix_wq_copy() 164 for (i = 0; i < ARRAY_SIZE(fnic->msix); i++) in fnic_free_intr() 165 if (fnic->msix[i].requested) in fnic_free_intr() 167 fnic->msix[i].devid); in fnic_free_intr() 194 sprintf(fnic->msix[FNIC_MSIX_RQ].devname, in fnic_request_intr() 196 fnic->msix[FNIC_MSIX_RQ].isr = fnic_isr_msix_rq; in fnic_request_intr() 197 fnic->msix[FNIC_MSIX_RQ].devid = fnic; in fnic_request_intr() 199 sprintf(fnic->msix[FNIC_MSIX_WQ].devname, in fnic_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 …]
|
| H A D | bfa_ioc_cb.c | 27 static void bfa_ioc_cb_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix); 208 bfa_ioc_cb_isr_mode_set(struct bfa_ioc_s *ioc, bfa_boolean_t msix) in bfa_ioc_cb_isr_mode_set() argument
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_irq.c | 135 if (!pf->msix.min) in ice_init_interrupt_scheme() 136 pf->msix.min = ICE_MIN_MSIX; in ice_init_interrupt_scheme() 138 if (!pf->msix.max) in ice_init_interrupt_scheme() 139 pf->msix.max = min(total_vectors, in ice_init_interrupt_scheme() 142 pf->msix.total = total_vectors; in ice_init_interrupt_scheme() 143 pf->msix.rest = total_vectors - pf->msix.max; in ice_init_interrupt_scheme() 146 vectors = pf->msix.min; in ice_init_interrupt_scheme() 148 vectors = pf->msix.max; in ice_init_interrupt_scheme() 150 vectors = pci_alloc_irq_vectors(pf->pdev, pf->msix.min, vectors, in ice_init_interrupt_scheme() 155 ice_init_irq_tracker(pf, pf->msix.max, vectors); in ice_init_interrupt_scheme() [all …]
|
| /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 | 117 FIXTURE_VARIANT_ADD(vfio_pci_irq_test, msix) { in FIXTURE_VARIANT_ADD() argument 135 bool msix = variant->irq_index == VFIO_PCI_MSIX_IRQ_INDEX; in TEST_F() local 141 if (msix) in TEST_F() 149 SKIP(return, "MSI%s: not supported\n", msix ? "-x" : ""); in TEST_F() 152 printf("MSI%s: enabled %d interrupts\n", msix ? "-x" : "", count); in TEST_F()
|
| /linux/drivers/rapidio/devices/ |
| H A D | tsi721.c | 630 mbox = (irq - priv->msix[TSI721_VECT_OMB0_DONE].vector) % RIO_MAX_MBOX; in tsi721_omsg_msix() 649 mbox = (irq - priv->msix[TSI721_VECT_IMB0_RCV].vector) % RIO_MAX_MBOX; in tsi721_imsg_msix() 719 err = request_irq(priv->msix[TSI721_VECT_IDB].vector, in tsi721_request_msix() 721 priv->msix[TSI721_VECT_IDB].irq_name, (void *)priv); in tsi721_request_msix() 725 err = request_irq(priv->msix[TSI721_VECT_PWRX].vector, in tsi721_request_msix() 727 priv->msix[TSI721_VECT_PWRX].irq_name, (void *)priv); in tsi721_request_msix() 729 free_irq(priv->msix[TSI721_VECT_IDB].vector, (void *)priv); in tsi721_request_msix() 795 priv->msix[TSI721_VECT_IDB].vector = entries[TSI721_VECT_IDB].vector; in tsi721_enable_msix() 796 snprintf(priv->msix[TSI721_VECT_IDB].irq_name, IRQ_DEVICE_NAME_MAX, in tsi721_enable_msix() 798 priv->msix[TSI721_VECT_PWRX].vector = entries[TSI721_VECT_PWRX].vector; in tsi721_enable_msix() [all …]
|
| 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() 772 synchronize_irq(priv->msix[TSI721_VECT_DMA0_DONE + in tsi721_sync_dma_irq() 774 synchronize_irq(priv->msix[TSI721_VECT_DMA0_INT + in tsi721_sync_dma_irq()
|
| /linux/drivers/net/ethernet/cisco/enic/ |
| H A D | enic_main.c | 119 (cpumask_available(enic->msix[i].affinity_mask) && in enic_init_affinity_hint() 120 !cpumask_empty(enic->msix[i].affinity_mask))) in enic_init_affinity_hint() 122 if (zalloc_cpumask_var(&enic->msix[i].affinity_mask, in enic_init_affinity_hint() 125 enic->msix[i].affinity_mask); in enic_init_affinity_hint() 136 free_cpumask_var(enic->msix[i].affinity_mask); in enic_free_affinity_hint() 148 !cpumask_available(enic->msix[i].affinity_mask) || in enic_set_affinity_hint() 149 cpumask_empty(enic->msix[i].affinity_mask)) in enic_set_affinity_hint() 152 enic->msix[i].affinity_mask); in enic_set_affinity_hint() 161 if (cpumask_available(enic->msix[wq_intr].affinity_mask) && in enic_set_affinity_hint() 162 !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/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/infiniband/hw/hfi1/ |
| H A D | affinity.h | 44 struct hfi1_msix_entry *msix); 50 struct hfi1_msix_entry *msix);
|
| H A D | Makefile | 30 msix.o \
|
| /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/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/scsi/qla2xxx/ |
| H A D | qla_mid.c | 598 if (rsp->msix && rsp->msix->have_irq) { in qla25xx_free_rsp_que() 599 free_irq(rsp->msix->vector, rsp->msix->handle); in qla25xx_free_rsp_que() 600 rsp->msix->have_irq = 0; in qla25xx_free_rsp_que() 601 rsp->msix->in_use = 0; in qla25xx_free_rsp_que() 602 rsp->msix->handle = NULL; in qla25xx_free_rsp_que() 864 rsp->msix = qpair->msix; in qla25xx_create_rsp_que() 902 ret = qla25xx_request_irq(ha, qpair, qpair->msix); in qla25xx_create_rsp_que()
|
| H A D | qla_inline.h | 591 struct qla_msix_entry *msix, in qla_mapq_init_qp_cpu_map() argument 599 mask = pci_irq_get_affinity(ha->pdev, msix->vector_base0); in qla_mapq_init_qp_cpu_map() 606 msix->cpuid = qpair->cpuid; in qla_mapq_init_qp_cpu_map()
|
| /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/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/chelsio/cxgb4/ |
| 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() 332 minfo = rxq_info->uldrxq[idx].msix; in request_msix_queue_irqs_uld() 347 minfo = rxq_info->uldrxq[idx].msix; in request_msix_queue_irqs_uld() 363 minfo = rxq_info->uldrxq[idx].msix; in free_msix_queue_irqs_uld()
|
| /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()
|