mmc: dw_mmc: transfer proper bytes to FIFO
The former implement, dw_mmc will push and pop the redundant data to FIFO, we should transfer it according to the real size. Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com> Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
This commit is contained in:
parent
14bed52d27
commit
2990e07a33
@ -125,6 +125,7 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
|
||||
len = dwmci_readl(host, DWMCI_STATUS);
|
||||
len = (len >> DWMCI_FIFO_SHIFT) &
|
||||
DWMCI_FIFO_MASK;
|
||||
len = min(size, len);
|
||||
for (i = 0; i < len; i++)
|
||||
*buf++ =
|
||||
dwmci_readl(host, DWMCI_DATA);
|
||||
@ -138,6 +139,7 @@ static int dwmci_data_transfer(struct dwmci_host *host, struct mmc_data *data)
|
||||
len = fifo_depth - ((len >>
|
||||
DWMCI_FIFO_SHIFT) &
|
||||
DWMCI_FIFO_MASK);
|
||||
len = min(size, len);
|
||||
for (i = 0; i < len; i++)
|
||||
dwmci_writel(host, DWMCI_DATA,
|
||||
*buf++);
|
||||
|
Loading…
Reference in New Issue
Block a user