Thread (34 messages) flat view 34 messages, 3 authors, 2021-08-12

[irqchip: irq/irqchip-next] genirq/msi: Provide default .irq_eoi() for MSI chips

From: irqchip-bot for Valentin Schneider <hidden>
Date: 2021-08-12 15:13:14
Subsystem: driver core, kobjects, debugfs and sysfs, irq domains (irq number mapping library), irq subsystem, the rest · Maintainers: Greg Kroah-Hartman, "Rafael J. Wysocki", Danilo Krummrich, Thomas Gleixner, Linus Torvalds

The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID:     9b632bd34cea53fcfd3f41f89596d87573676050
Gitweb:        https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/9b632bd34cea53fcfd3f41f89596d87573676050
Author:        Valentin Schneider [off-list ref]
AuthorDate:    Tue, 29 Jun 2021 13:50:05 +01:00
Committer:     Marc Zyngier [off-list ref]
CommitterDate: Thu, 12 Aug 2021 15:48:20 +01:00

genirq/msi: Provide default .irq_eoi() for MSI chips

Currently only platform-MSI irqchips get a default .irq_eoi() when
MSI_FLAG_USE_DEF_CHIP_OPS is set. There's no reason PCI-MSI irqchips
couldn't benefit from this too, so let all MSI irqchips benefit from this
default.

Signed-off-by: Valentin Schneider <redacted>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210629125010.458872-9-valentin.schneider@arm.com (local)
---
 drivers/base/platform-msi.c | 2 --
 kernel/irq/msi.c            | 2 ++
 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/base/platform-msi.c b/drivers/base/platform-msi.c
index 0b72b13..659881d 100644
--- a/drivers/base/platform-msi.c
+++ b/drivers/base/platform-msi.c
@@ -101,8 +101,6 @@ static void platform_msi_update_chip_ops(struct msi_domain_info *info)
 		chip->irq_mask = irq_chip_mask_parent;
 	if (!chip->irq_unmask)
 		chip->irq_unmask = irq_chip_unmask_parent;
-	if (!chip->irq_eoi)
-		chip->irq_eoi = irq_chip_eoi_parent;
 	if (!chip->irq_set_affinity)
 		chip->irq_set_affinity = msi_domain_set_affinity;
 	if (!chip->irq_write_msi_msg)
diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
index c41965e..c975909 100644
--- a/kernel/irq/msi.c
+++ b/kernel/irq/msi.c
@@ -274,6 +274,8 @@ static void msi_domain_update_chip_ops(struct msi_domain_info *info)
 	BUG_ON(!chip || !chip->irq_mask || !chip->irq_unmask);
 	if (!chip->irq_set_affinity)
 		chip->irq_set_affinity = msi_domain_set_affinity;
+	if (!chip->irq_eoi)
+		chip->irq_eoi = irq_chip_eoi_parent;
 }
 
 /**
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help