Commit e6cc6f17 authored by Reinette Chatre's avatar Reinette Chatre Committed by Thomas Gleixner

PCI/MSI: Clarify usage of pci_msix_free_irq()

pci_msix_free_irq() is used to free an interrupt on a PCI/MSI-X interrupt
domain.

The API description specifies that the interrupt to be freed was allocated
via pci_msix_alloc_irq_at().  This description limits the usage of
pci_msix_free_irq() since pci_msix_free_irq() can also be used to free
MSI-X interrupts allocated with, for example, pci_alloc_irq_vectors().

Remove the text stating that the interrupt to be freed had to be allocated
with pci_msix_alloc_irq_at(). The needed struct msi_map need not be from
pci_msix_alloc_irq_at() but can be created from scratch using
pci_irq_vector() to obtain the Linux IRQ number. Highlight that
pci_msix_free_irq() cannot be used to disable MSI-X to guide users that,
for example, pci_free_irq_vectors() remains to be needed.
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/lkml/87r0xsd8j4.ffs@tglx
Link: https://lore.kernel.org/r/4c3e7a50d6e70f408812cd7ab199c6b4b326f9de.1676408572.git.reinette.chatre@intel.com
parent 0af2795f
...@@ -163,11 +163,11 @@ EXPORT_SYMBOL_GPL(pci_msix_alloc_irq_at); ...@@ -163,11 +163,11 @@ EXPORT_SYMBOL_GPL(pci_msix_alloc_irq_at);
/** /**
* pci_msix_free_irq - Free an interrupt on a PCI/MSIX interrupt domain * pci_msix_free_irq - Free an interrupt on a PCI/MSIX interrupt domain
* which was allocated via pci_msix_alloc_irq_at()
* *
* @dev: The PCI device to operate on * @dev: The PCI device to operate on
* @map: A struct msi_map describing the interrupt to free * @map: A struct msi_map describing the interrupt to free
* as returned from the allocation function. *
* Undo an interrupt vector allocation. Does not disable MSI-X.
*/ */
void pci_msix_free_irq(struct pci_dev *dev, struct msi_map map) void pci_msix_free_irq(struct pci_dev *dev, struct msi_map map)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment