mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 10:34:19 +00:00
![]() 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 |
||
---|---|---|
.. | ||
fdts | ||
include | ||
platform.mk | ||
rdn1edge_err.c | ||
rdn1edge_plat.c | ||
rdn1edge_security.c | ||
rdn1edge_topology.c | ||
rdn1edge_trusted_boot.c |