[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86il8oeljj.wl-maz@kernel.org>
Date: Tue, 05 Sep 2023 15:34:24 +0100
From: Marc Zyngier <maz@...nel.org>
To: Lorenzo Pieralisi <lpieralisi@...nel.org>
Cc: linux-kernel@...r.kernel.org, Robin Murphy <robin.murphy@....com>,
Mark Rutland <mark.rutland@....com>,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
Rob Herring <robh+dt@...nel.org>,
Fang Xiang <fangxiang3@...omi.com>
Subject: Re: [PATCH 2/2] irqchip/gic-v3: Enable non-coherent redistributors/ITSes probing
On Tue, 05 Sep 2023 15:24:51 +0100,
Lorenzo Pieralisi <lpieralisi@...nel.org> wrote:
>
> On Tue, Sep 05, 2023 at 12:34:58PM +0100, Marc Zyngier wrote:
> > @@ -4808,6 +4812,11 @@ static const struct gic_quirk its_quirks[] = {
> > .init = its_enable_rk3588001,
> > },
> > #endif
> > + {
> > + .desc = "ITS: non-coherent attribute",
> > + .property = "dma-noncoherent",
> > + .init = its_set_non_coherent,
> > + },
>
> For the records, that requires adding a gic_enable_of_quirks() call for the
> ITS DT node that at the moment is not needed, something like this:
>
> -- >8 --
> diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
> index 25a12b46ce35..3ae3cb9aadd9 100644
> --- a/drivers/irqchip/irq-gic-v3-its.c
> +++ b/drivers/irqchip/irq-gic-v3-its.c
> @@ -4826,6 +4826,10 @@ static void its_enable_quirks(struct its_node *its)
> u32 iidr = readl_relaxed(its->base + GITS_IIDR);
>
> gic_enable_quirks(iidr, its_quirks, its);
> +
> + if (is_of_node(its->fwnode_handle))
> + gic_enable_of_quirks(to_of_node(its->fwnode_handle),
> + its_quirks, its);
> }
>
Ah, well spotted. Yes, please fold this in.
Thanks,
M.
--
Without deviation from the norm, progress is not possible.
Powered by blists - more mailing lists