openwrt/target/linux/bcm27xx/patches-6.1/950-1246-fixup-irqchip-irq-bcm2712-mip-Support-for-2712-s-MIP.patch

39 lines
1.2 KiB
Diff
Raw Normal View History

From 3bb5880ab3dd31f75c07c3c33bf29c5d469b28f3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Thu, 18 Jan 2024 15:41:21 +0000
Subject: [PATCH] fixup! irqchip: irq-bcm2712-mip: Support for 2712's MIP
Use irq_domain_add_hierarchy so that the root pointer is initialised
correctly. Failure to do so leads to (at least) lockdep warnings when
they are enabled.
See: https://github.com/raspberrypi/linux/issues/5866
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
drivers/irqchip/irq-bcm2712-mip.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
--- a/drivers/irqchip/irq-bcm2712-mip.c
+++ b/drivers/irqchip/irq-bcm2712-mip.c
@@ -209,16 +209,14 @@ static int mip_init_domains(struct mip_p
return -ENXIO;
}
- middle_domain = irq_domain_add_tree(NULL,
- &mip_irq_domain_ops,
- priv);
+ middle_domain = irq_domain_add_hierarchy(gic_domain, 0, 0, NULL,
+ &mip_irq_domain_ops,
+ priv);
if (!middle_domain) {
pr_err("Failed to create the MIP middle domain\n");
return -ENOMEM;
}
- middle_domain->parent = gic_domain;
-
msi_domain = pci_msi_create_irq_domain(of_node_to_fwnode(node),
&mip_msi_domain_info,
middle_domain);