From 24c058e47b84cd7bd5d02b66e5734d189fc325f7 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 10 Oct 2023 21:15:15 +0200 Subject: [PATCH] 5.10-stable patches added patches: mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch --- ...et-scc-when-its-pointer-is-populated.patch | 57 +++++++++++++++++++ queue-5.10/series | 1 + 2 files changed, 58 insertions(+) create mode 100644 queue-5.10/mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch diff --git a/queue-5.10/mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch b/queue-5.10/mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch new file mode 100644 index 00000000000..2dc10b342c7 --- /dev/null +++ b/queue-5.10/mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch @@ -0,0 +1,57 @@ +From 45bffc371fefd8537804b001080a47c6b69d5efa Mon Sep 17 00:00:00 2001 +From: Wolfram Sang +Date: Tue, 10 Nov 2020 15:20:55 +0100 +Subject: mmc: renesas_sdhi: only reset SCC when its pointer is populated +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Wolfram Sang + +commit 45bffc371fefd8537804b001080a47c6b69d5efa 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: Wolfram Sang +Reviewed-by: Niklas Söderlund +Reviewed-by: Yoshihiro Shimoda +Tested-by: Yoshihiro Shimoda +Link: https://lore.kernel.org/r/20201110142058.36393-2-wsa+renesas@sang-engineering.com +Signed-off-by: Ulf Hansson +Signed-off-by: Greg Kroah-Hartman +--- + drivers/mmc/host/renesas_sdhi_core.c | 18 ++++++++++-------- + 1 file changed, 10 insertions(+), 8 deletions(-) + +--- a/drivers/mmc/host/renesas_sdhi_core.c ++++ b/drivers/mmc/host/renesas_sdhi_core.c +@@ -556,16 +556,18 @@ static void renesas_sdhi_reset(struct tm + { + struct renesas_sdhi *priv = host_to_priv(host); + +- renesas_sdhi_reset_scc(host, priv); +- renesas_sdhi_reset_hs400_mode(host, priv); +- priv->needs_adjust_hs400 = false; ++ if (priv->scc_ctl) { ++ renesas_sdhi_reset_scc(host, priv); ++ renesas_sdhi_reset_hs400_mode(host, priv); ++ priv->needs_adjust_hs400 = false; + +- sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | +- sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL)); ++ sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | ++ sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL)); + +- 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)); ++ 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, diff --git a/queue-5.10/series b/queue-5.10/series index f7b6081cd24..8f3562b1095 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -223,3 +223,4 @@ rdma-mlx5-fix-null-string-error.patch parisc-restore-__ldcw_align-for-pa-risc-2.0-processors.patch netfilter-nf_tables-fix-kdoc-warnings-after-gc-rework.patch netfilter-nftables-exthdr-fix-4-byte-stack-oob-write.patch +mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch -- 2.47.3