genirq/msi: Make MSI descriptor iterators device domain aware
authorThomas Gleixner <tglx@linutronix.de>
Thu, 24 Nov 2022 23:24:24 +0000 (00:24 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 5 Dec 2022 18:20:59 +0000 (19:20 +0100)
commit94ff94cfea2827e287a42781a47f37c9ef82186b
tree890b040987d0b8ec0293ccaad08f2c7de064d52f
parent64258eaa442b0b7d7eac8942cf27863ad9e6028e
genirq/msi: Make MSI descriptor iterators device domain aware

To support multiple MSI interrupt domains per device it is necessary to
segment the xarray MSI descriptor storage. Each domain gets up to
MSI_MAX_INDEX entries.

Change the iterators so they operate with domain ids and take the domain
offsets into account.

The publicly available iterators which are mostly used in legacy
implementations and the PCI/MSI core default to MSI_DEFAULT_DOMAIN (0)
which is the id for the existing "global" domains.

No functional change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221124230313.985498981@linutronix.de
include/linux/msi.h
kernel/irq/msi.c