Files
kernel-sophgo-sg2044-revyos…/include/linux
Inochi Amaoto b6baa72f10 PCI/MSI: Add startup/shutdown for per device domains
[ Upstream commit 54f45a30c0d0153d2be091ba2d683ab6db6d1d5b ]

As the RISC-V PLIC cannot apply affinity settings without invoking
irq_enable(), it will make the interrupt unavailble when used as an
underlying interrupt chip for the MSI controller.

Implement the irq_startup() and irq_shutdown() callbacks for the PCI MSI
and MSI-X templates.

For chips that specify MSI_FLAG_PCI_MSI_STARTUP_PARENT, the parent startup
and shutdown functions are invoked. That allows the interrupt on the parent
chip to be enabled if the interrupt has not been enabled during
allocation. This is necessary for MSI controllers which use PLIC as
underlying parent interrupt chip.

Suggested-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Chen Wang <unicorn_wang@outlook.com> # Pioneerbox
Reviewed-by: Chen Wang <unicorn_wang@outlook.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://lore.kernel.org/all/20250813232835.43458-3-inochiama@gmail.com
Stable-dep-of: 9d8c41816bac ("irqchip/sg2042-msi: Fix broken affinity setting")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-10-15 12:03:21 +02:00
..
2025-06-15 21:19:08 +05:30
2025-07-21 18:18:51 +01:00
2025-07-31 11:28:03 -04:00
2025-10-15 12:03:18 +02:00
2025-07-31 18:23:53 -07:00
2025-05-21 13:41:03 +02:00
2025-05-21 13:39:45 +02:00
2025-08-14 10:37:33 -07:00
2025-07-07 12:24:50 +02:00
2025-06-11 13:39:52 -04:00
2025-06-27 16:38:02 -07:00
2025-07-22 15:57:02 +00:00
2025-07-16 14:28:21 +02:00
2025-07-19 18:59:51 -07:00
2025-07-24 19:12:32 -07:00
2025-05-22 11:07:05 +02:00
2025-08-02 12:06:10 -07:00
2025-06-11 11:57:14 -07:00
2025-07-02 17:18:01 +01:00
2025-07-17 06:01:16 -06:00
2025-07-13 16:38:24 -07:00
2025-07-09 22:41:56 -07:00
2025-06-17 18:18:46 -07:00
2025-07-14 15:20:02 -07:00
2025-07-14 15:20:02 -07:00
2025-07-08 19:11:57 -04:00
2025-07-31 16:11:43 -05:00
2025-05-21 16:46:37 +02:00
2025-09-02 16:23:13 -07:00
2025-06-19 14:28:24 +02:00
2025-06-19 14:28:24 +02:00
2025-07-22 18:07:11 +02:00
2025-07-01 12:29:29 +02:00
2025-06-13 08:47:18 +02:00
2025-07-10 09:39:18 +02:00
2025-07-19 10:17:56 +05:30
2025-07-23 11:56:02 +02:00
2025-07-21 17:48:32 -07:00
2025-06-25 15:12:17 -07:00
2025-06-26 09:44:45 -07:00
2025-07-17 11:26:56 +02:00
2025-08-02 12:01:37 -07:00