All of lore.kernel.org
 help / color / mirror / Atom feed
From: rric@kernel.org (Robert Richter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 0/6] irqchip, gicv3: Updates and Cavium ThunderX errata workarounds
Date: Mon, 21 Sep 2015 22:58:33 +0200	[thread overview]
Message-ID: <1442869119-1814-1-git-send-email-rric@kernel.org> (raw)

From: Robert Richter <rrichter@cavium.com>

This patch series adds gicv3 updates and workarounds for HW errata in
Cavium's ThunderX GICV3.

The patches has been rebased onto 4.3-rc1. Note that there are two
important fixes. See below for all changes.

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. Patch #6 updates to the
new jump label API.

All current review comments addressed so far with v5

v5:
 * fixed calling gic_read_iar_cavium_thunderx() if jump label is
   enabled
 * fix table size wrongly allocating only 4MB
 * made is_cavium_thunderx static
 * removed ARCH_THUNDER dependency for Cavium errata options to
   make it available for generic kernels
 * renamed caps names to quirk
 * introduced CAVIUM_ERRATUM_22375 config option
 * introduced ITS_FLAGS_WORKAROUND_CAVIUM_22375
 * added config descriptions
 * update to new jump label API

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 (6):
  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
  irqchip, gicv3-its: Use new jump label API

 arch/arm64/Kconfig                  | 27 +++++++++++++++
 arch/arm64/include/asm/cpufeature.h |  3 +-
 arch/arm64/include/asm/cputype.h    | 17 ++++++----
 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    | 65 +++++++++++++++++++++++++++++++++----
 drivers/irqchip/irq-gic-v3.c        | 42 +++++++++++++++++++++++-
 include/linux/irqchip/arm-gic-v3.h  |  1 +
 9 files changed, 169 insertions(+), 15 deletions(-)

-- 
2.1.1

WARNING: multiple messages have this Message-ID (diff)
From: Robert Richter <rric@kernel.org>
To: Marc Zygnier <marc.zyngier@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>
Cc: Tirumalesh Chalamarla <tchalamarla@cavium.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Robert Richter <rrichter@cavium.com>
Subject: [PATCH v5 0/6] irqchip, gicv3: Updates and Cavium ThunderX errata workarounds
Date: Mon, 21 Sep 2015 22:58:33 +0200	[thread overview]
Message-ID: <1442869119-1814-1-git-send-email-rric@kernel.org> (raw)

From: Robert Richter <rrichter@cavium.com>

This patch series adds gicv3 updates and workarounds for HW errata in
Cavium's ThunderX GICV3.

The patches has been rebased onto 4.3-rc1. Note that there are two
important fixes. See below for all changes.

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. Patch #6 updates to the
new jump label API.

All current review comments addressed so far with v5

v5:
 * fixed calling gic_read_iar_cavium_thunderx() if jump label is
   enabled
 * fix table size wrongly allocating only 4MB
 * made is_cavium_thunderx static
 * removed ARCH_THUNDER dependency for Cavium errata options to
   make it available for generic kernels
 * renamed caps names to quirk
 * introduced CAVIUM_ERRATUM_22375 config option
 * introduced ITS_FLAGS_WORKAROUND_CAVIUM_22375
 * added config descriptions
 * update to new jump label API

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 (6):
  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
  irqchip, gicv3-its: Use new jump label API

 arch/arm64/Kconfig                  | 27 +++++++++++++++
 arch/arm64/include/asm/cpufeature.h |  3 +-
 arch/arm64/include/asm/cputype.h    | 17 ++++++----
 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    | 65 +++++++++++++++++++++++++++++++++----
 drivers/irqchip/irq-gic-v3.c        | 42 +++++++++++++++++++++++-
 include/linux/irqchip/arm-gic-v3.h  |  1 +
 9 files changed, 169 insertions(+), 15 deletions(-)

-- 
2.1.1


             reply	other threads:[~2015-09-21 20:58 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-21 20:58 Robert Richter [this message]
2015-09-21 20:58 ` [PATCH v5 0/6] irqchip, gicv3: Updates and Cavium ThunderX errata workarounds Robert Richter
2015-09-21 20:58 ` [PATCH v5 1/6] irqchip, gicv3-its: Add range check for number of allocated pages Robert Richter
2015-09-21 20:58   ` Robert Richter
2015-09-29  8:15   ` [tip:irq/core] irqchip/gicv3-its: " tip-bot for Robert Richter
2015-09-21 20:58 ` [PATCH v5 2/6] irqchip, gicv3: Workaround for Cavium ThunderX erratum 23154 Robert Richter
2015-09-21 20:58   ` Robert Richter
2015-09-22 16:50   ` Marc Zyngier
2015-09-22 16:50     ` Marc Zyngier
2015-09-29  8:16   ` [tip:irq/core] irqchip/gicv3: " tip-bot for Robert Richter
2015-09-21 20:58 ` [PATCH v5 3/6] irqchip, gicv3-its: Read typer register outside the loop Robert Richter
2015-09-21 20:58   ` Robert Richter
2015-09-29  8:16   ` [tip:irq/core] irqchip/gicv3-its: " tip-bot for Robert Richter
2015-09-21 20:58 ` [PATCH v5 4/6] irqchip, gicv3-its: Add HW revision detection and configuration Robert Richter
2015-09-21 20:58   ` Robert Richter
2015-09-22 16:51   ` Marc Zyngier
2015-09-22 16:51     ` Marc Zyngier
2015-09-29  8:16   ` [tip:irq/core] irqchip/gicv3-its: " tip-bot for Robert Richter
2015-09-21 20:58 ` [PATCH v5 5/6] irqchip, gicv3-its: Workaround for Cavium ThunderX errata 22375, 24313 Robert Richter
2015-09-21 20:58   ` Robert Richter
2015-09-22 16:52   ` Marc Zyngier
2015-09-22 16:52     ` Marc Zyngier
2015-09-29  8:17   ` [tip:irq/core] irqchip/gicv3-its: " tip-bot for Robert Richter
2015-09-21 20:58 ` [PATCH v5 6/6] irqchip, gicv3-its: Use new jump label API Robert Richter
2015-09-21 20:58   ` Robert Richter
2015-09-22 16:53   ` Marc Zyngier
2015-09-22 16:53     ` Marc Zyngier
2015-09-29  8:17   ` [tip:irq/core] irqchip/gicv3-its: " tip-bot for Robert Richter
2015-09-22 16:57 ` [PATCH v5 0/6] irqchip, gicv3: Updates and Cavium ThunderX errata workarounds Marc Zyngier
2015-09-22 16:57   ` Marc Zyngier
2015-09-22 18:09   ` Marc Zyngier
2015-09-22 18:09     ` Marc Zyngier
2015-09-22 18:27     ` Will Deacon
2015-09-22 18:27       ` Will Deacon
2015-09-22 19:41       ` Marc Zyngier
2015-09-22 19:41         ` Marc Zyngier
2015-09-24 16:54         ` Catalin Marinas
2015-09-24 16:54           ` Catalin Marinas
2015-09-24 17:01         ` Robert Richter
2015-09-24 17:01           ` Robert Richter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1442869119-1814-1-git-send-email-rric@kernel.org \
    --to=rric@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.