[PATCH V6] irqchip/sifive-plic: Fixup EOI failed when masked

Guo Ren guoren at kernel.org
Thu Nov 4 18:06:51 PDT 2021


On Thu, Nov 4, 2021 at 10:57 PM Marc Zyngier <maz at kernel.org> wrote:
>
> On Thu, 04 Nov 2021 14:40:42 +0000,
> Anup Patel <anup at brainfault.org> wrote:
> >
> > On Mon, Nov 1, 2021 at 6:47 PM <guoren at kernel.org> wrote:
> > >
> > > From: Guo Ren <guoren at linux.alibaba.com>
> > >
> > > When using "devm_request_threaded_irq(,,,,IRQF_ONESHOT,,)" in the driver,
> > > only the first interrupt could be handled, and continue irq is blocked by
> > > hw. Because the riscv plic couldn't complete masked irq source which has
> > > been disabled in enable register. The bug was firstly reported in [1].
> > >
> > > Here is the description of Interrupt Completion in PLIC spec [2]:
> > >
> > > The PLIC signals it has completed executing an interrupt handler by
> > > writing the interrupt ID it received from the claim to the claim/complete
> > > register. The PLIC does not check whether the completion ID is the same
> > > as the last claim ID for that target. If the completion ID does not match
> > > an interrupt source that is currently enabled for the target, the
> > >                          ^^ ^^^^^^^^^ ^^^^^^^
> > > completion is silently ignored.
> > >
> > > [1] http://lists.infradead.org/pipermail/linux-riscv/2021-July/007441.html
> > > [2] https://github.com/riscv/riscv-plic-spec/blob/8bc15a35d07c9edf7b5d23fec9728302595ffc4d/riscv-plic.adoc
> > >
> > > Reported-by: Vincent Pelletier <plr.vincent at gmail.com>
> > > Signed-off-by: Guo Ren <guoren at linux.alibaba.com>
> > > Cc: Anup Patel <anup at brainfault.org>
> > > Cc: Thomas Gleixner <tglx at linutronix.de>
> > > Cc: Marc Zyngier <maz at kernel.org>
> > > Cc: Palmer Dabbelt <palmer at dabbelt.com>
> > > Cc: Atish Patra <atish.patra at wdc.com>
> > > Cc: Nikita Shubin <nikita.shubin at maquefel.me>
> > > Cc: incent Pelletier <plr.vincent at gmail.com>
> >
> > Please include a Fixes: tag
Okay

> >
> > Also, I see that you have dropped the DT bindings patch. We still
> > need separate compatible string for T-HEAD PLIC because OpenSBI
> > will use it for other work-arounds.
> >
> > I suggest to include to more patches in this series:
> > 1) Your latest T-HEAD PLIC DT bindings patch
> > 2) Separate patch to use T-HEAD PLIC compatible in PLIC driver
Thx for the suggestion, and I would put above in 5.17 as Mark suggested.

>
> No, please keep things separate. The PLIC is broken *today*, and I
> want to take a patch for -rc1. The rest (compatible and such) is a new
> feature and can wait until 5.17.
Okay

>
>         M.
>
> --
> Without deviation from the norm, progress is not possible.



-- 
Best Regards
 Guo Ren

ML: https://lore.kernel.org/linux-csky/



More information about the linux-riscv mailing list