Message ID | 1418869570-13529-2-git-send-email-laurent.pinchart+renesas@ideasonboard.com (mailing list archive) |
---|---|
State | Deferred |
Delegated to: | Simon Horman |
Headers | show |
Hi Laurent, On Thu, Dec 18, 2014 at 11:26 AM, Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> wrote: > The sh73a0 INTC can't mask interrupts properly most likely due to a > hardware bug. Set the control-parent property to delegate masking to the > parent interrupt controller. Thanks for your patch. Are you sure it is needed for all interrupts? If so, perhaps it we should consider to enable this in the driver based on the SoC compat string? Cheers, / magnus -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Magnus, On Thursday 18 December 2014 12:17:16 Magnus Damm wrote: > On Thu, Dec 18, 2014 at 11:26 AM, Laurent Pinchart wrote: > > The sh73a0 INTC can't mask interrupts properly most likely due to a > > hardware bug. Set the control-parent property to delegate masking to the > > parent interrupt controller. > > Thanks for your patch. Are you sure it is needed for all interrupts? I'm not as I can't test all interrupts, but given that it's needed for two interrupts on two different INTC instances (well, two different INTC DT nodes, but it's really the same IP core) I'm pretty confident that the workaround is needed for all INTC interrupts on sh73a0. > If so, perhaps it we should consider to enable this in the driver based on > the SoC compat string? I was thinking about that. We could then remove the property from the DT bindings.
Hi Laurent, On Thu, Dec 18, 2014 at 3:26 AM, Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> wrote: > The sh73a0 INTC can't mask interrupts properly most likely due to a > hardware bug. Set the control-parent property to delegate masking to the > parent interrupt controller. Thanks a lot! Without this, accessing the three-axis digital accelerometer ADXL345 through /dev/input/event0 causes an interrupt storm, which requires a power-cycle to recover from. > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/boot/dts/sh73a0.dtsi b/arch/arm/boot/dts/sh73a0.dtsi index 5dae3d335a5d..2d2f0766a099 100644 --- a/arch/arm/boot/dts/sh73a0.dtsi +++ b/arch/arm/boot/dts/sh73a0.dtsi @@ -154,6 +154,7 @@ power-domains = <&pd_a4s>; stop-latency = <250000>; start-latency = <250000>; + control-parent; }; irqpin1: irqpin@e6900004 { @@ -201,6 +202,7 @@ power-domains = <&pd_a4s>; stop-latency = <250000>; start-latency = <250000>; + control-parent; }; irqpin3: irqpin@e690000c { @@ -224,6 +226,7 @@ power-domains = <&pd_a4s>; stop-latency = <250000>; start-latency = <250000>; + control-parent; }; i2c0: i2c@e6820000 {
The sh73a0 INTC can't mask interrupts properly most likely due to a hardware bug. Set the control-parent property to delegate masking to the parent interrupt controller. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> --- arch/arm/boot/dts/sh73a0.dtsi | 3 +++ 1 file changed, 3 insertions(+)