Message ID | 20250207054951.1650534-1-nava.kishore.manne@amd.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] firmware: xilinx: Dont send linux address to get fpga config get status | expand |
On 2/7/25 06:49, Nava kishore Manne wrote: > From: Siva Durga Prasad Paladugu <siva.durga.prasad.paladugu@amd.com> > > 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> > --- > Changes for v2: > - Drop the specified patch: > https://lore.kernel.org/lkml/DS7PR12MB6070A83267558A7D545E3383CDF72@DS7PR12MB6070.namprd12.prod.outlook.com/ > - Rebase the patch on v6.14-rc1 without any changes. > > 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 720fa8b5d8e9..7356e860e65c 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]; Applied. M
diff --git a/drivers/firmware/xilinx/zynqmp.c b/drivers/firmware/xilinx/zynqmp.c index 720fa8b5d8e9..7356e860e65c 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];