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 <gkulka...@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 <gkulka...@caviumnetworks.com>
> [ rric: Reworked errata code, added helper functions, updated commit
>       message. ]
> 
> Signed-off-by: Robert Richter <rrich...@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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to