]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
irqchip/gic-v3-its: Set IRQ_DOMAIN_FLAG_MSI_IMMUTABLE for ITS
authorFrank Li <Frank.Li@nxp.com>
Mon, 14 Apr 2025 18:30:57 +0000 (14:30 -0400)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 7 May 2025 15:49:00 +0000 (17:49 +0200)
Set the IRQ_DOMAIN_FLAG_MSI_IMMUTABLE flag for ITS, as it does not change
the address/data pair after setup.

Ensure compatibility with MSI users, such as PCIe Endpoint Doorbell, which
require the address/data pair to remain unchanged. Enable PCIe endpoints to
use ITS for triggering doorbells from the PCIe Root Complex (RC) side.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250414-ep-msi-v18-3-f69b49917464@nxp.com
drivers/irqchip/irq-gic-v3-its.c

index 0115ad6c82593de511c285d99437996919bfa308..fd6e7c170d37e888f58f2f07da82c95e7febaf8b 100644 (file)
@@ -5140,7 +5140,7 @@ static int its_init_domain(struct its_node *its)
        irq_domain_update_bus_token(inner_domain, DOMAIN_BUS_NEXUS);
 
        inner_domain->msi_parent_ops = &gic_v3_its_msi_parent_ops;
-       inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT;
+       inner_domain->flags |= IRQ_DOMAIN_FLAG_MSI_PARENT | IRQ_DOMAIN_FLAG_MSI_IMMUTABLE;
 
        return 0;
 }