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>
Cc: Bjorn Helgaas <bhelgaas@google.com>
---
drivers/pci/msi/irqdomain.c | 20 --------------------
1 file changed, 20 deletions(-)
--- a/drivers/pci/msi/irqdomain.c
+++ b/drivers/pci/msi/irqdomain.c
@@ -170,22 +170,6 @@ static unsigned int cond_startup_parent(
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_
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
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));
}
On Wed, Sep 03, 2025 at 04:04:48PM +0200, Thomas Gleixner wrote: > 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> > Cc: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> > --- > drivers/pci/msi/irqdomain.c | 20 -------------------- > 1 file changed, 20 deletions(-) > > --- a/drivers/pci/msi/irqdomain.c > +++ b/drivers/pci/msi/irqdomain.c > @@ -170,22 +170,6 @@ static unsigned int cond_startup_parent( > 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_ > 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 > 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)); > } > >
The following commit has been merged into the irq/drivers branch of tip:
Commit-ID: ba9d484ed3578705fcd24795b800e8e4364afb8c
Gitweb: https://git.kernel.org/tip/ba9d484ed3578705fcd24795b800e8e4364afb8c
Author: Thomas Gleixner <tglx@linutronix.de>
AuthorDate: Wed, 03 Sep 2025 16:04:48 +02:00
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitterDate: Tue, 09 Sep 2025 14:44:30 +02:00
PCI/MSI: Remove the conditional parent [un]mask logic
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 | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/drivers/pci/msi/irqdomain.c b/drivers/pci/msi/irqdomain.c
index b11b7f6..dfb61f1 100644
--- a/drivers/pci/msi/irqdomain.c
+++ b/drivers/pci/msi/irqdomain.c
@@ -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));
}
© 2016 - 2025 Red Hat, Inc.