]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
PCI/MSI: Remove the conditional parent [un]mask logic
authorThomas Gleixner <tglx@linutronix.de>
Wed, 3 Sep 2025 14:04:48 +0000 (16:04 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 9 Sep 2025 12:44:30 +0000 (14:44 +0200)
Now that msi_lib_init_dev_msi_info() overwrites the irq_[un]mask()
callbacks when the MSI_FLAG_PCI_MSI_MASK_PARENT flag is set by the parent
domain, the conditional [un]mask logic is obsolete.

Remove it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Marc Zyngier <maz@kernel.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/all/20250903135433.444329373@linutronix.de
drivers/pci/msi/irqdomain.c

index b11b7f63f0d6fcb192a20d6e2b96745b831a02f4..dfb61f152702bd0b5b796ffa72b832758a268ae2 100644 (file)
@@ -170,22 +170,6 @@ static unsigned int cond_startup_parent(struct irq_data *data)
        return 0;
 }
 
-static __always_inline void cond_mask_parent(struct irq_data *data)
-{
-       struct msi_domain_info *info = data->domain->host_data;
-
-       if (unlikely(info->flags & MSI_FLAG_PCI_MSI_MASK_PARENT))
-               irq_chip_mask_parent(data);
-}
-
-static __always_inline void cond_unmask_parent(struct irq_data *data)
-{
-       struct msi_domain_info *info = data->domain->host_data;
-
-       if (unlikely(info->flags & MSI_FLAG_PCI_MSI_MASK_PARENT))
-               irq_chip_unmask_parent(data);
-}
-
 static void pci_irq_shutdown_msi(struct irq_data *data)
 {
        struct msi_desc *desc = irq_data_get_msi_desc(data);
@@ -208,14 +192,12 @@ static void pci_irq_mask_msi(struct irq_data *data)
        struct msi_desc *desc = irq_data_get_msi_desc(data);
 
        pci_msi_mask(desc, BIT(data->irq - desc->irq));
-       cond_mask_parent(data);
 }
 
 static void pci_irq_unmask_msi(struct irq_data *data)
 {
        struct msi_desc *desc = irq_data_get_msi_desc(data);
 
-       cond_unmask_parent(data);
        pci_msi_unmask(desc, BIT(data->irq - desc->irq));
 }
 
@@ -268,12 +250,10 @@ static unsigned int pci_irq_startup_msix(struct irq_data *data)
 static void pci_irq_mask_msix(struct irq_data *data)
 {
        pci_msix_mask(irq_data_get_msi_desc(data));
-       cond_mask_parent(data);
 }
 
 static void pci_irq_unmask_msix(struct irq_data *data)
 {
-       cond_unmask_parent(data);
        pci_msix_unmask(irq_data_get_msi_desc(data));
 }