Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16dabee0 authored by Sahitya Tummala's avatar Sahitya Tummala Committed by Xiaonian Wang
Browse files

mmc: sdhci: Add timestamp debug info for data timeout error



This helps check the controller timeout logic in case of data
timeout errors.

Change-Id: Ia30757192e49865698c5f52940e1dc5d97746185
Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
[subhashj@codeaurora.org: fixed minor merge conflict]
Signed-off-by: default avatarSubhash Jadavani <subhashj@codeaurora.org>
[xiaonian@codeaurora.org: fix trivial merge conflict]
Signed-off-by: default avatarXiaonian Wang <xiaonian@codeaurora.org>
parent 2886c92c
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1186,6 +1186,8 @@ void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
	    cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200)
		flags |= SDHCI_CMD_DATA;

	if (cmd->data)
		host->data_start_time = ktime_get();
	sdhci_writew(host, SDHCI_MAKE_CMD(cmd->opcode, flags), SDHCI_COMMAND);
}
EXPORT_SYMBOL_GPL(sdhci_send_command);
@@ -2736,9 +2738,10 @@ static void sdhci_data_irq(struct sdhci_host *host, u32 intmask)
			pr_msg = true;
		}
		if (pr_msg) {
			pr_err("%s: data txfr (0x%08x) error: %d\n",
			pr_err("%s: data txfr (0x%08x) error: %d after %lld ms\n",
			       mmc_hostname(host->mmc), intmask,
			       host->data->error);
			       host->data->error, ktime_to_ms(ktime_sub(
			       ktime_get(), host->data_start_time)));
			sdhci_dumpregs(host);
		}
		sdhci_finish_data(host);
+1 −0
Original line number Diff line number Diff line
@@ -542,6 +542,7 @@ struct sdhci_host {

	unsigned int		cpu_dma_latency_us;
	struct pm_qos_request	pm_qos_req_dma;
	ktime_t data_start_time;

	unsigned long private[0] ____cacheline_aligned;
};