ti_sci_cmd_prepare_sleep takes three arguments ctx_lo, ctx_hi and
debug_flags which are always 0 for the caller. Remove these arguments as
they are basically unused.
Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
---
drivers/firmware/ti_sci.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
index 49fd2ae01055d0f425062147422471f0fd49e4bd..24ab392b4a5d0460153de76fe382371e319d8f2e 100644
--- a/drivers/firmware/ti_sci.c
+++ b/drivers/firmware/ti_sci.c
@@ -1661,14 +1661,10 @@ static int ti_sci_cmd_clk_get_freq(const struct ti_sci_handle *handle,
* ti_sci_cmd_prepare_sleep() - Prepare system for system suspend
* @handle: pointer to TI SCI handle
* @mode: Device identifier
- * @ctx_lo: Low part of address for context save
- * @ctx_hi: High part of address for context save
- * @debug_flags: Debug flags to pass to firmware
*
* Return: 0 if all went well, else returns appropriate error value.
*/
-static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
- u32 ctx_lo, u32 ctx_hi, u32 debug_flags)
+static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode)
{
struct ti_sci_info *info;
struct ti_sci_msg_req_prepare_sleep *req;
@@ -1696,9 +1692,9 @@ static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
req = (struct ti_sci_msg_req_prepare_sleep *)xfer->xfer_buf;
req->mode = mode;
- req->ctx_lo = ctx_lo;
- req->ctx_hi = ctx_hi;
- req->debug_flags = debug_flags;
+ req->ctx_lo = 0;
+ req->ctx_hi = 0;
+ req->debug_flags = 0;
ret = ti_sci_do_xfer(info, xfer);
if (ret) {
@@ -3689,8 +3685,7 @@ static int ti_sci_prepare_system_suspend(struct ti_sci_info *info)
* internal use and can be 0
*/
return ti_sci_cmd_prepare_sleep(&info->handle,
- TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED,
- 0, 0, 0);
+ TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED);
} else {
/* DM Managed is not supported by the firmware. */
dev_err(info->dev, "Suspend to memory is not supported by the firmware\n");
--
2.51.0
On 10/30/25 4:26 AM, Markus Schneider-Pargmann (TI.com) wrote:
> ti_sci_cmd_prepare_sleep takes three arguments ctx_lo, ctx_hi and
> debug_flags which are always 0 for the caller. Remove these arguments as
> they are basically unused.
>
They might not be used today, but the TI-SCI command does support
passing them, so why remove that ability from the wrapper function?
Andrew
> Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
> ---
> drivers/firmware/ti_sci.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
> index 49fd2ae01055d0f425062147422471f0fd49e4bd..24ab392b4a5d0460153de76fe382371e319d8f2e 100644
> --- a/drivers/firmware/ti_sci.c
> +++ b/drivers/firmware/ti_sci.c
> @@ -1661,14 +1661,10 @@ static int ti_sci_cmd_clk_get_freq(const struct ti_sci_handle *handle,
> * ti_sci_cmd_prepare_sleep() - Prepare system for system suspend
> * @handle: pointer to TI SCI handle
> * @mode: Device identifier
> - * @ctx_lo: Low part of address for context save
> - * @ctx_hi: High part of address for context save
> - * @debug_flags: Debug flags to pass to firmware
> *
> * Return: 0 if all went well, else returns appropriate error value.
> */
> -static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
> - u32 ctx_lo, u32 ctx_hi, u32 debug_flags)
> +static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode)
> {
> struct ti_sci_info *info;
> struct ti_sci_msg_req_prepare_sleep *req;
> @@ -1696,9 +1692,9 @@ static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
>
> req = (struct ti_sci_msg_req_prepare_sleep *)xfer->xfer_buf;
> req->mode = mode;
> - req->ctx_lo = ctx_lo;
> - req->ctx_hi = ctx_hi;
> - req->debug_flags = debug_flags;
> + req->ctx_lo = 0;
> + req->ctx_hi = 0;
> + req->debug_flags = 0;
>
> ret = ti_sci_do_xfer(info, xfer);
> if (ret) {
> @@ -3689,8 +3685,7 @@ static int ti_sci_prepare_system_suspend(struct ti_sci_info *info)
> * internal use and can be 0
> */
> return ti_sci_cmd_prepare_sleep(&info->handle,
> - TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED,
> - 0, 0, 0);
> + TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED);
> } else {
> /* DM Managed is not supported by the firmware. */
> dev_err(info->dev, "Suspend to memory is not supported by the firmware\n");
>
Hi Andrew,
On Thu Oct 30, 2025 at 3:13 PM CET, Andrew Davis wrote:
> On 10/30/25 4:26 AM, Markus Schneider-Pargmann (TI.com) wrote:
>> ti_sci_cmd_prepare_sleep takes three arguments ctx_lo, ctx_hi and
>> debug_flags which are always 0 for the caller. Remove these arguments as
>> they are basically unused.
>>
>
> They might not be used today, but the TI-SCI command does support
> passing them, so why remove that ability from the wrapper function?
Thank you. I removed the arguments as I prefer something like
return ti_sci_cmd_prepare_sleep(&info->handle,
TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED);
over
return ti_sci_cmd_prepare_sleep(&info->handle,
TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED,
0, 0, 0);
As this function is not part of any API and only used by
ti_sci_prepare_system_suspend I didn't see a problem in removing it.
Also I don't know of any code that will be using these arguments.
If you prefer I can drop this patch.
Best
Markus
>
> Andrew
>
>> Signed-off-by: Markus Schneider-Pargmann (TI.com) <msp@baylibre.com>
>> ---
>> drivers/firmware/ti_sci.c | 15 +++++----------
>> 1 file changed, 5 insertions(+), 10 deletions(-)
>>
>> diff --git a/drivers/firmware/ti_sci.c b/drivers/firmware/ti_sci.c
>> index 49fd2ae01055d0f425062147422471f0fd49e4bd..24ab392b4a5d0460153de76fe382371e319d8f2e 100644
>> --- a/drivers/firmware/ti_sci.c
>> +++ b/drivers/firmware/ti_sci.c
>> @@ -1661,14 +1661,10 @@ static int ti_sci_cmd_clk_get_freq(const struct ti_sci_handle *handle,
>> * ti_sci_cmd_prepare_sleep() - Prepare system for system suspend
>> * @handle: pointer to TI SCI handle
>> * @mode: Device identifier
>> - * @ctx_lo: Low part of address for context save
>> - * @ctx_hi: High part of address for context save
>> - * @debug_flags: Debug flags to pass to firmware
>> *
>> * Return: 0 if all went well, else returns appropriate error value.
>> */
>> -static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
>> - u32 ctx_lo, u32 ctx_hi, u32 debug_flags)
>> +static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode)
>> {
>> struct ti_sci_info *info;
>> struct ti_sci_msg_req_prepare_sleep *req;
>> @@ -1696,9 +1692,9 @@ static int ti_sci_cmd_prepare_sleep(const struct ti_sci_handle *handle, u8 mode,
>>
>> req = (struct ti_sci_msg_req_prepare_sleep *)xfer->xfer_buf;
>> req->mode = mode;
>> - req->ctx_lo = ctx_lo;
>> - req->ctx_hi = ctx_hi;
>> - req->debug_flags = debug_flags;
>> + req->ctx_lo = 0;
>> + req->ctx_hi = 0;
>> + req->debug_flags = 0;
>>
>> ret = ti_sci_do_xfer(info, xfer);
>> if (ret) {
>> @@ -3689,8 +3685,7 @@ static int ti_sci_prepare_system_suspend(struct ti_sci_info *info)
>> * internal use and can be 0
>> */
>> return ti_sci_cmd_prepare_sleep(&info->handle,
>> - TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED,
>> - 0, 0, 0);
>> + TISCI_MSG_VALUE_SLEEP_MODE_DM_MANAGED);
>> } else {
>> /* DM Managed is not supported by the firmware. */
>> dev_err(info->dev, "Suspend to memory is not supported by the firmware\n");
>>
© 2016 - 2026 Red Hat, Inc.