OSDN Git Service

scsi: ufs: add support for hibern8 on idle
authorSubhash Jadavani <subhashj@codeaurora.org>
Thu, 9 Oct 2014 02:08:10 +0000 (19:08 -0700)
committerDavid Keitel <dkeitel@codeaurora.org>
Tue, 22 Mar 2016 17:57:36 +0000 (10:57 -0700)
commitab18ee44ce262018da8bf4c18b8e642e152dac89
tree6fca7665bffbd26b4cee103ce1a2e41692c770df
parentcfd27bd4b766d785ce70cf4b1e1ace84c7e3c7a9
scsi: ufs: add support for hibern8 on idle

In order to save power we should put the UFS link into hibern8 as soon as
UFS link is idle and power measurement of active usecases (like audio/video
playback/recording) show that putting UFS link in hibern8 @ 10ms of idle
(if not earlier) would save significant power.

Our current available solution is to do hibern8 with clock gating @idle
timeout of 150ms. As clock gating has huge latencies (7ms each in enter and
exit), we cannot bring down the idle timeout to <=10ms without degrading
UFS throughput. Hence this change has added support to enter into hibern8
with another idle timer.

Change-Id: I5a31f18fc21015d4a68236da9fd94f3f016e1d44
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
[subhashj@codeaurora.org: resolved trivial merge conflicts]
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
drivers/scsi/ufs/ufs-qcom.c
drivers/scsi/ufs/ufshcd.c
include/linux/scsi/ufs/ufshcd.h
include/trace/events/ufs.h