Messages in this thread | | | From | Alexandru Avadanii <> | Subject | Re: [PATCH] irqchip, gicv3-its, numa: Workaround for Cavium ThunderX erratum 23144 | Date | Tue, 25 Aug 2015 12:49:41 +0000 |
| |
Hi Robert,
On 22/08/15 14:10, Robert Richter wrote: > The patch below adds a workaround for gicv3 in a numa environment. It > is on top of my recent gicv3 errata patch submission v4 and Ganapat's > arm64 numa patches for devicetree v5. > > Please comment. > > Thanks, > > -Robert > > > > From c432820451a46b8d1e299b8bfbfcdcb3b75340e7 Mon Sep 17 00:00:00 2001 > From: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com> > Date: Wed, 19 Aug 2015 23:40:05 +0530 > Subject: [PATCH] irqchip, gicv3-its, numa: Workaround for Cavium ThunderX erratum > 23144 > > This implements a workaround for gicv3-its erratum 23144 applicable > for Cavium's ThunderX multinode systems. > > The erratum fixes the hang of ITS SYNC command by avoiding inter node > io and collections/cpu mapping. This fix is only applicable for > Cavium's ThunderX dual-socket platforms. > > Signed-off-by: Ganapatrao Kulkarni <gkulkarni@caviumnetworks.com> > [ rric: Reworked errata code, added helper functions, updated commit > message. ] > > Signed-off-by: Robert Richter <rrichter@cavium.com> > --- > arch/arm64/Kconfig | 14 +++++++++++ > drivers/irqchip/irq-gic-common.c | 5 ++-- > drivers/irqchip/irq-gic-v3-its.c | 54 ++++++++++++++++++++++++++++++++++------ > 3 files changed, 64 insertions(+), 9 deletions(-) > > diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig > index 3809187ed653..b92b7b70b29b 100644 > --- a/arch/arm64/Kconfig > +++ b/arch/arm64/Kconfig > @@ -421,6 +421,20 @@ config ARM64_ERRATUM_845719 > > If unsure, say Y. > > +config CAVIUM_ERRATUM_22375 > + bool "Cavium erratum 22375, 24313" > + depends on NUMA > + default y > + help > + Enable workaround for erratum 22375, 24313. > +
After testing on Cavium EVK and CRB platforms, it looks like erratum 24313 (ignore memory access type) is also applicable for non-NUMA systems, otherwise ITS won't be initialiazed properly. The same may apply to erratum 22375.
> +config CAVIUM_ERRATUM_23144 > + bool "Cavium erratum 23144" > + depends on NUMA > + default y > + help > + Enable workaround for erratum 23144. > + > config CAVIUM_ERRATUM_23154 > bool "Cavium erratum 23154: Access to ICC_IAR1_EL1 is not sync'ed" > depends on ARCH_THUNDER
-- Thanks, Alex
| |