diff options
author | Chander Kashyap <chander.kashyap@linaro.org> | 2011-03-22 01:40:50 (GMT) |
---|---|---|
committer | Albert Aribaud <albert.aribaud@free.fr> | 2011-03-27 17:20:26 (GMT) |
commit | f69bb511455513a61c25783414240258f13f3371 (patch) | |
tree | fb3e653fcc61d9b3fe4bae639df3444b59698385 /drivers/mmc | |
parent | bef5f8565ff87d048df352a891953805db84417c (diff) | |
download | u-boot-f69bb511455513a61c25783414240258f13f3371.tar.xz |
S5P: mmc: Resolved interrupt error during mmc_init
Blocksize was hardcoded to 512 bytes. But the blocksize varies
depeding on various mmc subsystem commands (between 8 and 512).
This hardcoding was resulting in interrupt error during data
transfer.
It is now calculated based upon the request sent by mmc subsystem.
Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/s5p_mmc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/s5p_mmc.c b/drivers/mmc/s5p_mmc.c index 195b5be..0323800 100644 --- a/drivers/mmc/s5p_mmc.c +++ b/drivers/mmc/s5p_mmc.c @@ -51,7 +51,7 @@ static void mmc_prepare_data(struct mmc_host *host, struct mmc_data *data) writeb(ctrl, &host->reg->hostctl); /* We do not handle DMA boundaries, so set it to max (512 KiB) */ - writew((7 << 12) | (512 << 0), &host->reg->blksize); + writew((7 << 12) | (data->blocksize & 0xFFF), &host->reg->blksize); writew(data->blocks, &host->reg->blkcnt); } |