diff options
| author | Naman Trivedi <[email protected]> | 2025-08-28 15:42:22 +0200 |
|---|---|---|
| committer | Michal Simek <[email protected]> | 2025-10-09 09:07:03 +0200 |
| commit | 4146a31dcec709058a8e793b86712b0ffa1ba15a (patch) | |
| tree | fde641edd88939431fff5a3e1000ebfcf38c4963 /drivers/soc | |
| parent | e7fe2c7bc60d9963f8309d0094fec753b767fd36 (diff) | |
drivers: firmware: update xilinx_pm_request to support max payload
Currently xilinx_pm_request API supports four u32 payloads. However the
legacy SMC format supports five u32 request payloads and extended SMC
format supports six u32 request payloads. Add support for the same in
xilinx_pm_request API. Also add two dummy arguments to all the callers
of xilinx_pm_request.
The TF-A always fills seven u32 return payload so add support
for the same in xilinx_pm_request API.
Signed-off-by: Naman Trivedi <[email protected]>
Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]>
Acked-by: Senthil Nathan Thangaraj <[email protected]>
Signed-off-by: Michal Simek <[email protected]>
Link: https://lore.kernel.org/r/5ae6b560741f3ca8b89059c4ebb87acf75b4718e.1756388537.git.michal.simek@amd.com
Diffstat (limited to 'drivers/soc')
| -rw-r--r-- | drivers/soc/soc_amd_versal2.c | 2 | ||||
| -rw-r--r-- | drivers/soc/soc_xilinx_versal.c | 2 | ||||
| -rw-r--r-- | drivers/soc/soc_xilinx_versal_net.c | 2 | ||||
| -rw-r--r-- | drivers/soc/soc_xilinx_zynqmp.c | 2 |
4 files changed, 4 insertions, 4 deletions
diff --git a/drivers/soc/soc_amd_versal2.c b/drivers/soc/soc_amd_versal2.c index 8507da0bd22..7f06c1e70bc 100644 --- a/drivers/soc/soc_amd_versal2.c +++ b/drivers/soc/soc_amd_versal2.c @@ -55,7 +55,7 @@ static int soc_amd_versal2_probe(struct udevice *dev) if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) { ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + 0, 0, ret_payload); if (ret) return ret; } else { diff --git a/drivers/soc/soc_xilinx_versal.c b/drivers/soc/soc_xilinx_versal.c index 7427f8432c8..c43a80df1fc 100644 --- a/drivers/soc/soc_xilinx_versal.c +++ b/drivers/soc/soc_xilinx_versal.c @@ -51,7 +51,7 @@ static int soc_xilinx_versal_probe(struct udevice *dev) if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) { ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + 0, 0, ret_payload); if (ret) return ret; } else { diff --git a/drivers/soc/soc_xilinx_versal_net.c b/drivers/soc/soc_xilinx_versal_net.c index d64fc366a6d..210f9f8f8fd 100644 --- a/drivers/soc/soc_xilinx_versal_net.c +++ b/drivers/soc/soc_xilinx_versal_net.c @@ -53,7 +53,7 @@ static int soc_xilinx_versal_net_probe(struct udevice *dev) if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) { ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + 0, 0, ret_payload); if (ret) return ret; } else { diff --git a/drivers/soc/soc_xilinx_zynqmp.c b/drivers/soc/soc_xilinx_zynqmp.c index 4b69ff3de13..b97cd443c60 100644 --- a/drivers/soc/soc_xilinx_zynqmp.c +++ b/drivers/soc/soc_xilinx_zynqmp.c @@ -362,7 +362,7 @@ static int soc_xilinx_zynqmp_probe(struct udevice *dev) ret = zynqmp_mmio_read(ZYNQMP_PS_VERSION, &ret_payload[2]); else ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + 0, 0, ret_payload); if (ret < 0) return ret; |
