diff options
| author | Subhash Jadavani <subhashj@codeaurora.org> | 2014-10-08 19:08:10 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 10:57:36 -0700 |
| commit | ab18ee44ce262018da8bf4c18b8e642e152dac89 (patch) | |
| tree | 6fca7665bffbd26b4cee103ce1a2e41692c770df /include/trace | |
| parent | cfd27bd4b766d785ce70cf4b1e1ace84c7e3c7a9 (diff) | |
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>
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/ufs.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/trace/events/ufs.h b/include/trace/events/ufs.h index 7b3d9e140272..13bf97b19a71 100644 --- a/include/trace/events/ufs.h +++ b/include/trace/events/ufs.h @@ -39,6 +39,26 @@ TRACE_EVENT(ufshcd_clk_gating, __get_str(dev_name), __get_str(state)) ); +TRACE_EVENT(ufshcd_hibern8_on_idle, + + TP_PROTO(const char *dev_name, const char *state), + + TP_ARGS(dev_name, state), + + TP_STRUCT__entry( + __string(dev_name, dev_name) + __string(state, state) + ), + + TP_fast_assign( + __assign_str(dev_name, dev_name); + __assign_str(state, state); + ), + + TP_printk("%s: state changed to %s", + __get_str(dev_name), __get_str(state)) +); + TRACE_EVENT(ufshcd_clk_scaling, TP_PROTO(const char *dev_name, const char *state, const char *clk, |
