| #
5a63aed2 |
| 24-Mar-2023 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4" into integration
|
| #
a02a45df |
| 08-Mar-2023 |
Varun Wadekar <vwadekar@nvidia.com> |
fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4
The purpose of this patch is to address the T241 erratum T241-FABRIC-4, which causes unexpected behavior in the GIC when multiple transactions
fix(gicv3): workaround for NVIDIA erratum T241-FABRIC-4
The purpose of this patch is to address the T241 erratum T241-FABRIC-4, which causes unexpected behavior in the GIC when multiple transactions are received simultaneously from different sources. This hardware issue impacts NVIDIA server platforms that use more than two T241 chips interconnected. Each chip has support for 320 {E}SPIs.
This issue occurs when multiple packets from different GICs are incorrectly interleaved at the target chip. The erratum text below specifies exactly what can cause multiple transfer packets susceptible to interleaving and GIC state corruption. GIC state corruption can lead to a range of problems, including kernel panics, and unexpected behavior.
Erratum documentation: https://developer.nvidia.com/docs/t241-fabric-4/nvidia-t241-fabric-4-errata.pdf
The workaround is to ensure that MMIO accesses target the GIC on the socket that holds the data, for example SPI ranges owned by the socket’s GIC. This ensures that the GIC will not utilize the inter-socket AXI Stream interface for servicing these GIC MMIO accesses.
This patch updates the functions that use the GICD_In{E} registers to ensure that the accesses are directed to the chip that owns the SPI, instead of using the global alias.
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: I04e33ba64eb306bd5fdabb56e63cbe273d8cd632
show more ...
|
| #
84adb051 |
| 21-Jun-2022 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes from topic "mb/gic600-errata" into integration
* changes: refactor(arm): update BL2 base address refactor(nxp): use DPG0 mask from Arm GICv3 header fix(gic600): implement workaro
Merge changes from topic "mb/gic600-errata" into integration
* changes: refactor(arm): update BL2 base address refactor(nxp): use DPG0 mask from Arm GICv3 header fix(gic600): implement workaround to forward highest priority interrupt
show more ...
|
| #
e1b15b09 |
| 09-May-2022 |
Manish V Badarkhe <Manish.Badarkhe@arm.com> |
fix(gic600): implement workaround to forward highest priority interrupt
If the interrupt being targeted is released from the CPU before the CLEAR command is sent to the CPU then a subsequent SET com
fix(gic600): implement workaround to forward highest priority interrupt
If the interrupt being targeted is released from the CPU before the CLEAR command is sent to the CPU then a subsequent SET command may not be delivered in a finite time. To workaround this, issue an unblocking event by toggling GICR_CTLR.DPG* bits after clearing the cpu group enable (EnableGrp* bits of GIC CPU interface register) This fix is implemented as per the errata 2384374-part 2 workaround mentioned here: https://developer.arm.com/documentation/sden892601/latest/
Change-Id: I13926ceeb7740fa4c05cc5b43170e7ce49598f70 Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
show more ...
|
| #
e5bc3ef3 |
| 06-Sep-2021 |
Joanna Farley <joanna.farley@arm.com> |
Merge "feat(gic600ae): introduce support for Fault Management Unit" into integration
|
| #
2c248ade |
| 04-May-2021 |
Varun Wadekar <vwadekar@nvidia.com> |
feat(gic600ae): introduce support for Fault Management Unit
The FMU is part of the GIC Distributor (GICD) component. It implements the following functionality in GIC-600AE:
* Provides software the
feat(gic600ae): introduce support for Fault Management Unit
The FMU is part of the GIC Distributor (GICD) component. It implements the following functionality in GIC-600AE:
* Provides software the means to enable or disable a Safety Mechanism within a GIC block. * Receives error signaling from all Safety Mechanisms within other GIC blocks. * Maintains error records for each GIC block, for software inspection and provides information on the source of the error. * Retains error records across functional reset. * Enables software error recovery testing by providing error injection capabilities in a Safety Mechanism.
This patch introduces support to enable error detection for all safety mechanisms provided by the FMU. Platforms are expected to invoke the initialization function during cold boot.
The support for the FMU is guarded by the GICV3_SUPPORT_GIC600AE_FMU makefile variable. The default value of this variable is '0'.
Change-Id: I421c3d059624ddefd174cb1140a2d2a2296be0c6 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
show more ...
|
| #
10640d24 |
| 09-Jun-2020 |
Madhukar Pappireddy <madhukar.pappireddy@arm.com> |
Merge "GICv3: GIC-600: Detect GIC-600 at runtime" into integration
|
| #
b4ad365a |
| 25-Mar-2020 |
Andre Przywara <andre.przywara@arm.com> |
GICv3: GIC-600: Detect GIC-600 at runtime
The only difference between GIC-500 and GIC-600 relevant to TF-A is the differing power management sequence. A certain GIC implementation is detectable at r
GICv3: GIC-600: Detect GIC-600 at runtime
The only difference between GIC-500 and GIC-600 relevant to TF-A is the differing power management sequence. A certain GIC implementation is detectable at runtime, for instance by checking the IIDR register. Let's add that test before initiating the GIC-600 specific sequence, so the code can be used on both GIC-600 and GIC-500 chips alike, without deciding on a GIC chip at compile time.
This means that the GIC-500 "driver" is now redundant. To allow minimal platform support, add a switch to disable GIC-600 support.
Change-Id: I17ea97d9fb05874772ebaa13e6678b4ba3415557 Signed-off-by: Andre Przywara <andre.przywara@arm.com>
show more ...
|
| #
994421a6 |
| 07-Apr-2020 |
Olivier Deprez <olivier.deprez@arm.com> |
Merge changes from topics "af/fvp_gicv4", "af/gicv4", "af/gic_extended" into integration
* changes: FVP: Add support for GICv4 extension TF-A: Add GICv4 extension for GIC driver TF-A GICv3 dri
Merge changes from topics "af/fvp_gicv4", "af/gicv4", "af/gic_extended" into integration
* changes: FVP: Add support for GICv4 extension TF-A: Add GICv4 extension for GIC driver TF-A GICv3 driver: Add extended PPI and SPI range
show more ...
|
| #
5875f266 |
| 06-Apr-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
TF-A: Add GICv4 extension for GIC driver
This patch adds support for GICv4 extension. New `GIC_ENABLE_V4_EXTN` option passed to gicv3.mk makefile was added, and enables GICv4 related changes when se
TF-A: Add GICv4 extension for GIC driver
This patch adds support for GICv4 extension. New `GIC_ENABLE_V4_EXTN` option passed to gicv3.mk makefile was added, and enables GICv4 related changes when set to 1. This option defaults to 0.
Change-Id: I30ebe1b7a98d3a54863900f37eda4589c707a288 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
8f3ad766 |
| 06-Apr-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
TF-A GICv3 driver: Add extended PPI and SPI range
This patch provides support for GICv3.1 extended PPI and SPI range. The option is enabled by setting to 1 and passing `GIC_EXT_INTID` build flag to
TF-A GICv3 driver: Add extended PPI and SPI range
This patch provides support for GICv3.1 extended PPI and SPI range. The option is enabled by setting to 1 and passing `GIC_EXT_INTID` build flag to gicv3.mk makefile. This option defaults to 0 with no extended range support.
Change-Id: I7d09086fe22ea531c5df51a8a1efd8928458d394 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|
| #
27c5e15e |
| 31-Mar-2020 |
Manish Pandey <manish.pandey2@arm.com> |
Merge "TF-A GICv3 driver: Introduce makefile" into integration
|
| #
a6ea06f5 |
| 23-Mar-2020 |
Alexei Fedorov <Alexei.Fedorov@arm.com> |
TF-A GICv3 driver: Introduce makefile
This patch moves all GICv3 driver files into new added 'gicv3.mk' makefile for the benefit of the generic driver which can evolve in the future without affectin
TF-A GICv3 driver: Introduce makefile
This patch moves all GICv3 driver files into new added 'gicv3.mk' makefile for the benefit of the generic driver which can evolve in the future without affecting platforms. The patch adds GICv3 driver configuration flags 'GICV3_IMPL', 'GICV3_IMPL_GIC600_MULTICHIP' and 'GICV3_OVERRIDE_DISTIF_PWR_OPS' described in 'GICv3 driver options' section of 'build-option.rst' document.
NOTE: Platforms with GICv3 driver need to be modified to include 'drivers/arm/gic/v3/gicv3.mk' in their makefiles.
Change-Id: If055f6770ff20f5dee5a3c99ae7ced7cdcac5c44 Signed-off-by: Alexei Fedorov <Alexei.Fedorov@arm.com>
show more ...
|