The default flags for freshly allocated interrupts are platform dependent,
and apparently powerpc and arm set IRQ_NOREQUEST by default.

The normal path is to clear this flag from irq_domain_associate_locked(),
which wraps the irq domain's "map" function, but the xe driver does not
define an irq domain and instead allocates the irq descriptor directly, so
the flags need to be set up manually as well.

Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6468
Fixes: 87a4c85d3a3ed579c86fd2612715ccb94c4001ff
Cc: <[email protected]> # v6.7+
Signed-off-by: Simon Richter <[email protected]>
---
 drivers/gpu/drm/xe/xe_heci_gsc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/xe/xe_heci_gsc.c b/drivers/gpu/drm/xe/xe_heci_gsc.c
index 5af8903e10af..3c4972a9922c 100644
--- a/drivers/gpu/drm/xe/xe_heci_gsc.c
+++ b/drivers/gpu/drm/xe/xe_heci_gsc.c
@@ -39,6 +39,7 @@ static int heci_gsc_irq_init(int irq)
        irq_set_chip_and_handler_name(irq, &heci_gsc_irq_chip,
                                      handle_simple_irq, 
"heci_gsc_irq_handler");
 
+       irq_modify_status(irq, IRQ_NOREQUEST | IRQ_NOAUTOEN, IRQ_NOPROBE);
        return irq_set_chip_data(irq, NULL);
 }
 
-- 
2.47.3

Reply via email to