From: Robert Richter <rrich...@cavium.com> This patch series adds gicv3 updates and workarounds for HW errata in Cavium's ThunderX GICV3.
The first one is an unchanged resubmission of a patch from a gicv3 series I sent a while ago. The next patches implement the workarounds for ThunderX's gicv3. Patch #2 implements the cpu workaround for gicv3 on ThunderX. Patch #3 is a prerequisit for patch #5. Patch #4 adds generic code to parse the hw revision provided by an IIDR. This patch is used for the implementa- tion of the actual gicv3-its workaround in #5. All current review comments addressed so far with v4. v4: * simplify code to only use cpus_have_cap() in gicv3_enable_quirks() * only enable hw detection for its in its_enable_quirks() * removed gicv3_check_capabilities() * drop special cpu capability for zero v3: * use arm64 errata framework for midr check * fix mixup of errata to be dependend from midr/iidr v2: * Workaround for 23154: * implement code in a single asm() to keep instruction sequence * added comment to the code that explains the erratum * apply workaround also if running as guest, thus check MIDR * adding MIDR check Robert Richter (5): irqchip, gicv3-its: Add range check for number of allocated pages irqchip, gicv3: Workaround for Cavium ThunderX erratum 23154 irqchip, gicv3-its: Read typer register outside the loop irqchip, gicv3-its: Add HW revision detection and configuration irqchip, gicv3-its: Workaround for Cavium ThunderX errata 22375, 24313 arch/arm64/Kconfig | 11 +++++++ arch/arm64/include/asm/cpufeature.h | 3 +- arch/arm64/include/asm/cputype.h | 18 ++++++----- arch/arm64/kernel/cpu_errata.c | 9 ++++++ drivers/irqchip/irq-gic-common.c | 11 +++++++ drivers/irqchip/irq-gic-common.h | 9 ++++++ drivers/irqchip/irq-gic-v3-its.c | 62 +++++++++++++++++++++++++++++++++---- drivers/irqchip/irq-gic-v3.c | 42 ++++++++++++++++++++++++- include/linux/irqchip/arm-gic-v3.h | 1 + 9 files changed, 151 insertions(+), 15 deletions(-) -- 2.1.1 -- 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/