From 427e46ddea1e528d4c57b1d8215482055bd79c3e Mon Sep 17 00:00:00 2001 From: Jay Buddhabhatti Date: Mon, 11 Sep 2023 23:50:53 -0700 Subject: [PATCH] fix(xilinx): fix sending sgi to linux Currently in Versal NET TF-A writing 32 bits in icc_asgi1r_el1 register to raise SGI to Linux but this register is of 64 bits. Also its writing only CPU number and SGI number to this register but along with that it needs to write cluster number and other information. Which is not happening currently. So use generic function plat_ic_raise_ns_sgi() to raise SGI to Linux. Signed-off-by: Jay Buddhabhatti Change-Id: I6f5146c8315a321b705ed2ef79e2dc927b805ffb --- plat/xilinx/common/pm_service/pm_svc_main.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/plat/xilinx/common/pm_service/pm_svc_main.c b/plat/xilinx/common/pm_service/pm_svc_main.c index 9df9eb2be..b62b2713c 100644 --- a/plat/xilinx/common/pm_service/pm_svc_main.c +++ b/plat/xilinx/common/pm_service/pm_svc_main.c @@ -45,13 +45,7 @@ bool pwrdwn_req_received; static void notify_os(void) { - int32_t cpu; - uint32_t reg; - - cpu = plat_my_core_pos() + 1U; - - reg = (cpu | (sgi << XSCUGIC_SGIR_EL1_INITID_SHIFT)); - write_icc_asgi1r_el1(reg); + plat_ic_raise_ns_sgi(sgi, read_mpidr_el1()); } static uint64_t cpu_pwrdwn_req_handler(uint32_t id, uint32_t flags,