On Sat, 2 Feb 2019 at 23:15, Aaro Koskinen <aaro.koskinen@xxxxxx> 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@xxxxxx> 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 >