All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mmc: dw_mmc-rockchip: Using 180 sample phase if all phases work
@ 2019-09-04  2:27 Shawn Lin
       [not found] ` <1567564030-83224-1-git-send-email-shawn.lin-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Shawn Lin @ 2019-09-04  2:27 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: Heiko Stuebner, Shawn Lin, linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	Douglas Anderson, Jaehoon Chung,
	linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

default_sample_phase is used to make sure the cards are enumurated
properly and will be set to 0 if not assigned. However, the sample
phase should depends on the tuned phase if running higher clock rate.
If all phases work but default_sample_phase isn't assigned, driver
set sample phase to 0 for this case, which isn't the best choice,
because we always expect to set phase to the middle of window. To
solve the following continually issues we have seen in the test, we
need set phase to the more stable one, 180, if all phases work.

mmcblk1: error -84 transferring data, sector 1735064, nr 8, cmd
response 0x900, card status 0xb00
mmcblk1: retrying using single block read
dwmmc_rockchip ff0f0000.dwmmc: All phases work, using default phase 0.
mmcblk1: retrying because a re-tune was needed

.....

mmcblk1: error -84 transferring data, sector 1728672, nr 248, cmd
response 0x900, card status 0xb00
mmcblk1: retrying using single block read
dwmmc_rockchip ff0f0000.dwmmc: All phases work, using default phase 0.

Signed-off-by: Shawn Lin <shawn.lin-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
---

 drivers/mmc/host/dw_mmc-rockchip.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/dw_mmc-rockchip.c b/drivers/mmc/host/dw_mmc-rockchip.c
index d4d0213..9ef9723 100644
--- a/drivers/mmc/host/dw_mmc-rockchip.c
+++ b/drivers/mmc/host/dw_mmc-rockchip.c
@@ -209,9 +209,8 @@ static int dw_mci_rk3288_execute_tuning(struct dw_mci_slot *slot, u32 opcode)
 	}
 
 	if (ranges[0].start == 0 && ranges[0].end == priv->num_phases - 1) {
-		clk_set_phase(priv->sample_clk, priv->default_sample_phase);
-		dev_info(host->dev, "All phases work, using default phase %d.",
-			 priv->default_sample_phase);
+		clk_set_phase(priv->sample_clk, 180);
+		dev_info(host->dev, "All phases work, using phase 180.");
 		goto free;
 	}
 
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-09-05  7:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-04  2:27 [PATCH] mmc: dw_mmc-rockchip: Using 180 sample phase if all phases work Shawn Lin
     [not found] ` <1567564030-83224-1-git-send-email-shawn.lin-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2019-09-04  6:32   ` Ulf Hansson
     [not found]     ` <CAPDyKFpmh2zcz7=zL77XGBHUhxcFquoMSiRHf8w3dnvwH50aYw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-09-04  6:53       ` [PATCH] mmc: dw_mmc-rockchip: Using 180 sample phase if all phases work【请注意,邮件由linux-rockchip-bounces+shawn.lin=rock-chips.com@lists.infradead.org代发】 Shawn Lin
2019-09-04 15:44   ` [PATCH] mmc: dw_mmc-rockchip: Using 180 sample phase if all phases work Doug Anderson
     [not found]     ` <CAD=FV=Vwmj=LehhLCN5OBbEfNNXp9gULLYRoVV86HtqZBxvEjw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-09-05  0:38       ` [PATCH] mmc: dw_mmc-rockchip: Using 180 sample phase if all phases work【请注意,邮件由linux-mmc-owner@vger.kernel.org代发】 Shawn Lin
2019-09-05  7:30       ` [PATCH] mmc: dw_mmc-rockchip: Using 180 sample phase if all phases work Ulf Hansson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.