Hi Jon, On 17.09.2020 10:49, Jon Hunter wrote: > On 17/09/2020 09:45, Marc Zyngier wrote: >> On 2020-09-17 08:54, Jon Hunter wrote: >>> On 17/09/2020 08:50, Marc Zyngier wrote: >>>> On 2020-09-17 08:40, Linus Walleij wrote: >>>>> On Wed, Sep 16, 2020 at 5:11 PM Marc Zyngier <maz@xxxxxxxxxx> wrote: >>>>> >>>>>> Can you try the patch below and let me know? >>>>> I tried this patch and now Ux500 WORKS. So this patch is definitely >>>>> something you should apply. >>>>> >>>>>> - if (is_frankengic()) >>>>>> - set_sgi_intid(irqstat); >>>>>> + this_cpu_write(sgi_intid, intid); >>>>> This needs changing to irqstat to compile as pointed out by Jon. >>>>> >>>>> With that: >>>>> Tested-by: Linus Walleij <linus.walleij@xxxxxxxxxx> >>>> Thanks a lot for that. >>>> >>>> Still need to understand why some of Jon's systems are left unbootable, >>>> despite having similar GIC implementations (Tegra194 and Tegra210 use >>>> the same GIC-400, and yet only one of the two boots correctly...). >>> So far, I have only tested this patch on Tegra20. Let me try the other >>> failing boards this morning and see if those still fail. >> Tegra20 (if I remember well) is a dual A9 with the same GIC implementation >> as Ux500, hence requiring the source CPU bits to be written back. So this >> patch should have cured it, but didn't... >> >> /me puzzled. > Me too. Maybe there just happens to be something else also going wrong > in next. I am doing a bit more testing to see if applying the fix > directly on top of this change fixes it to try and eliminate anything > else in -next. > > Linus, what -next are you testing on? I am using next-20200916. next-20200916 completely broken on ARM and ARM64. Please check next-20200915 + the mentioned fix or just check https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git/log/?h=irq/ipi-as-irq Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland