Re: [PATCH v1 1/1] irqchip/gic-v3: Enable Rockchip 3588001 erratum workaround for RK3588S

From: Marc Zyngier
Date: Mon Jul 03 2023 - 14:42:35 EST


On Mon, 03 Jul 2023 18:42:33 +0100,
Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx> wrote:
>
> > > ---
> > > drivers/irqchip/irq-gic-v3-its.c | 3 ++-
> > > 1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> > > index 1994541eaef8..034ece9ac47c 100644
> > > --- a/drivers/irqchip/irq-gic-v3-its.c
> > > +++ b/drivers/irqchip/irq-gic-v3-its.c
> > > @@ -4727,7 +4727,8 @@ static bool __maybe_unused its_enable_rk3588001(void *data)
> > > {
> > > struct its_node *its = data;
> > >
> > > - if (!of_machine_is_compatible("rockchip,rk3588"))
> > > + if (!of_machine_is_compatible("rockchip,rk3588") &&
> > > + !of_machine_is_compatible("rockchip,rk3588s"))
> > > return false;
> > >
> > > its->flags |= ITS_FLAGS_FORCE_NON_SHAREABLE;
> >
> > I don't mind taking this, but it also mean that only a new kernel
> > will boot.
>
> Yes. My assumption is, that this is considered a fix and landing in the
> 6.5 cycle. The rk3588s.dtsi from v6.4 does not yet have the GIC ITS
> nodes. So there is not yet a tagged kernel with the boot failure. The
> first one will be v6.5-rc1.

Ah, fair enough. In this case I'll queue this patch without any remorse.

> The quirk in the GIC driver only landed in v6.4, so anything older
> is broken anyways. So effectively we are talking about v6.4 booting
> a v6.5 DT, which is not something we guarantee to be working as far
> as I know.

In general, I do make a point in making things work *in both
directions*. But given that this is an erratum, there isn't much we
can do, and advertising an ITS to a kernel that cannot handle it is
doomed.

Thanks,

M.

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