genirq/msi: Provide BUS_DEVICE_PCI_MSI[X]
authorThomas Gleixner <tglx@linutronix.de>
Thu, 24 Nov 2022 23:26:02 +0000 (00:26 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 5 Dec 2022 21:22:32 +0000 (22:22 +0100)
Provide new bus tokens for the upcoming per device PCI/MSI and PCI/MSIX
interrupt domains.

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/20221124232325.917219885@linutronix.de
include/linux/irqdomain_defs.h
kernel/irq/msi.c

index 69035b4..b3f4b7e 100644 (file)
@@ -21,6 +21,8 @@ enum irq_domain_bus_token {
        DOMAIN_BUS_TI_SCI_INTA_MSI,
        DOMAIN_BUS_WAKEUP,
        DOMAIN_BUS_VMD_MSI,
+       DOMAIN_BUS_PCI_DEVICE_MSI,
+       DOMAIN_BUS_PCI_DEVICE_MSIX,
 };
 
 #endif /* _LINUX_IRQDOMAIN_DEFS_H */
index ae58692..0749e66 100644 (file)
@@ -1118,6 +1118,8 @@ static bool msi_check_reservation_mode(struct irq_domain *domain,
 
        switch(domain->bus_token) {
        case DOMAIN_BUS_PCI_MSI:
+       case DOMAIN_BUS_PCI_DEVICE_MSI:
+       case DOMAIN_BUS_PCI_DEVICE_MSIX:
        case DOMAIN_BUS_VMD_MSI:
                break;
        default:
@@ -1143,6 +1145,8 @@ static int msi_handle_pci_fail(struct irq_domain *domain, struct msi_desc *desc,
 {
        switch(domain->bus_token) {
        case DOMAIN_BUS_PCI_MSI:
+       case DOMAIN_BUS_PCI_DEVICE_MSI:
+       case DOMAIN_BUS_PCI_DEVICE_MSIX:
        case DOMAIN_BUS_VMD_MSI:
                if (IS_ENABLED(CONFIG_PCI_MSI))
                        break;