diff mbox

[U-Boot] mmc: set correct block size value in bfin sdh driver

Message ID 1407320075-2177-1-git-send-email-sonic.adi@gmail.com
State Accepted
Delegated to: Pantelis Antoniou
Headers show

Commit Message

Sonic Zhang Aug. 6, 2014, 10:14 a.m. UTC
From: Sonic Zhang <sonic.zhang@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@analog.com>
---

 drivers/mmc/bfin_sdh.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

Comments

Sonic Zhang Aug. 12, 2014, 10:43 a.m. UTC | #1
PING

On Wed, Aug 6, 2014 at 6:14 PM, Sonic Zhang <sonic.adi@gmail.com> wrote:
> From: Sonic Zhang <sonic.zhang@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@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
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Pantelis Antoniou Oct. 2, 2014, 9:57 a.m. UTC | #2
Hi Sonic,

On Aug 6, 2014, at 1:14 PM, Sonic Zhang <sonic.adi@gmail.com> wrote:

> From: Sonic Zhang <sonic.zhang@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@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
diff mbox

Patch

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);