diff mbox series

[v1] slimbus: qcom-ngd-ctrl: Reduce auto suspend delay

Message ID 20240304135000.21432-1-quic_vdadhani@quicinc.com (mailing list archive)
State Superseded
Headers show
Series [v1] slimbus: qcom-ngd-ctrl: Reduce auto suspend delay | expand

Commit Message

Viken Dadhaniya March 4, 2024, 1:50 p.m. UTC
Currently we have auto suspend delay of 1s which is
very high and it takes long time to driver for runtime
suspend after use case is done.

Hence to optimize runtime PM ops, reduce auto suspend
delay to 100ms.

Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com>
---
 drivers/slimbus/qcom-ngd-ctrl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Konrad Dybcio March 5, 2024, 9:16 p.m. UTC | #1
On 3/4/24 14:50, Viken Dadhaniya wrote:
> Currently we have auto suspend delay of 1s which is
> very high and it takes long time to driver for runtime
> suspend after use case is done.
> 
> Hence to optimize runtime PM ops, reduce auto suspend
> delay to 100ms.
> 
> Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com>
> ---

What determines 1s to be high and 100ms to be low enough? Could
you share some more reasoning?

>   drivers/slimbus/qcom-ngd-ctrl.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
> index efeba8275a66..5de45a0e3da5 100644
> --- a/drivers/slimbus/qcom-ngd-ctrl.c
> +++ b/drivers/slimbus/qcom-ngd-ctrl.c
> @@ -81,7 +81,7 @@
>   #define SLIM_USR_MC_DISCONNECT_PORT	0x2E
>   #define SLIM_USR_MC_REPEAT_CHANGE_VALUE	0x0
>   
> -#define QCOM_SLIM_NGD_AUTOSUSPEND	MSEC_PER_SEC
> +#define QCOM_SLIM_NGD_AUTOSUSPEND	(MSEC_PER_SEC / 10)

This could be a good opportunity to inline this value..

Konrad
Viken Dadhaniya March 8, 2024, 12:43 p.m. UTC | #2
On 3/6/2024 2:46 AM, Konrad Dybcio wrote:
> 
> 
> On 3/4/24 14:50, Viken Dadhaniya wrote:
>> Currently we have auto suspend delay of 1s which is
>> very high and it takes long time to driver for runtime
>> suspend after use case is done.
>>
>> Hence to optimize runtime PM ops, reduce auto suspend
>> delay to 100ms.
>>
>> Signed-off-by: Viken Dadhaniya <quic_vdadhani@quicinc.com>
>> ---
> 
> What determines 1s to be high and 100ms to be low enough? Could
> you share some more reasoning?

Right now we don't have exact number which can quantify either power or 
performance. But we are following small window so as to not keep timer 
running longer while having resources like Clock ON. Theoretically and 
testing wise, this is not creating any side effect too.

> 
>>   drivers/slimbus/qcom-ngd-ctrl.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/slimbus/qcom-ngd-ctrl.c 
>> b/drivers/slimbus/qcom-ngd-ctrl.c
>> index efeba8275a66..5de45a0e3da5 100644
>> --- a/drivers/slimbus/qcom-ngd-ctrl.c
>> +++ b/drivers/slimbus/qcom-ngd-ctrl.c
>> @@ -81,7 +81,7 @@
>>   #define SLIM_USR_MC_DISCONNECT_PORT    0x2E
>>   #define SLIM_USR_MC_REPEAT_CHANGE_VALUE    0x0
>> -#define QCOM_SLIM_NGD_AUTOSUSPEND    MSEC_PER_SEC
>> +#define QCOM_SLIM_NGD_AUTOSUSPEND    (MSEC_PER_SEC / 10)
> 
> This could be a good opportunity to inline this value..

Updated in v2.

> 
> Konrad
diff mbox series

Patch

diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c
index efeba8275a66..5de45a0e3da5 100644
--- a/drivers/slimbus/qcom-ngd-ctrl.c
+++ b/drivers/slimbus/qcom-ngd-ctrl.c
@@ -81,7 +81,7 @@ 
 #define SLIM_USR_MC_DISCONNECT_PORT	0x2E
 #define SLIM_USR_MC_REPEAT_CHANGE_VALUE	0x0
 
-#define QCOM_SLIM_NGD_AUTOSUSPEND	MSEC_PER_SEC
+#define QCOM_SLIM_NGD_AUTOSUSPEND	(MSEC_PER_SEC / 10)
 #define SLIM_RX_MSGQ_TIMEOUT_VAL	0x10000
 
 #define SLIM_LA_MGR	0xFF