esdhc/usdhc: Fix PIO mode bug in fsl_esdhc driver
authorYe.Li <B37916@freescale.com>
Thu, 20 Feb 2014 10:00:57 +0000 (18:00 +0800)
committerPantelis Antoniou <panto@antoniou-consulting.com>
Thu, 22 May 2014 15:52:45 +0000 (18:52 +0300)
commit716897760fe41c350f55564a73d2e58dafd1ee53
treea6f32ab9837db4b7fef57f504dc36879a9563a33
parentd7782d06534fe4fa47a49fa7c106de5ba85a9687
esdhc/usdhc: Fix PIO mode bug in fsl_esdhc driver

When configure the fsl_esdhc driver to PIO mode by defining
"CONFIG_SYS_FSL_ESDHC_USE_PIO", the SD/MMC read and write will fail.

Two bugs in the driver to cause the issue:
1. The read buffer was invalidated after reading from DATAPORT register,
which should be only applied to DMA mode. The valid data in cache was
overwritten by physical memory.
2. The watermarks are not set in PIO mode, will cause according state not
be set.

Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Signed-off-by: Ye.Li <B37916@freescale.com>
drivers/mmc/fsl_esdhc.c