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

Commit b9f8507e authored by Venkat Gopalakrishnan's avatar Venkat Gopalakrishnan Committed by Matt Wagantall
Browse files

mmc: sdhci-msm: do not disable test-bus



There is a hardware ring-buffer that logs the commands
sent and doorbells rung. This is helpful for debugging
in case of errors. This requires that the testbus be
enabled. Hence don't disable testbus.

Change-Id: I9c2fa984740aa9a0f8135d2196be6b3639ec22d1
Signed-off-by: default avatarAsutosh Das <asutoshd@codeaurora.org>
Signed-off-by: default avatarVenkat Gopalakrishnan <venkatg@codeaurora.org>
parent 3e7f2fe3
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -2732,9 +2732,6 @@ void sdhci_msm_dump_vendor_regs(struct sdhci_host *host)
		pr_info(" Test bus[%d to %d]: 0x%08x 0x%08x 0x%08x 0x%08x\n",
				i, i + 3, debug_reg[i], debug_reg[i+1],
				debug_reg[i+2], debug_reg[i+3]);
	/* Disable test bus */
	writel_relaxed(~CORE_TESTBUS_ENA, msm_host->core_mem +
			CORE_TESTBUS_CONFIG);
	if (host->is_crypto_en) {
		sdhci_msm_ice_get_status(host, &sts);
		pr_info("%s: ICE status %x\n", mmc_hostname(host->mmc), sts);
@@ -2753,6 +2750,22 @@ void sdhci_msm_reset(struct sdhci_host *host, u8 mask)
	sdhci_reset(host, mask);
}

static void sdhci_msm_clear_set_dumpregs(struct sdhci_host *host, bool set)
{
	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
	struct sdhci_msm_host *msm_host = pltfm_host->priv;

	if (set) {
		writel_relaxed(CORE_TESTBUS_ENA,
			       msm_host->core_mem + CORE_TESTBUS_CONFIG);
	} else {
		u32 value;
		value = readl_relaxed(msm_host->core_mem + CORE_TESTBUS_CONFIG);
		value &= ~CORE_TESTBUS_ENA;
		writel_relaxed(value, msm_host->core_mem + CORE_TESTBUS_CONFIG);
	}
}

static struct sdhci_ops sdhci_msm_ops = {
	.crypto_engine_cfg = sdhci_msm_ice_cfg,
	.crypto_engine_reset = sdhci_msm_ice_reset,
@@ -2769,6 +2782,7 @@ static struct sdhci_ops sdhci_msm_ops = {
	.enable_controller_clock = sdhci_msm_enable_controller_clock,
	.set_bus_width = sdhci_set_bus_width,
	.reset = sdhci_msm_reset,
	.clear_set_dumpregs = sdhci_msm_clear_set_dumpregs,
};

static void sdhci_set_default_hw_caps(struct sdhci_msm_host *msm_host,