Re: [PATCH 2/2] arm: dts: sh73a0 KZM9 as unhandled IRQs on boot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Magnus,

On Wed, Mar 21, 2018 at 11:34 AM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
> On Tue, Mar 20, 2018 at 9:20 AM, Magnus Damm <magnus.damm@xxxxxxxxx> wrote:
>> From: Magnus Damm <damm+renesas@xxxxxxxxxxxxx>
>>
>> Booting sh73a0 KZM9G results in the following on the console:
>>
>> [    0.030000] renesas_intc_irqpin e6900000.interrupt-controller: driving 8 irqs
>> [    0.040000] random: crng init done
>> [    0.120000] irq 35: nobody cared (try booting with the "irqpoll" option)
>> [    0.120000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.16.0-rc5 #4
>> [    0.120000] Hardware name: Generic SH73A0 (Flattened Device Tree)
>> ...
>> [    0.120000] Disabling IRQ #35
>> [    0.120000] renesas_intc_irqpin e6900004.interrupt-controller: driving 8 irqs
>
> Thanks for bringing this to my attention again. I always assumed it was one of
> the IIO devices keeping an IRQ line asserted, but it turns out I was wrong...
>
>> Judging by the friendly board documentation there is nothing hooked up to
>> that IRQ line. I wish we had proper schematics and not a less detailed
>> board manual.
>
> Oh there is: PORT54/IRQ10/FSICCK is driven by the same 11.2896 MHz
> oscillator (OSC4) as FSIACK.
>
>> With this patch I've tried to extend the irqpin driver to mask all interrupts
>> on boot but it does not seem to help. Perhaps the PFC hardware needs to be
>> configured somehow. More effort is needed to solve this issue.
>
> That pin is part of the HDMI interface, cfr. section 5.27.
>
> I've tried the below, but it doesn't work, as the interrupt controller is probed
> before the pfc (it has to, due to dependencies from pfc on irqpin[0-3]).
>
> --- a/arch/arm/boot/dts/sh73a0-kzm9g.dts
> +++ b/arch/arm/boot/dts/sh73a0-kzm9g.dts
> @@ -331,6 +331,15 @@
>  };
>
>  &pfc {
> +       pinctrl-0 = <&fsic_pins>;
> +       pinctrl-names = "default";
> +
> +       fsic_pins: hdmi {
> +               /* FSICCK is driven by OSC4, causing interrupt storm */
> +               groups = "fsic_mclk_in";
> +               function = "fsic";
> +       };
> +
>         i2c3_pins: i2c3 {
>                 groups = "i2c3_1";
>                 function = "i2c3";
>
> So probably we need some early quirk in pfc-sh73a0.c, to configure the
> pin as fsicck on kzm9g.

That's done by switching PORT54 from FN0 to FN6, i.e. changing 0xe6051036
from 0xa0 to 0xa6.

I did that from U-Boot, and verified it's still that way when the PFC driver
initializes, but it doesn't help, with or without your patch.

So it seems more likely the intc-irqpin driver is not disabling interrupts that
are not requested?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux