From: lintao Date: Tue, 3 Mar 2015 13:31:10 +0000 (+0800) Subject: mmc: rk_sdmmc: edmac limit FIFOTH when mburst exceed limitation X-Git-Tag: firefly_0821_release~4263^2~27 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9420778cf0599ed804f490a45e64aa6ed14471e4;p=firefly-linux-kernel-4.4.55.git mmc: rk_sdmmc: edmac limit FIFOTH when mburst exceed limitation Signed-off-by: lintao --- diff --git a/drivers/mmc/host/rk_sdmmc.c b/drivers/mmc/host/rk_sdmmc.c index aea1afa7b576..69c3711c899c 100755 --- a/drivers/mmc/host/rk_sdmmc.c +++ b/drivers/mmc/host/rk_sdmmc.c @@ -637,7 +637,13 @@ static void dw_mci_edmac_start_dma(struct dw_mci *host, unsigned int sg_len) else burst_limit = 16; - slave_config.dst_maxburst = (mburst > burst_limit) ? burst_limit : mburst; + if (mburst > burst_limit) { + mburst = burst_limit; + fifoth_val = SDMMC_SET_FIFOTH(mszs[3], mszs[3] - 1, (host->fifo_depth) / 2); + mci_writel(host, FIFOTH, fifoth_val); + } + + slave_config.dst_maxburst = mburst; slave_config.src_maxburst = slave_config.dst_maxburst; if(host->data->flags & MMC_DATA_WRITE){