Home
last modified time | relevance | path

Searched refs:msix (Results 1 – 25 of 67) sorted by relevance

123

/linux/drivers/scsi/snic/
H A Dsnic_isr.c80 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 Dfnic_isr.c122 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 Dbfa_hw_ct.c108 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 Dbfa_hw_cb.c110 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/infiniband/hw/hfi1/
H A Daffinity.c730 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 Daffinity.h44 struct hfi1_msix_entry *msix);
50 struct hfi1_msix_entry *msix);
/linux/drivers/net/ethernet/intel/ice/
H A Dice_irq.c136 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/net/ethernet/chelsio/cxgb4/
H A Dcxgb4_tc_mqprio.c154 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 Dcxgb4_main.c734 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 Dcxgb4_uld.c144 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 Dvfio_pci_intrs.c381 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 Dbe_roce.c65 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()
/linux/tools/testing/selftests/vfio/
H A Dvfio_pci_device_test.c117 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 Dtsi721.c630 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 Dtsi721_dma.c152 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/net/ethernet/cisco/enic/
H A Denic_main.c119 (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 Dxe_irq.h23 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 Dthunderx_edac.c1071 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/arch/arm/boot/dts/amazon/
H A Dalpine.dtsi164 msi-parent = <&msix>;
167 msix: msix@fbe00000 { label
168 compatible = "al,alpine-msix";
/linux/drivers/ntb/hw/amd/
H A Dntb_hw_amd.c736 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 Dqla_mid.c598 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()
/linux/drivers/misc/keba/
H A Dcp500.c81 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/crypto/cavium/nitrox/
H A Dnitrox_isr.c395 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 Dntb_hw_gen1.c387 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/marvell/octeontx2/af/
H A Drvu.c620 pfvf->msix.max = ((cfg >> 32) & 0xFFF) + 1; in rvu_setup_msix_resources()
621 rvu_check_min_msix_vec(rvu, pfvf->msix.max, pf, 0); in rvu_setup_msix_resources()
624 err = rvu_alloc_bitmap(&pfvf->msix); in rvu_setup_msix_resources()
629 pfvf->msix_lfmap = devm_kcalloc(rvu->dev, pfvf->msix.max, in rvu_setup_msix_resources()
647 offset = rvu_alloc_rsrc_contig(&pfvf->msix, nvecs); in rvu_setup_msix_resources()
657 pfvf->msix.max = (cfg & 0xFFF) + 1; in rvu_setup_msix_resources()
658 rvu_check_min_msix_vec(rvu, pfvf->msix.max, pf, vf + 1); in rvu_setup_msix_resources()
661 err = rvu_alloc_bitmap(&pfvf->msix); in rvu_setup_msix_resources()
666 devm_kcalloc(rvu->dev, pfvf->msix.max, in rvu_setup_msix_resources()
679 offset = rvu_alloc_rsrc_contig(&pfvf->msix, nvecs); in rvu_setup_msix_resources()
[all …]

123