diff options
author | Sujit Reddy Thumma <sthumma@codeaurora.org> | 2013-02-14 08:13:52 +0530 |
---|---|---|
committer | Subhash Jadavani <subhashj@codeaurora.org> | 2016-05-31 15:25:47 -0700 |
commit | b4b98fb480f72639d3a4166cdb2f1015b4c331f9 (patch) | |
tree | 66f264b65b29314c4ed6ab1254eedaed5878f8ee /drivers | |
parent | 553d6cb4e2604798725cc5fb6960d9b69ac0365f (diff) |
mmc: core: Log MMC clock frequency transitions
Use kernel's ftrace support to capture MMC clock frequency
transitions which can be useful for debugging issues related
to power consumption.
Usage:
mount -t debugfs none /sys/kernel/debug
echo 1 > /sys/kernel/debug/tracing/events/mmc/mmc_clk/enable
cat /sys/kernel/debug/tracing/trace_pipe
Change-Id: I25c4ee39dcbe30e7665902a9f723a5a421b55ca3
Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/core/core.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 150dbb2a7d8a..b085b34f703c 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1122,6 +1122,19 @@ void mmc_set_ios(struct mmc_host *host) if (ios->clock > 0) mmc_set_ungated(host); host->ops->set_ios(host, ios); + if (ios->old_rate != ios->clock) { + if (likely(ios->clk_ts)) { + char trace_info[80]; + snprintf(trace_info, 80, + "%s: freq_KHz %d --> %d | t = %d", + mmc_hostname(host), ios->old_rate / 1000, + ios->clock / 1000, jiffies_to_msecs( + (long)jiffies - (long)ios->clk_ts)); + trace_mmc_clk(trace_info); + } + ios->old_rate = ios->clock; + ios->clk_ts = jiffies; + } } EXPORT_SYMBOL(mmc_set_ios); |