[U-Boot] [PATCH] mmc: set correct block size value in bfin sdh driver
Pantelis Antoniou
panto at antoniou-consulting.com
Thu Oct 2 11:57:42 CEST 2014
Hi Sonic,
On Aug 6, 2014, at 1:14 PM, Sonic Zhang <sonic.adi at gmail.com> wrote:
> From: Sonic Zhang <sonic.zhang at analog.com>
>
> Wait data transfer till the data end bit other than the data block end
> bit is set.
>
> Signed-off-by: Sonic Zhang <sonic.zhang at analog.com>
> ---
>
> drivers/mmc/bfin_sdh.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mmc/bfin_sdh.c b/drivers/mmc/bfin_sdh.c
> index bcd6a3e..9bdfbbc 100644
> --- a/drivers/mmc/bfin_sdh.c
> +++ b/drivers/mmc/bfin_sdh.c
> @@ -138,9 +138,9 @@ static int sdh_setup_data(struct mmc *mmc, struct mmc_data *data)
> if (data->flags & MMC_DATA_WRITE)
> return UNUSABLE_ERR;
> #ifndef RSI_BLKSZ
> - data_ctl |= ((ffs(data_size) - 1) << 4);
> + data_ctl |= ((ffs(data->blocksize) - 1) << 4);
> #else
> - bfin_write_SDH_BLK_SIZE(data_size);
> + bfin_write_SDH_BLK_SIZE(data->blocksize);
> #endif
> data_ctl |= DTX_DIR;
> bfin_write_SDH_DATA_CTL(data_ctl);
> @@ -189,7 +189,8 @@ static int bfin_sdh_request(struct mmc *mmc, struct mmc_cmd *cmd,
> do {
> udelay(1);
> status = bfin_read_SDH_STATUS();
> - } while (!(status & (DAT_BLK_END | DAT_END | DAT_TIME_OUT | DAT_CRC_FAIL | RX_OVERRUN)));
> + } while (!(status & (DAT_END | DAT_TIME_OUT | DAT_CRC_FAIL |
> + RX_OVERRUN)));
>
> if (status & DAT_TIME_OUT) {
> bfin_write_SDH_STATUS_CLR(DAT_TIMEOUT_STAT);
> --
> 1.8.2.3
>
Applied, thanks.
— Pantelis
More information about the U-Boot
mailing list