Re: [PATCH v4] irqchip/gic-v3-its: Flush ITS tables before writing GITS_BASER<n> registers in non-coherent GIC designs.

From: Marc Zyngier
Date: Sat Nov 04 2023 - 06:04:21 EST


On Mon, 30 Oct 2023 08:32:56 +0000,
Fang Xiang <fangxiang3@xxxxxxxxxx> wrote:
>
> In non-coherent GIC design, ITS tables should be clean and flushed
> to the PoV of the ITS before writing GITS_BASER<n> registers, otherwise
> the ITS would read dirty tables and lead to UNPREDICTABLE behaviors.
>
> The ITS always got clean tables in initialization with this fix, by
> observing the signals from GIC.
>
> Furthermore, hoist the quirked non-shareable attributes earlier to
> save effort in tables setup.
>
> Suggested-by: Marc Zyngier <maz@xxxxxxxxxx>
> Signed-off-by: Fang Xiang <fangxiang3@xxxxxxxxxx>
> Tested-by: Fang Xiang <fangxiang3@xxxxxxxxxx>

Reviewed-by: Marc Zyngier <maz@xxxxxxxxxx>

M.

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