This is version 4 of the series to convert ARM MSI handling over to per device MSI domains. Version 3 can be found here: https://lore.kernel.org/lkml/20240614102403.13610-1-shivamurthy.shastri@xxxxxxxxxxxxx The conversion aims to replace the existing platform MSI mechanism and enables ARM to support the future PCI/IMS mechanism. The infrastructure to replace the platform MSI mechanism is already upstream and in use by RISC-V and has been tested on various ARM platforms during the V2 development. Changes vs. V3: - Fix the conversion of the GIC V3 MBI driver - Marc - Dropped a few stray MSI_FLAG_PCI_MSI_MASK_PARENT flags - Dropped the trivial cleanup patches as they have been merged - Picked up tags The series is only lightly tested due to lack of hardware, so we rely on the people who have access to affected machines to help with testing. If there are no major objections raised or testing fallout reported, I'm aiming this series for the next merge window. The series is also available from git: git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git devmsi-arm-v4 Thanks, tglx --- b/drivers/base/platform-msi.c | 350 -------------------------- b/drivers/irqchip/Kconfig | 8 b/drivers/irqchip/Makefile | 4 b/drivers/irqchip/irq-gic-common.h | 3 b/drivers/irqchip/irq-gic-v2m.c | 80 +---- b/drivers/irqchip/irq-gic-v3-its-msi-parent.c | 210 +++++++++++++++ b/drivers/irqchip/irq-gic-v3-its.c | 5 b/drivers/irqchip/irq-gic-v3-mbi.c | 130 +++------ b/drivers/irqchip/irq-imx-mu-msi.c | 48 +-- b/drivers/irqchip/irq-mbigen.c | 96 ++----- b/drivers/irqchip/irq-msi-lib.c | 135 ++++++++++ b/drivers/irqchip/irq-msi-lib.h | 27 ++ b/drivers/irqchip/irq-mvebu-gicp.c | 44 +-- b/drivers/irqchip/irq-mvebu-icu.c | 275 ++++++++------------ b/drivers/irqchip/irq-mvebu-odmi.c | 37 +- b/drivers/irqchip/irq-mvebu-sei.c | 52 +-- b/drivers/pci/msi/irqdomain.c | 21 + b/include/linux/msi.h | 52 --- b/kernel/irq/msi.c | 95 +------ drivers/irqchip/irq-gic-v3-its-pci-msi.c | 202 --------------- drivers/irqchip/irq-gic-v3-its-platform-msi.c | 163 ------------ 21 files changed, 738 insertions(+), 1299 deletions(-)