diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2022-11-25 02:26:31 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2022-12-06 00:22:35 +0300 |
commit | c9e5bea273834a63b5e9ba90ad94b305ba50704e (patch) | |
tree | ef5fba1bb987636dd395aab8045ed5d91afcf5cd /include/linux/pci.h | |
parent | 0194425af0c87acaad457989a2c6d90dba58e776 (diff) | |
download | linux-c9e5bea273834a63b5e9ba90ad94b305ba50704e.tar.xz |
PCI/MSI: Provide pci_ims_alloc/free_irq()
Single vector allocation which allocates the next free index in the IMS
space. The free function releases.
All allocated vectors are released also via pci_free_vectors() which is
also releasing MSI/MSI-X vectors.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221124232326.961711347@linutronix.de
Diffstat (limited to 'include/linux/pci.h')
-rw-r--r-- | include/linux/pci.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/pci.h b/include/linux/pci.h index 1592b630d919..aa514b54c681 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -2491,6 +2491,9 @@ struct msi_domain_template; bool pci_create_ims_domain(struct pci_dev *pdev, const struct msi_domain_template *template, unsigned int hwsize, void *data); +struct msi_map pci_ims_alloc_irq(struct pci_dev *pdev, union msi_instance_cookie *icookie, + const struct irq_affinity_desc *affdesc); +void pci_ims_free_irq(struct pci_dev *pdev, struct msi_map map); #include <linux/dma-mapping.h> |