Home
last modified time | relevance | path

Searched refs:msi_map (Results 1 – 21 of 21) sorted by relevance

/linux/drivers/iommu/iommufd/
H A Ddriver.c219 struct iommufd_sw_msi_map *msi_map) in iommufd_sw_msi_install() argument
225 iova = msi_map->sw_msi_start + msi_map->pgoff * PAGE_SIZE; in iommufd_sw_msi_install()
226 if (!test_bit(msi_map->id, hwpt_paging->present_sw_msi.bitmap)) { in iommufd_sw_msi_install()
230 msi_map->msi_addr, PAGE_SIZE, in iommufd_sw_msi_install()
235 __set_bit(msi_map->id, hwpt_paging->present_sw_msi.bitmap); in iommufd_sw_msi_install()
254 struct iommufd_sw_msi_map *msi_map; in iommufd_sw_msi() local
284 msi_map = iommufd_sw_msi_get_map(handle->idev->ictx, in iommufd_sw_msi()
287 if (IS_ERR(msi_map)) in iommufd_sw_msi()
288 return PTR_ERR(msi_map); in iommufd_sw_msi()
290 rc = iommufd_sw_msi_install(ictx, hwpt_paging, msi_map); in iommufd_sw_msi()
[all …]
H A Diommufd_private.h40 struct iommufd_sw_msi_map *msi_map);
/linux/drivers/irqchip/
H A Dirq-alpine-msi.c37 unsigned long *msi_map; member
45 first = bitmap_find_next_zero_area(priv->msi_map, priv->num_spis, 0, num_req, 0); in alpine_msix_allocate_sgi()
49 bitmap_set(priv->msi_map, first, num_req); in alpine_msix_allocate_sgi()
58 bitmap_clear(priv->msi_map, first, num_req); in alpine_msix_free_sgi()
230 unsigned long *msi_map __free(kfree) = bitmap_zalloc(priv->num_spis, GFP_KERNEL); in alpine_msix_init()
232 if (!msi_map) in alpine_msix_init()
234 priv->msi_map = msi_map; in alpine_msix_init()
243 retain_and_null_ptr(msi_map); in alpine_msix_init()
H A Dirq-loongson-pch-msi.c28 unsigned long *msi_map; member
39 first = bitmap_find_free_region(priv->msi_map, priv->num_irqs, in pch_msi_allocate_hwirq()
57 bitmap_release_region(priv->msi_map, first, get_count_order(num_req)); in pch_msi_free_hwirq()
190 priv->msi_map = bitmap_zalloc(priv->num_irqs, GFP_KERNEL); in pch_msi_init()
191 if (!priv->msi_map) in pch_msi_init()
205 bitmap_free(priv->msi_map); in pch_msi_init()
H A Dirq-sg2042-msi.c47 unsigned long *msi_map; member
58 first = bitmap_find_free_region(data->msi_map, data->num_irqs, in sg204x_msi_allocate_hwirq()
66 bitmap_release_region(data->msi_map, hwirq, get_count_order(num_req)); in sg204x_msi_free_hwirq()
308 data->msi_map = devm_bitmap_zalloc(&pdev->dev, data->num_irqs, GFP_KERNEL); in sg2042_msi_probe()
309 if (!data->msi_map) { in sg2042_msi_probe()
/linux/drivers/net/ethernet/intel/ice/
H A Dice_irq.h31 struct msi_map ice_alloc_irq(struct ice_pf *pf, bool dyn_only);
32 void ice_free_irq(struct ice_pf *pf, struct msi_map map);
H A Dice_irq.c183 struct msi_map ice_alloc_irq(struct ice_pf *pf, bool dyn_allowed) in ice_alloc_irq()
185 struct msi_map map = { .index = -ENOENT }; in ice_alloc_irq()
219 void ice_free_irq(struct ice_pf *pf, struct msi_map map) in ice_free_irq()
H A Dice_idc.c235 struct msi_map map; in ice_alloc_rdma_qvector()
261 struct msi_map map; in ice_free_rdma_qvector()
H A Dice.h492 struct msi_map irq;
612 struct msi_map oicr_irq; /* Other interrupt cause MSIX vector */
613 struct msi_map ll_ts_irq; /* LL_TS interrupt MSIX vector */
H A Dice_main.c3442 struct msi_map irq; in ice_req_irq_msix_misc()
/linux/drivers/pci/msi/
H A Dapi.c148 struct msi_map pci_msix_alloc_irq_at(struct pci_dev *dev, unsigned int index, in pci_msix_alloc_irq_at()
151 struct msi_map map = { .index = -ENOTSUPP }; in pci_msix_alloc_irq_at()
171 void pci_msix_free_irq(struct pci_dev *dev, struct msi_map map) in pci_msix_free_irq()
/linux/include/linux/
H A Dmsi_api.h46 struct msi_map { struct
H A Dpci.h1768 struct msi_map pci_msix_alloc_irq_at(struct pci_dev *dev, unsigned int index,
1770 void pci_msix_free_irq(struct pci_dev *pdev, struct msi_map map);
1811 static inline struct msi_map pci_msix_alloc_irq_at(struct pci_dev *dev, unsigned int index, in pci_msix_alloc_irq_at()
1814 struct msi_map map = { .index = -ENOSYS, }; in pci_msix_alloc_irq_at()
1819 static inline void pci_msix_free_irq(struct pci_dev *pdev, struct msi_map map) in pci_msix_free_irq()
H A Dmsi.h659 struct msi_map msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, unsigned int index,
/linux/drivers/pci/controller/
H A Dpcie-xilinx.c107 unsigned long msi_map[BITS_TO_LONGS(XILINX_NUM_MSI_IRQS)]; member
230 hwirq = bitmap_find_free_region(pcie->msi_map, XILINX_NUM_MSI_IRQS, order_base_2(nr_irqs)); in xilinx_msi_domain_alloc()
253 bitmap_release_region(pcie->msi_map, d->hwirq, order_base_2(nr_irqs)); in xilinx_msi_domain_free()
/linux/drivers/vdpa/mlx5/net/
H A Dmlx5_vnet.h32 struct msi_map map;
H A Dmlx5_vnet.c99 struct msi_map map;
141 struct msi_map map;
/linux/kernel/irq/
H A Dmsi.c1477 static struct msi_map __msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, in __msi_domain_alloc_irq_at()
1484 struct msi_map map = { }; in __msi_domain_alloc_irq_at()
1547 struct msi_map msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, unsigned int index, in msi_domain_alloc_irq_at()
1582 struct msi_map map = { }; in msi_device_domain_alloc_wired()
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Dpci_irq.c36 struct msi_map map;
/linux/drivers/vfio/pci/
H A Dvfio_pci_intrs.c430 struct msi_map map; in vfio_msi_alloc_irq()
/linux/drivers/net/ethernet/microsoft/mana/
H A Dgdma_main.c1826 struct msi_map irq_map; in mana_gd_setup_remaining_irqs()