All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] MMC: OMAP: fix the maximum timeout setting
@ 2019-02-02 22:14 Aaro Koskinen
  2019-02-05 12:48 ` Ulf Hansson
  0 siblings, 1 reply; 2+ messages in thread
From: Aaro Koskinen @ 2019-02-02 22:14 UTC (permalink / raw)
  To: Ulf Hansson, linux-mmc
  Cc: linux-omap, linux-kernel, Tony Lindgren, Aaro Koskinen

When running OMAP1 kernel on QEMU, MMC access is annoyingly noisy:

	MMC: CTO of 0xff and 0xfe cannot be used!
	MMC: CTO of 0xff and 0xfe cannot be used!
	MMC: CTO of 0xff and 0xfe cannot be used!
	[ad inf.]

Emulator warnings appear to be valid. The TI document SPRU680 [1]
("OMAP5910 Dual-Core Processor MultiMedia Card/Secure Data Memory Card
(MMC/SD) Reference Guide") page 36 states that the maximum timeout
is 253 cycles and "0xff and 0xfe cannot be used".

Fix by using 0xfd as the maximum timeout.

Tested using QEMU 2.5 (Siemens SX1 machine, OMAP310), and also checked
on real hardware using Palm TE (OMAP310), Nokia 770 (OMAP1710)
and Nokia N810 (OMAP2420) that MMC works as before.

[1] http://www.ti.com/lit/ug/spru680/spru680.pdf

Fixes: 730c9b7e6630f ("[MMC] Add OMAP MMC host driver")
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
---
 drivers/mmc/host/omap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
index c60a7625b1fa..b2873a2432b6 100644
--- a/drivers/mmc/host/omap.c
+++ b/drivers/mmc/host/omap.c
@@ -920,7 +920,7 @@ static inline void set_cmd_timeout(struct mmc_omap_host *host, struct mmc_reques
 	reg &= ~(1 << 5);
 	OMAP_MMC_WRITE(host, SDIO, reg);
 	/* Set maximum timeout */
-	OMAP_MMC_WRITE(host, CTO, 0xff);
+	OMAP_MMC_WRITE(host, CTO, 0xfd);
 }
 
 static inline void set_data_timeout(struct mmc_omap_host *host, struct mmc_request *req)
-- 
2.17.0


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

* Re: [PATCH] MMC: OMAP: fix the maximum timeout setting
  2019-02-02 22:14 [PATCH] MMC: OMAP: fix the maximum timeout setting Aaro Koskinen
@ 2019-02-05 12:48 ` Ulf Hansson
  0 siblings, 0 replies; 2+ messages in thread
From: Ulf Hansson @ 2019-02-05 12:48 UTC (permalink / raw)
  To: Aaro Koskinen
  Cc: linux-mmc, linux-omap, Linux Kernel Mailing List, Tony Lindgren

On Sat, 2 Feb 2019 at 23:15, Aaro Koskinen <aaro.koskinen@iki.fi> wrote:
>
> When running OMAP1 kernel on QEMU, MMC access is annoyingly noisy:
>
>         MMC: CTO of 0xff and 0xfe cannot be used!
>         MMC: CTO of 0xff and 0xfe cannot be used!
>         MMC: CTO of 0xff and 0xfe cannot be used!
>         [ad inf.]
>
> Emulator warnings appear to be valid. The TI document SPRU680 [1]
> ("OMAP5910 Dual-Core Processor MultiMedia Card/Secure Data Memory Card
> (MMC/SD) Reference Guide") page 36 states that the maximum timeout
> is 253 cycles and "0xff and 0xfe cannot be used".
>
> Fix by using 0xfd as the maximum timeout.
>
> Tested using QEMU 2.5 (Siemens SX1 machine, OMAP310), and also checked
> on real hardware using Palm TE (OMAP310), Nokia 770 (OMAP1710)
> and Nokia N810 (OMAP2420) that MMC works as before.
>
> [1] http://www.ti.com/lit/ug/spru680/spru680.pdf
>
> Fixes: 730c9b7e6630f ("[MMC] Add OMAP MMC host driver")
> Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>

Applied for next, thanks!

Kind regards
Uffe


> ---
>  drivers/mmc/host/omap.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
> index c60a7625b1fa..b2873a2432b6 100644
> --- a/drivers/mmc/host/omap.c
> +++ b/drivers/mmc/host/omap.c
> @@ -920,7 +920,7 @@ static inline void set_cmd_timeout(struct mmc_omap_host *host, struct mmc_reques
>         reg &= ~(1 << 5);
>         OMAP_MMC_WRITE(host, SDIO, reg);
>         /* Set maximum timeout */
> -       OMAP_MMC_WRITE(host, CTO, 0xff);
> +       OMAP_MMC_WRITE(host, CTO, 0xfd);
>  }
>
>  static inline void set_data_timeout(struct mmc_omap_host *host, struct mmc_request *req)
> --
> 2.17.0
>

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

end of thread, other threads:[~2019-02-05 12:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-02 22:14 [PATCH] MMC: OMAP: fix the maximum timeout setting Aaro Koskinen
2019-02-05 12:48 ` 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.