]> www.infradead.org Git - linux.git/commit
scsi: ufs: core: Suspend clk scaling on no request
authorRam Prakash Gupta <quic_rampraka@quicinc.com>
Thu, 27 Jun 2024 08:37:55 +0000 (14:07 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 5 Jul 2024 02:48:33 +0000 (22:48 -0400)
commit50183ac2cfb54e027dd36fb22ea1bd1e91e3a08b
tree56aaa86ba8d7945687008ddbc4da7c590e39c405
parentde24085328c09e5a6dd8a8d95ad65876f097e9c1
scsi: ufs: core: Suspend clk scaling on no request

Currently UFS clk scaling is getting suspended only when the clks are
scaled down. When high load is generated, a huge amount of latency is added
due to scaling up the clk and completing the request post that.

Suspending the scaling in its existing state when high load is generated
improves the random performance KPI by 28%. So suspending the scaling when
there are no requests. And the clk would be put in low scaled state when
the actual request load is low.

Make this change optional by having the check enabled using vops since for
some devices suspending without bringing the clk in low scaled state might
have impact on power consumption of the SoC.

Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Link: https://lore.kernel.org/r/20240627083756.25340-2-quic_rampraka@quicinc.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c
include/ufs/ufshcd.h