]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Oct 2023 19:15:15 +0000 (21:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 10 Oct 2023 19:15:15 +0000 (21:15 +0200)
added patches:
mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch

queue-5.10/mmc-renesas_sdhi-only-reset-scc-when-its-pointer-is-populated.patch [new file with mode: 0644]
queue-5.10/series

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 (file)
index 0000000..2dc10b3
--- /dev/null
@@ -0,0 +1,57 @@
+From 45bffc371fefd8537804b001080a47c6b69d5efa Mon Sep 17 00:00:00 2001
+From: Wolfram Sang <wsa+renesas@sang-engineering.com>
+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 <wsa+renesas@sang-engineering.com>
+
+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 <wsa+renesas@sang-engineering.com>
+Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
+Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+Link: https://lore.kernel.org/r/20201110142058.36393-2-wsa+renesas@sang-engineering.com
+Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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,
index f7b6081cd244bd1e3085a4e0352a547f0a51af1a..8f3562b1095dcac9e1b63cd25183eac21af9d404 100644 (file)
@@ -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