8e9d8212bc5f7d3c1fd79499c2a18926e3148f1c
[openwrt/openwrt.git] / target / linux / bcm27xx / patches-5.15 / 950-0667-ARM-dts-BCM2711-AON_INTR2-generates-IRQ-edges.patch
1 From 3050e07453791b8dfecf355a03cee075ec687a55 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Fri, 21 Jan 2022 12:24:57 +0000
4 Subject: [PATCH] ARM: dts: BCM2711 AON_INTR2 generates IRQ edges
5
6 THe AON_INTR2 controller manages the HDMI interrupts, combining them
7 into a single interrupt passed to the GIC. bcm2711.dtsi declares the
8 interrupt as being IRQ_TYPE_LEVEL_HIGH, but it should be
9 IRQ_TYPE_EDGE_RISING. Most of the time the distinction shouldn't
10 matter, but there is a small possibility of losing interrupts unless
11 it is corrected.
12
13 See: http://lists.infradead.org/pipermail/linux-arm-kernel/2022-January/710292.html
14
15 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
16 ---
17 arch/arm/boot/dts/bcm2711.dtsi | 4 ++--
18 1 file changed, 2 insertions(+), 2 deletions(-)
19
20 --- a/arch/arm/boot/dts/bcm2711.dtsi
21 +++ b/arch/arm/boot/dts/bcm2711.dtsi
22 @@ -320,7 +320,7 @@
23 aon_intr: interrupt-controller@7ef00100 {
24 compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
25 reg = <0x7ef00100 0x30>;
26 - interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
27 + interrupts = <GIC_SPI 96 IRQ_TYPE_EDGE_RISING>;
28 interrupt-controller;
29 #interrupt-cells = <1>;
30 status = "disabled";
31 @@ -403,7 +403,7 @@
32 <&clk_27MHz>;
33 resets = <&dvp 1>;
34 interrupt-parent = <&aon_intr>;
35 - interrupts = <8>, <7>, <6>,
36 + interrupts = <8>, <7>, <6>, // This is correct
37 <9>, <10>, <11>;
38 interrupt-names = "cec-tx", "cec-rx", "cec-low",
39 "wakeup", "hpd-connected", "hpd-removed";