[PATCH v1] slimbus: qcom-ngd-ctrl: Reduce auto suspend delay
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(-)
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
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
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
participants (2)
-
Konrad Dybcio
-
Viken Dadhaniya