| /linux/drivers/iommu/iommufd/ |
| H A D | driver.c | 219 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 D | iommufd_private.h | 40 struct iommufd_sw_msi_map *msi_map);
|
| /linux/drivers/irqchip/ |
| H A D | irq-alpine-msi.c | 37 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 D | irq-loongson-pch-msi.c | 28 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 D | irq-sg2042-msi.c | 47 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 D | ice_irq.h | 31 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 D | ice_irq.c | 183 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 D | ice_idc.c | 235 struct msi_map map; in ice_alloc_rdma_qvector() 261 struct msi_map map; in ice_free_rdma_qvector()
|
| H A D | ice.h | 492 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 D | ice_main.c | 3442 struct msi_map irq; in ice_req_irq_msix_misc()
|
| /linux/drivers/pci/msi/ |
| H A D | api.c | 148 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 D | msi_api.h | 46 struct msi_map { struct
|
| H A D | pci.h | 1768 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 D | msi.h | 659 struct msi_map msi_domain_alloc_irq_at(struct device *dev, unsigned int domid, unsigned int index,
|
| /linux/drivers/pci/controller/ |
| H A D | pcie-xilinx.c | 107 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 D | mlx5_vnet.h | 32 struct msi_map map;
|
| H A D | mlx5_vnet.c | 99 struct msi_map map; 141 struct msi_map map;
|
| /linux/kernel/irq/ |
| H A D | msi.c | 1477 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 D | pci_irq.c | 36 struct msi_map map;
|
| /linux/drivers/vfio/pci/ |
| H A D | vfio_pci_intrs.c | 430 struct msi_map map; in vfio_msi_alloc_irq()
|
| /linux/drivers/net/ethernet/microsoft/mana/ |
| H A D | gdma_main.c | 1826 struct msi_map irq_map; in mana_gd_setup_remaining_irqs()
|