2021-02-12 19:15:21

by Florian Fainelli

[permalink] [raw]
Subject: [PATCH] Revert "ARM: dts: bcm2711: Add the BSC interrupt controller"

As Dave reported:

This seems to have unintended side effects. GIC interrupt 117 is shared
between the standard I2C controllers (i2c-bcm2835) and the l2-intc block
handling the HDMI I2C interrupts.

There is not a great way to share an interrupt between an interrupt
controller using the chained IRQ handler which is an interrupt flow and
another driver like i2c-bcm2835 which uses an interrupt handler
(although it specifies IRQF_SHARED).

Simply revert this change for now which will mean that HDMI I2C will be
polled, like it was before.

Reported-by: Dave Stevenson <[email protected]>
Signed-off-by: Florian Fainelli <[email protected]>
---
arch/arm/boot/dts/bcm2711.dtsi | 12 ------------
1 file changed, 12 deletions(-)

diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index 462b1dfb0385..720beec54d61 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -308,14 +308,6 @@ dvp: clock@7ef00000 {
#reset-cells = <1>;
};

- bsc_intr: interrupt-controller@7ef00040 {
- compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
- reg = <0x7ef00040 0x30>;
- interrupts = <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-controller;
- #interrupt-cells = <1>;
- };
-
aon_intr: interrupt-controller@7ef00100 {
compatible = "brcm,bcm2711-l2-intc", "brcm,l2-intc";
reg = <0x7ef00100 0x30>;
@@ -362,8 +354,6 @@ ddc0: i2c@7ef04500 {
reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>;
reg-names = "bsc", "auto-i2c";
clock-frequency = <97500>;
- interrupt-parent = <&bsc_intr>;
- interrupts = <0>;
status = "disabled";
};

@@ -405,8 +395,6 @@ ddc1: i2c@7ef09500 {
reg = <0x7ef09500 0x100>, <0x7ef05b00 0x300>;
reg-names = "bsc", "auto-i2c";
clock-frequency = <97500>;
- interrupt-parent = <&bsc_intr>;
- interrupts = <1>;
status = "disabled";
};
};
--
2.25.1


2021-02-16 08:00:11

by Maxime Ripard

[permalink] [raw]
Subject: Re: [PATCH] Revert "ARM: dts: bcm2711: Add the BSC interrupt controller"

On Fri, Feb 12, 2021 at 11:11:04AM -0800, Florian Fainelli wrote:
> As Dave reported:
>
> This seems to have unintended side effects. GIC interrupt 117 is shared
> between the standard I2C controllers (i2c-bcm2835) and the l2-intc block
> handling the HDMI I2C interrupts.
>
> There is not a great way to share an interrupt between an interrupt
> controller using the chained IRQ handler which is an interrupt flow and
> another driver like i2c-bcm2835 which uses an interrupt handler
> (although it specifies IRQF_SHARED).
>
> Simply revert this change for now which will mean that HDMI I2C will be
> polled, like it was before.
>
> Reported-by: Dave Stevenson <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>

Acked-by: Maxime Ripard <[email protected]>

Thanks!
Maxime


Attachments:
(No filename) (841.00 B)
signature.asc (235.00 B)
Download all attachments

2021-02-16 17:18:04

by Nicolas Saenz Julienne

[permalink] [raw]
Subject: Re: [PATCH] Revert "ARM: dts: bcm2711: Add the BSC interrupt controller"

On Fri, 2021-02-12 at 11:11 -0800, Florian Fainelli wrote:
> As Dave reported:
>
> This seems to have unintended side effects. GIC interrupt 117 is shared
> between the standard I2C controllers (i2c-bcm2835) and the l2-intc block
> handling the HDMI I2C interrupts.
>
> There is not a great way to share an interrupt between an interrupt
> controller using the chained IRQ handler which is an interrupt flow and
> another driver like i2c-bcm2835 which uses an interrupt handler
> (although it specifies IRQF_SHARED).
>
> Simply revert this change for now which will mean that HDMI I2C will be
> polled, like it was before.
>
> Reported-by: Dave Stevenson <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>

Acked-by: Nicolas Saenz Julienne <[email protected]>

Regards,
Nicolas


Attachments:
signature.asc (499.00 B)
This is a digitally signed message part

2021-02-17 01:20:58

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH] Revert "ARM: dts: bcm2711: Add the BSC interrupt controller"



On 2/12/2021 11:11 AM, Florian Fainelli wrote:
> As Dave reported:
>
> This seems to have unintended side effects. GIC interrupt 117 is shared
> between the standard I2C controllers (i2c-bcm2835) and the l2-intc block
> handling the HDMI I2C interrupts.
>
> There is not a great way to share an interrupt between an interrupt
> controller using the chained IRQ handler which is an interrupt flow and
> another driver like i2c-bcm2835 which uses an interrupt handler
> (although it specifies IRQF_SHARED).
>
> Simply revert this change for now which will mean that HDMI I2C will be
> polled, like it was before.
>
> Reported-by: Dave Stevenson <[email protected]>
> Signed-off-by: Florian Fainelli <[email protected]>

Applied to devicetree/next, thanks!
--
Florian