Message ID | 1407320075-2177-1-git-send-email-sonic.adi@gmail.com |
---|---|
State | Accepted |
Delegated to: | Pantelis Antoniou |
Headers | show |
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
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 --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);