| From 03e59b1e2f56245163b14c69e0a830c24b1a3a47 Mon Sep 17 00:00:00 2001 |
| From: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Date: Mon, 4 Apr 2022 13:49:02 +0200 |
| Subject: mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is complete |
| |
| From: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| |
| commit 03e59b1e2f56245163b14c69e0a830c24b1a3a47 upstream. |
| |
| When HS400 tuning is complete and HS400 is going to be activated, we |
| have to keep the current number of TAPs and should not overwrite them |
| with a hardcoded value. This was probably a copy&paste mistake when |
| upporting HS400 support from the BSP. |
| |
| Fixes: 26eb2607fa28 ("mmc: renesas_sdhi: add eMMC HS400 mode support") |
| Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> |
| Cc: stable@vger.kernel.org |
| Link: https://lore.kernel.org/r/20220404114902.12175-1-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 | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/mmc/host/renesas_sdhi_core.c |
| +++ b/drivers/mmc/host/renesas_sdhi_core.c |
| @@ -382,10 +382,10 @@ static void renesas_sdhi_hs400_complete( |
| SH_MOBILE_SDHI_SCC_TMPPORT2_HS400OSEL) | |
| sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_TMPPORT2)); |
| |
| - /* Set the sampling clock selection range of HS400 mode */ |
| sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_DTCNTL, |
| SH_MOBILE_SDHI_SCC_DTCNTL_TAPEN | |
| - 0x4 << SH_MOBILE_SDHI_SCC_DTCNTL_TAPNUM_SHIFT); |
| + sd_scc_read32(host, priv, |
| + SH_MOBILE_SDHI_SCC_DTCNTL)); |
| |
| /* Avoid bad TAP */ |
| if (bad_taps & BIT(priv->tap_set)) { |