aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRavi Patel <ravi.patel@xilinx.com>2020-11-23 04:19:08 -0800
committerManish Pandey <manish.pandey2@arm.com>2020-12-07 11:08:09 +0000
commitaddc4e969bb157d736ccd0d46db85c8e9c835d42 (patch)
tree2d753bb73f852eafdd52893195f20e0845620710
parentd4c7b55050df147dce8c243e6bc8a3e9645c027b (diff)
downloadarm-trusted-firmware-addc4e969bb157d736ccd0d46db85c8e9c835d42.tar.gz
plat: xilinx: Mask unnecessary bytes of return error code
Versal firmware adds extra error codes along with PM error codes while sending response to driver. This makes incorrect error identification at driver side. To fix this, mask the unnecessary error bytes before sending the error code to the driver. Signed-off-by: Ravi Patel <ravi.patel@xilinx.com> Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com> Change-Id: I18c2f3bd2d067e91344852c2f0c1bafea0e6eb23
-rw-r--r--plat/xilinx/common/pm_service/pm_ipi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/plat/xilinx/common/pm_service/pm_ipi.c b/plat/xilinx/common/pm_service/pm_ipi.c
index c83d25b0d..5dcceaea2 100644
--- a/plat/xilinx/common/pm_service/pm_ipi.c
+++ b/plat/xilinx/common/pm_service/pm_ipi.c
@@ -18,6 +18,8 @@
#include "pm_ipi.h"
+#define ERROR_CODE_MASK 0xFFFFU
+
DEFINE_BAKERY_LOCK(pm_secure_lock);
/**
@@ -230,7 +232,7 @@ enum pm_ret_status pm_ipi_send_sync(const struct pm_proc *proc,
if (ret != PM_RET_SUCCESS)
goto unlock;
- ret = pm_ipi_buff_read(proc, value, count);
+ ret = ERROR_CODE_MASK & (pm_ipi_buff_read(proc, value, count));
unlock:
bakery_lock_release(&pm_secure_lock);