The current implementation of fifo size computation was giving improper
values for eMMC channel. Modified the computation as per user manual.

Signed-off-by: Amarendra Reddy <amarendra...@samsung.com>
---
 drivers/mmc/dw_mmc.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c
index 4070d4e..62dc152 100644
--- a/drivers/mmc/dw_mmc.c
+++ b/drivers/mmc/dw_mmc.c
@@ -332,6 +332,8 @@ static int dwmci_init(struct mmc *mmc)
        dwmci_writel(host, DWMCI_BMOD, 1);
 
        fifo_size = dwmci_readl(host, DWMCI_FIFOTH);
+       fifo_size = ((fifo_size & RX_WMARK(0xFFF)) >> 16) + 1;
+
        if (host->fifoth_val)
                fifoth_val = host->fifoth_val;
        else
-- 
1.7.0.4

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to