From ac6c135c83fe4efa4d6e9b9c06e899b57ce5647a Mon Sep 17 00:00:00 2001 From: Tanmay Shah Date: Tue, 13 Sep 2022 11:10:08 -0700 Subject: [PATCH] fix(zynqmp): ensure memory write finish with dsb() GICD reg write must complete before core goes to idle mode. Achieve this with dsb() barrier instruction in IPI ISR Signed-off-by: Tanmay Shah Change-Id: I5af42ca901567ee5e54a5434ebe3e673a92cb9be --- plat/xilinx/zynqmp/pm_service/pm_svc_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c index f24387a43..82da57c71 100644 --- a/plat/xilinx/zynqmp/pm_service/pm_svc_main.c +++ b/plat/xilinx/zynqmp/pm_service/pm_svc_main.c @@ -151,6 +151,8 @@ static uint64_t __unused __dead2 zynqmp_sgi7_irq(uint32_t id, uint32_t flags, 0xffffffff); } + dsb(); + spin_unlock(&inc_lock); if (active_cores == 0) {