/openbmc/qemu/hw/xen/ |
H A D | xen_pt_msi.c | 135 table_base = s->msix->table_base; in msi_msix_setup() 173 table_addr = s->msix->mmio_base_addr; in msi_msix_update() 314 if (!s->msix) { in msix_set_enable() 318 return msi_msix_enable(s, s->msix->ctrl_offset, PCI_MSIX_FLAGS_ENABLE, in msix_set_enable() 329 if (entry_nr < 0 || entry_nr >= s->msix->total_entries) { in xen_pt_msix_update_one() 333 entry = &s->msix->msix_entry[entry_nr]; in xen_pt_msix_update_one() 347 if (pirq == XEN_PT_UNASSIGNED_PIRQ || s->msix->maskall || in xen_pt_msix_update_one() 376 XenPTMSIX *msix = s->msix; in xen_pt_msix_update() local 379 for (i = 0; i < msix->total_entries; i++) { in xen_pt_msix_update() 380 xen_pt_msix_update_one(s, i, msix->msix_entry[i].latch(VECTOR_CTRL)); in xen_pt_msix_update() [all …]
|
/openbmc/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 …]
|
/openbmc/linux/drivers/scsi/fnic/ |
H A D | fnic_isr.c | 149 for (i = 0; i < ARRAY_SIZE(fnic->msix); i++) in fnic_free_intr() 150 if (fnic->msix[i].requested) in fnic_free_intr() 152 fnic->msix[i].devid); in fnic_free_intr() 179 sprintf(fnic->msix[FNIC_MSIX_RQ].devname, in fnic_request_intr() 181 fnic->msix[FNIC_MSIX_RQ].isr = fnic_isr_msix_rq; in fnic_request_intr() 182 fnic->msix[FNIC_MSIX_RQ].devid = fnic; in fnic_request_intr() 184 sprintf(fnic->msix[FNIC_MSIX_WQ].devname, in fnic_request_intr() 186 fnic->msix[FNIC_MSIX_WQ].isr = fnic_isr_msix_wq; in fnic_request_intr() 187 fnic->msix[FNIC_MSIX_WQ].devid = fnic; in fnic_request_intr() 189 sprintf(fnic->msix[FNIC_MSIX_WQ_COPY].devname, in fnic_request_intr() [all …]
|
/openbmc/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 …]
|
/openbmc/linux/drivers/infiniband/hw/hfi1/ |
H A D | affinity.c | 739 static void hfi1_update_sdma_affinity(struct hfi1_msix_entry *msix, int cpu) in hfi1_update_sdma_affinity() argument 741 struct sdma_engine *sde = msix->arg; in hfi1_update_sdma_affinity() 757 cpumask_clear(&msix->mask); in hfi1_update_sdma_affinity() 758 cpumask_set_cpu(cpu, &msix->mask); in hfi1_update_sdma_affinity() 760 msix->irq, irq_type_names[msix->type], in hfi1_update_sdma_affinity() 762 irq_set_affinity_hint(msix->irq, &msix->mask); in hfi1_update_sdma_affinity() 775 if (other_msix->type != IRQ_SDMA || other_msix == msix) in hfi1_update_sdma_affinity() 791 struct hfi1_msix_entry *msix = container_of(notify, in hfi1_irq_notifier_notify() local 796 hfi1_update_sdma_affinity(msix, cpu); in hfi1_irq_notifier_notify() 807 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);
|
/openbmc/linux/tools/pci/ |
H A D | pcitest.sh | 33 msix=1 35 while [ $msix -lt 2049 ] 37 pcitest -x $msix 38 msix=`expr $msix + 1`
|
/openbmc/linux/drivers/net/ethernet/chelsio/cxgb4/ |
H A D | cxgb4_tc_mqprio.c | 155 int ret, msix = 0; in cxgb4_mqprio_alloc_hw_resources() local 180 msix = -((int)adap->sge.intrq.abs_id + 1); in cxgb4_mqprio_alloc_hw_resources() 187 if (msix >= 0) { in cxgb4_mqprio_alloc_hw_resources() 188 msix = cxgb4_get_msix_idx_from_bmap(adap); in cxgb4_mqprio_alloc_hw_resources() 189 if (msix < 0) { in cxgb4_mqprio_alloc_hw_resources() 190 ret = msix; in cxgb4_mqprio_alloc_hw_resources() 194 eorxq->msix = &adap->msix_info[msix]; in cxgb4_mqprio_alloc_hw_resources() 195 snprintf(eorxq->msix->desc, in cxgb4_mqprio_alloc_hw_resources() 196 sizeof(eorxq->msix->desc), in cxgb4_mqprio_alloc_hw_resources() 209 dev, msix, &eorxq->fl, in cxgb4_mqprio_alloc_hw_resources() [all …]
|
/openbmc/linux/drivers/vfio/pci/ |
H A D | vfio_pci_intrs.c | 383 static int vfio_msi_enable(struct vfio_pci_core_device *vdev, int nvec, bool msix) in vfio_msi_enable() argument 386 unsigned int flag = msix ? PCI_IRQ_MSIX : PCI_IRQ_MSI; in vfio_msi_enable() 404 vdev->irq_type = msix ? VFIO_PCI_MSIX_IRQ_INDEX : in vfio_msi_enable() 407 if (!msix) { in vfio_msi_enable() 429 unsigned int vector, bool msix) in vfio_msi_alloc_irq() argument 439 if (irq > 0 || !msix || !vdev->has_dyn_msix) in vfio_msi_alloc_irq() 450 unsigned int vector, int fd, bool msix) in vfio_msi_set_vector_signal() argument 477 irq = vfio_msi_alloc_irq(vdev, vector, msix); in vfio_msi_set_vector_signal() 487 msix ? "x" : "", vector, pci_name(pdev)); in vfio_msi_set_vector_signal() 505 if (msix) { in vfio_msi_set_vector_signal() [all …]
|
/openbmc/qemu/hw/vfio/ |
H A D | pci.c | 359 set_bit(nr, vdev->msix->pending); in vfio_msi_interrupt() 402 static int vfio_enable_vectors(VFIOPCIDevice *vdev, bool msix) in vfio_enable_vectors() argument 417 if (msix && !vdev->msix->noresize) { in vfio_enable_vectors() 430 irq_set->index = msix ? VFIO_PCI_MSIX_IRQ_INDEX : VFIO_PCI_MSI_IRQ_INDEX; in vfio_enable_vectors() 446 (msix && msix_is_masked(&vdev->pdev, i))) { in vfio_enable_vectors() 464 int vector_n, bool msix) in vfio_add_kvm_msi_virq() argument 466 if ((msix && vdev->no_kvm_msix) || (!msix && vdev->no_kvm_msi)) { in vfio_add_kvm_msi_virq() 578 if (vdev->msix->noresize && resizing) { in vfio_msix_vector_do_use() 604 clear_bit(nr, vdev->msix->pending); in vfio_msix_vector_do_use() 605 if (find_first_bit(vdev->msix->pending, in vfio_msix_vector_do_use() [all …]
|
/openbmc/linux/Documentation/devicetree/bindings/interrupt-controller/ |
H A D | al,alpine-msix.txt | 7 - compatible: should be "al,alpine-msix" 17 msix: msix { 18 compatible = "al,alpine-msix";
|
/openbmc/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()
|
/openbmc/qemu/hw/net/ |
H A D | igbvf.c | 59 MemoryRegion msix; member 256 memory_region_init(&s->msix, OBJECT(dev), "igbvf-msix", IGBVF_MSIX_SIZE); in igbvf_pci_realize() 257 pcie_sriov_vf_register_bar(dev, IGBVF_MSIX_BAR_IDX, &s->msix); in igbvf_pci_realize() 259 ret = msix_init(dev, IGBVF_MSIX_VEC_NUM, &s->msix, IGBVF_MSIX_BAR_IDX, 0, in igbvf_pci_realize() 260 &s->msix, IGBVF_MSIX_BAR_IDX, 0x2000, 0x70, errp); in igbvf_pci_realize() 299 msix_uninit(dev, &s->msix, &s->msix); in igbvf_pci_uninit()
|
H A D | igb.c | 76 MemoryRegion msix; member 298 &s->msix, in igb_init_msix() 300 &s->msix, in igb_init_msix() 317 msix_uninit(PCI_DEVICE(s), &s->msix, &s->msix); in igb_cleanup_msix() 415 memory_region_init(&s->msix, OBJECT(s), "igb-msix", in igb_pci_realize() 418 PCI_BASE_ADDRESS_MEM_TYPE_64, &s->msix); in igb_pci_realize()
|
H A D | e1000e.c | 70 MemoryRegion msix; member 293 &s->msix, in e1000e_init_msix() 295 &s->msix, in e1000e_init_msix() 311 msix_uninit(PCI_DEVICE(s), &s->msix, &s->msix); in e1000e_cleanup_msix() 454 memory_region_init(&s->msix, OBJECT(s), "e1000e-msix", in e1000e_pci_realize() 457 PCI_BASE_ADDRESS_SPACE_MEMORY, &s->msix); in e1000e_pci_realize()
|
/openbmc/linux/drivers/rapidio/devices/ |
H A D | tsi721.c | 616 mbox = (irq - priv->msix[TSI721_VECT_OMB0_DONE].vector) % RIO_MAX_MBOX; in tsi721_omsg_msix() 633 mbox = (irq - priv->msix[TSI721_VECT_IMB0_RCV].vector) % RIO_MAX_MBOX; in tsi721_imsg_msix() 697 err = request_irq(priv->msix[TSI721_VECT_IDB].vector, in tsi721_request_msix() 699 priv->msix[TSI721_VECT_IDB].irq_name, (void *)priv); in tsi721_request_msix() 703 err = request_irq(priv->msix[TSI721_VECT_PWRX].vector, in tsi721_request_msix() 705 priv->msix[TSI721_VECT_PWRX].irq_name, (void *)priv); in tsi721_request_msix() 707 free_irq(priv->msix[TSI721_VECT_IDB].vector, (void *)priv); in tsi721_request_msix() 771 priv->msix[TSI721_VECT_IDB].vector = entries[TSI721_VECT_IDB].vector; in tsi721_enable_msix() 772 snprintf(priv->msix[TSI721_VECT_IDB].irq_name, IRQ_DEVICE_NAME_MAX, in tsi721_enable_msix() 774 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() 770 synchronize_irq(priv->msix[TSI721_VECT_DMA0_DONE + in tsi721_sync_dma_irq() 772 synchronize_irq(priv->msix[TSI721_VECT_DMA0_INT + in tsi721_sync_dma_irq()
|
/openbmc/linux/drivers/net/ethernet/cisco/enic/ |
H A D | enic_main.c | 121 (cpumask_available(enic->msix[i].affinity_mask) && in enic_init_affinity_hint() 122 !cpumask_empty(enic->msix[i].affinity_mask))) in enic_init_affinity_hint() 124 if (zalloc_cpumask_var(&enic->msix[i].affinity_mask, in enic_init_affinity_hint() 127 enic->msix[i].affinity_mask); in enic_init_affinity_hint() 138 free_cpumask_var(enic->msix[i].affinity_mask); in enic_free_affinity_hint() 150 !cpumask_available(enic->msix[i].affinity_mask) || in enic_set_affinity_hint() 151 cpumask_empty(enic->msix[i].affinity_mask)) in enic_set_affinity_hint() 154 enic->msix[i].affinity_mask); in enic_set_affinity_hint() 163 if (cpumask_available(enic->msix[wq_intr].affinity_mask) && in enic_set_affinity_hint() 164 !cpumask_empty(enic->msix[wq_intr].affinity_mask)) in enic_set_affinity_hint() [all …]
|
/openbmc/linux/drivers/irqchip/ |
H A D | irq-gic-v3-its-pci-msi.c | 35 int msi, msix, *count = data; in its_pci_msi_vec_count() local 38 msix = max(pci_msix_vec_count(pdev), 0); in its_pci_msi_vec_count() 39 *count += max(msi, msix); in its_pci_msi_vec_count()
|
/openbmc/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";
|
/openbmc/linux/drivers/edac/ |
H A D | thunderx_edac.c | 1077 struct msix_entry *msix = irq_id; in thunderx_ocx_com_isr() local 1078 struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx, in thunderx_ocx_com_isr() 1079 msix_ent[msix->entry]); in thunderx_ocx_com_isr() 1106 struct msix_entry *msix = irq_id; in thunderx_ocx_com_threaded_isr() local 1107 struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx, in thunderx_ocx_com_threaded_isr() 1108 msix_ent[msix->entry]); in thunderx_ocx_com_threaded_isr() 1170 struct msix_entry *msix = irq_id; in thunderx_ocx_lnk_isr() local 1171 struct thunderx_ocx *ocx = container_of(msix, struct thunderx_ocx, in thunderx_ocx_lnk_isr() 1172 msix_ent[msix->entry]); in thunderx_ocx_lnk_isr() 1177 ctx->link = msix->entry; in thunderx_ocx_lnk_isr() [all …]
|
/openbmc/u-boot/drivers/virtio/ |
H A D | virtio_pci.h | 52 #define VIRTIO_PCI_CONFIG_OFF(msix) ((msix) ? 24 : 20) argument
|
/openbmc/linux/drivers/ntb/hw/amd/ |
H A D | ntb_hw_amd.c | 727 ndev->msix = kcalloc_node(msix_max, sizeof(*ndev->msix), in ndev_init_isr() 729 if (!ndev->msix) in ndev_init_isr() 733 ndev->msix[i].entry = i; in ndev_init_isr() 735 msix_count = pci_enable_msix_range(pdev, ndev->msix, in ndev_init_isr() 751 rc = request_irq(ndev->msix[i].vector, ndev_vec_isr, 0, in ndev_init_isr() 764 free_irq(ndev->msix[i].vector, &ndev->vec[i]); in ndev_init_isr() 767 kfree(ndev->msix); in ndev_init_isr() 771 ndev->msix = NULL; in ndev_init_isr() 822 if (ndev->msix) { in ndev_deinit_isr() 825 free_irq(ndev->msix[i].vector, &ndev->vec[i]); in ndev_deinit_isr() [all …]
|
/openbmc/linux/arch/arm64/boot/dts/amazon/ |
H A D | alpine-v2.dtsi | 142 msi-parent = <&msix>; 145 msix: msix@fbe00000 { label 146 compatible = "al,alpine-msix";
|