summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorVenkat Gopalakrishnan <venkatg@codeaurora.org>2015-09-28 18:53:18 -0700
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:27:45 -0700
commit603e5ef719b620ebddb2d61681a80dc44ea0c8a9 (patch)
tree743cd779b27e71c0575fbe6f5f57ad1f3485eaf5 /include/linux
parent71728d8db1686f38faaef0f07326d2aaff753a01 (diff)
mmc: cmdq_hci: Add cyclic buffer to keep history of last 32 tasks
Keep track of task history for the last 32 tasks and dump it along with registers in case of any error for debugging. The log is of the following format: [index] <DATA|DCMD> Task: <lower 32bits> | Args: <upper 32bits> of the task descriptor structure. The values need to be decoded accordingly depending on the data or dcmd task descriptor. The last entry index denotes the latest entry in this list. ---- Circular Task History ---- cmdq-host: Last entry index: 1 cmdq-host: [00]DATA Task: 0x0400002f | Args: 0x00d37d18 cmdq-host: [01]DATA Task: 0x0400002f | Args: 0x00d38118 cmdq-host: [02]DCMD Task: 0x0186402f | Args: 0x03200101 Add a debugfs entry to enable/disable this dynamically. It is disabled by default. This applies only to eMMC devices. Usage: echo Y > /sys/kernel/debug/mmcX/cmdq_task_history X - denotes the slot id Change-Id: I6abf29aa928d3d8270405cfc104241043dadfe45 Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org> [subhashj@codeaurora.org: fixed compilation error] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mmc/host.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 3b028e566282..959713837423 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -568,6 +568,7 @@ struct mmc_host {
enum dev_state dev_status;
bool wakeup_on_idle;
struct mmc_cmdq_context_info cmdq_ctx;
+ bool cmdq_thist_enabled;
/*
* several cmdq supporting host controllers are extensions
* of legacy controllers. This variable can be used to store