genirq/msi: Provide msi_alloc_msi_desc() and a simple allocator
Provide msi_alloc_msi_desc() which takes a template MSI descriptor for initializing a newly allocated descriptor. This allows to simplify various usage sites of alloc_msi_entry() and moves the storage handling into the core code. For simple cases where only a linear vector space is required provide msi_add_simple_msi_descs() which just allocates a linear range of MSI descriptors and fills msi_desc::msi_index accordingly. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Michael Kelley <mikelley@microsoft.com> Tested-by: Nishanth Menon <nm@ti.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/20211206210747.873833567@linutronix.de
This commit is contained in:
parent
1046f71d72
commit
6029052536
2 changed files with 61 additions and 0 deletions
|
|
@ -247,6 +247,8 @@ static inline void pci_write_msi_msg(unsigned int irq, struct msi_msg *msg)
|
|||
}
|
||||
#endif /* CONFIG_PCI_MSI */
|
||||
|
||||
int msi_add_msi_desc(struct device *dev, struct msi_desc *init_desc);
|
||||
|
||||
struct msi_desc *alloc_msi_entry(struct device *dev, int nvec,
|
||||
const struct irq_affinity_desc *affinity);
|
||||
void free_msi_entry(struct msi_desc *entry);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue