arm-trusted-firmware/plat/renesas/rcar
Marek Vasut 0969397f29 rcar_gen3: plat: Prevent PCIe hang during L1X config access
In case the PCIe controller receives a L1_Enter_PM DLLP, it will
disable the internal PLLs. The system software cannot predict it
and can attempt to perform device config space access across the
PCIe link while the controller is in this transitional state. If
such condition happens, the PCIe controller register access will
trigger ARM64 SError exception.

This patch adds checks for which PCIe controller is enabled,
checks whether the PCIe controller is in such a transitional
state and if so, first completes the transition and then restarts
the instruction which caused the SError.

Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com>
2019-02-20 16:18:08 +01:00
..
aarch64 rcar_gen3: plat: Dump EL3 interrupt error registers 2019-01-08 14:08:44 +01:00
include rcar_gen3: plat: Drop unused macro 2019-01-29 06:07:21 +01:00
bl2_cpg_init.c rcar_gen3: plat: Allow E3 auto-detection 2019-01-29 06:07:21 +01:00
bl2_interrupt_error.c rcar_gen3: plat: Dump EL3 interrupt error registers 2019-01-08 14:08:44 +01:00
bl2_plat_mem_params_desc.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
bl2_plat_setup.c rcar_gen3: plat: Add generic timer init 2019-01-08 14:08:44 +01:00
bl2_secure_setting.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
bl31_plat_setup.c rcar_gen3: plat: Clean up rcar_pwrc_code_copy_to_system_ram() 2019-01-08 14:08:44 +01:00
plat_image_load.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
plat_pm.c rcar_gen3: plat: Add missing cpu_on_check() implementation 2019-01-29 06:07:21 +01:00
plat_storage.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
plat_topology.c Sanitise includes across codebase 2019-01-04 10:43:17 +00:00
platform.mk rcar_gen3: plat: Prevent PCIe hang during L1X config access 2019-02-20 16:18:08 +01:00
rcar_common.c rcar_gen3: plat: Prevent PCIe hang during L1X config access 2019-02-20 16:18:08 +01:00