summaryrefslogtreecommitdiff
path: root/include/trace
diff options
context:
space:
mode:
authorSubhash Jadavani <subhashj@codeaurora.org>2014-10-08 19:08:10 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 10:57:36 -0700
commitab18ee44ce262018da8bf4c18b8e642e152dac89 (patch)
tree6fca7665bffbd26b4cee103ce1a2e41692c770df /include/trace
parentcfd27bd4b766d785ce70cf4b1e1ace84c7e3c7a9 (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.h20
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,