Commit 1a84ae36 authored by Wolfram Sang's avatar Wolfram Sang Committed by sanglipeng
Browse files

mmc: renesas_sdhi: only reset SCC when its pointer is populated

stable inclusion
from stable-v5.10.198
commit 1e3d016a95067ab3e6fcd245ba67b644a6b7d698
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I987V5

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1e3d016a95067ab3e6fcd245ba67b644a6b7d698



--------------------------------

commit 45bffc37 upstream.

Only re-initialize SCC and tuning when an SCC was found during probe().
This is currently a noop because all R-Car Gen2+ are considered to have
an SCC. But this will change in a later patch, so we need this
preparation.

Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: default avatarYoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20201110142058.36393-2-wsa+renesas@sang-engineering.com


Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarsanglipeng <sanglipeng1@jd.com>
parent cbc63d56
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -556,6 +556,7 @@ static void renesas_sdhi_reset(struct tmio_mmc_host *host)
{
	struct renesas_sdhi *priv = host_to_priv(host);

	if (priv->scc_ctl) {
		renesas_sdhi_reset_scc(host, priv);
		renesas_sdhi_reset_hs400_mode(host, priv);
		priv->needs_adjust_hs400 = false;
@@ -566,6 +567,7 @@ static void renesas_sdhi_reset(struct tmio_mmc_host *host)
		sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL,
			       ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN &
			       sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL));
	}

	if (host->pdata->flags & TMIO_MMC_MIN_RCAR2)
		sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK,