openwrt/target/linux/bcm27xx/patches-6.1/950-1246-fixup-irqchip-irq-bcm2712-mip-Support-for-2712-s-MIP.patch
Marty Jones 2e715fb4fc bcm27xx: update 6.1 patches to latest version
Add support for BCM2712 (Raspberry Pi 5).
3bb5880ab3
Patches were generated from the diff between linux kernel branch linux-6.1.y
and rpi-6.1.y from raspberry pi kernel source:
- git format-patch linux-6.1.y...rpi-6.1.y

Build system: x86_64
Build-tested: bcm2708, bcm2709, bcm2710, bcm2711
Run-tested: bcm2710/RPi3B, bcm2711/RPi4B

Signed-off-by: Marty Jones <mj8263788@gmail.com>
[Remove applied and reverted patches, squash patches and config commits]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-01-25 17:46:45 +01:00

39 lines
1.2 KiB
Diff

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);