]> git.baikalelectronics.ru Git - uboot.git/commit
mmc: dw_mmc: check fifo status with a timeout in fifo mode
authorHeiko Stuebner <heiko@sntech.de>
Fri, 21 Sep 2018 08:59:45 +0000 (10:59 +0200)
committerPhilipp Tomsich <philipp.tomsich@theobroma-systems.com>
Tue, 2 Oct 2018 07:35:09 +0000 (09:35 +0200)
commit1d9fdfb819622cef5319604cefac89e6c49b6df0
tree47003edf45f9519a4d6026b51f5c45290a33f19a
parent326b92e8d2608b22f7c30628ea18485bd99a331c
mmc: dw_mmc: check fifo status with a timeout in fifo mode

While trying to enable the dw_mmc on rk3188 I managed to confuse
and hang the dw_mmc controller into not delivering further data.
The fifo state never became ready and the driver was iterating in
the while loop reading 0-byte packets forever.

So inspired by how other implementations handle this, check the fifo-
state beforhand and add a timeout to catch any glaring fifo issues
without hanging uboot altogether.

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
drivers/mmc/dw_mmc.c
include/dwmmc.h