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

Marc Zyngier maz at kernel.org
Mon Jul 3 11:42:27 PDT 2023


On Mon, 03 Jul 2023 18:42:33 +0100,
Sebastian Reichel <sebastian.reichel at collabora.com> 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.



More information about the Linux-rockchip mailing list