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: >>> Hi Linus, >>> >>> 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. Jon -- nvpublic