irqchip/gic-v3-its: Flush ITS tables correctly in non-coherent GIC designs
authorFang Xiang <fangxiang3@xiaomi.com>
Mon, 30 Oct 2023 08:32:56 +0000 (16:32 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 6 Nov 2023 00:16:33 +0000 (01:16 +0100)
commitd3badb15613c14dd35d3495b1dde5c90fcd616dd
treed90e3efeb72dbe2d77592012884e05bd2efb0b9e
parent8999ad99f4cb19638d9ecb8017831f9a0ab8dc3d
irqchip/gic-v3-its: Flush ITS tables correctly in non-coherent GIC designs

In non-coherent GIC designs, the ITS tables must be flushed before writing
to the GITS_BASER<n> registers, otherwise the ITS could read dirty tables,
which results in unpredictable behavior.

Flush the tables right at the begin of its_setup_baser() to prevent that.

[ tglx: Massage changelog ]

Fixes: a8707f553884 ("irqchip/gic-v3: Add Rockchip 3588001 erratum workaround")
Suggested-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Fang Xiang <fangxiang3@xiaomi.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20231030083256.4345-1-fangxiang3@xiaomi.com
drivers/irqchip/irq-gic-v3-its.c