| From 4c207afab71ea04998a6332dbd781963a5e2b84c Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 7 Feb 2025 11:19:51 +0530 |
| Subject: firmware: xilinx: Dont send linux address to get fpga config get |
| status |
| |
| From: Siva Durga Prasad Paladugu <siva.durga.prasad.paladugu@amd.com> |
| |
| [ Upstream commit 5abc174016052caff1bcf4cedb159bd388411e98 ] |
| |
| Fpga get config status just returns status through ret_payload and there |
| is no need to allocate local buf and send its address through SMC args. |
| Moreover, the address that is being passed till now is linux virtual |
| address and is incorrect. |
| Corresponding modification has been done in the firmware to avoid using the |
| address sent by linux. |
| |
| Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.prasad.paladugu@amd.com> |
| Signed-off-by: Nava kishore Manne <nava.kishore.manne@amd.com> |
| Link: https://lore.kernel.org/r/20250207054951.1650534-1-nava.kishore.manne@amd.com |
| Signed-off-by: Michal Simek <michal.simek@amd.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/firmware/xilinx/zynqmp.c | 6 +----- |
| 1 file changed, 1 insertion(+), 5 deletions(-) |
| |
| diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c |
| index 720fa8b5d8e95..7356e860e65ce 100644 |
| --- a/drivers/firmware/xilinx/zynqmp.c |
| +++ b/drivers/firmware/xilinx/zynqmp.c |
| @@ -1139,17 +1139,13 @@ EXPORT_SYMBOL_GPL(zynqmp_pm_fpga_get_status); |
| int zynqmp_pm_fpga_get_config_status(u32 *value) |
| { |
| u32 ret_payload[PAYLOAD_ARG_CNT]; |
| - u32 buf, lower_addr, upper_addr; |
| int ret; |
| |
| if (!value) |
| return -EINVAL; |
| |
| - lower_addr = lower_32_bits((u64)&buf); |
| - upper_addr = upper_32_bits((u64)&buf); |
| - |
| ret = zynqmp_pm_invoke_fn(PM_FPGA_READ, ret_payload, 4, |
| - XILINX_ZYNQMP_PM_FPGA_CONFIG_STAT_OFFSET, lower_addr, upper_addr, |
| + XILINX_ZYNQMP_PM_FPGA_CONFIG_STAT_OFFSET, 0, 0, |
| XILINX_ZYNQMP_PM_FPGA_READ_CONFIG_REG); |
| |
| *value = ret_payload[1]; |
| -- |
| 2.39.5 |
| |