mmc: dw_mmc: Reset DMA before enabling IDMAC
authorSonny Rao <sonnyrao@chromium.org>
Thu, 16 Oct 2014 16:58:05 +0000 (09:58 -0700)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 10 Nov 2014 11:40:35 +0000 (12:40 +0100)
commit536f6b91d21b81bec6c8a675b3a00052ee05f986
treec9e998819fd46fc6a64bd0b12bcfcf7cef86a511
parent390e316c606de2f839389698f4531004cfe1bafd
mmc: dw_mmc: Reset DMA before enabling IDMAC

We've already got a reset of DMA after it's done.  Add one before we
start DMA too.  This fixes a data corruption on Rockchip SoCs which
will get bad data when doing a DMA transfer after doing a PIO transfer.

We tested this on an Exynos 5800 with HS200 and didn't notice any
difference in sequential read throughput.

Signed-off-by: Sonny Rao <sonnyrao@chromium.org>
Signed-off-by: Doug Anderson <dianders@chromium.org>
Tested-by: Doug Anderson <dianders@chromium.org>
Acked-by: Jaehoon Chung <jh80.chung@samsung.com>
Tested-by: Jaehoon Chung <jh80.chung@samsung.com>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/dw_mmc.c