/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() [all...] |
H A D | iommufd_private.h | 39 struct iommufd_sw_msi_map *msi_map);
|
/linux/drivers/irqchip/ |
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 | 33 * @msi_map: mapping for allocated MSI vectors. 34 * @msi_map_lock: Lock for msi_map 45 unsigned long *msi_map; member 56 first = bitmap_find_free_region(data->msi_map, data->num_irqs, in sg204x_msi_allocate_hwirq() 64 bitmap_release_region(data->msi_map, hwirq, get_count_order(num_req)); in sg204x_msi_free_hwirq() 296 data->msi_map = devm_bitmap_zalloc(&pdev->dev, data->num_irqs, GFP_KERNEL); in sg2042_msi_probe() 297 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 | 166 * return struct msi_map with interrupt details and track 182 struct msi_map ice_alloc_irq(struct ice_pf *pf, bool dyn_allowed) in ice_alloc_irq() 184 struct msi_map map = { .index = -ENOENT }; in ice_alloc_irq() 218 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 | 483 struct msi_map irq; 605 struct msi_map oicr_irq; /* Other interrupt cause MSIX vector */ 606 struct msi_map ll_ts_irq; /* LL_TS interrupt MSIX vector */
|
H A D | ice_main.c | 3471 struct msi_map irq; in ice_req_irq_msix_misc()
|
/linux/drivers/pci/msi/ |
H A D | api.c | 140 * Return: A struct msi_map 142 * On success msi_map::index contains the allocated index (>= 0) and 143 * msi_map::virq contains the allocated Linux interrupt number (> 0). 145 * On fail msi_map::index contains the error code and msi_map::virq 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() 167 * @map: A struct msi_map describing the interrupt to free 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 | 39 * msi_map - Mapping between MSI index and Linux interrupt number 46 struct msi_map { struct 47 indexmsi_map global() argument 48 virqmsi_map global() argument
|
/linux/drivers/pci/controller/ |
H A D | pcie-xilinx.c | 98 * @msi_map: Bitmap of allocated MSIs 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/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() 1539 * Return: struct msi_map 1541 * On success msi_map::index contains the allocated index number and 1542 * msi_map::virq the corresponding Linux interrupt number 1544 * On failure msi_map::index contains the error code and msi_map::virq 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/net/ethernet/microsoft/mana/ |
H A D | gdma_main.c | 1746 struct msi_map irq_map; in mana_gd_setup_remaining_irqs()
|
/linux/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt.c | 11203 struct msi_map map; in bnxt_change_msix()
|