mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 13:43:28 +00:00
mmc: Define a constant for the maximum block size
The number 512 appears quite a bit in the mmc code. Add a constant for this so that it can be used here and in other parts of the code (e.g. SPL code which loads from mmc). Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@google.com>
This commit is contained in:
parent
3f9315c04f
commit
8bfa195e4e
2 changed files with 16 additions and 12 deletions
|
@ -601,7 +601,7 @@ static int mmc_send_ext_csd(struct mmc *mmc, u8 *ext_csd)
|
|||
|
||||
data.dest = (char *)ext_csd;
|
||||
data.blocks = 1;
|
||||
data.blocksize = 512;
|
||||
data.blocksize = MMC_MAX_BLOCK_LEN;
|
||||
data.flags = MMC_DATA_READ;
|
||||
|
||||
err = mmc_send_cmd(mmc, &cmd, &data);
|
||||
|
@ -634,7 +634,7 @@ static int mmc_switch(struct mmc *mmc, u8 set, u8 index, u8 value)
|
|||
|
||||
static int mmc_change_freq(struct mmc *mmc)
|
||||
{
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN);
|
||||
char cardtype;
|
||||
int err;
|
||||
|
||||
|
@ -899,8 +899,8 @@ static int mmc_startup(struct mmc *mmc)
|
|||
uint mult, freq;
|
||||
u64 cmult, csize, capacity;
|
||||
struct mmc_cmd cmd;
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, 512);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, ext_csd, MMC_MAX_BLOCK_LEN);
|
||||
ALLOC_CACHE_ALIGN_BUFFER(u8, test_csd, MMC_MAX_BLOCK_LEN);
|
||||
int timeout = 1000;
|
||||
|
||||
#ifdef CONFIG_MMC_SPI_CRC_ON
|
||||
|
@ -1016,11 +1016,11 @@ static int mmc_startup(struct mmc *mmc)
|
|||
mmc->capacity = (csize + 1) << (cmult + 2);
|
||||
mmc->capacity *= mmc->read_bl_len;
|
||||
|
||||
if (mmc->read_bl_len > 512)
|
||||
mmc->read_bl_len = 512;
|
||||
if (mmc->read_bl_len > MMC_MAX_BLOCK_LEN)
|
||||
mmc->read_bl_len = MMC_MAX_BLOCK_LEN;
|
||||
|
||||
if (mmc->write_bl_len > 512)
|
||||
mmc->write_bl_len = 512;
|
||||
if (mmc->write_bl_len > MMC_MAX_BLOCK_LEN)
|
||||
mmc->write_bl_len = MMC_MAX_BLOCK_LEN;
|
||||
|
||||
/* Select the card, and put it into Transfer Mode */
|
||||
if (!mmc_host_is_spi(mmc)) { /* cmd not supported in spi */
|
||||
|
@ -1051,7 +1051,7 @@ static int mmc_startup(struct mmc *mmc)
|
|||
| ext_csd[EXT_CSD_SEC_CNT + 1] << 8
|
||||
| ext_csd[EXT_CSD_SEC_CNT + 2] << 16
|
||||
| ext_csd[EXT_CSD_SEC_CNT + 3] << 24;
|
||||
capacity *= 512;
|
||||
capacity *= MMC_MAX_BLOCK_LEN;
|
||||
if ((capacity >> 20) > 2 * 1024)
|
||||
mmc->capacity = capacity;
|
||||
}
|
||||
|
@ -1079,10 +1079,11 @@ static int mmc_startup(struct mmc *mmc)
|
|||
* group size from ext_csd directly, or calculate
|
||||
* the group size from the csd value.
|
||||
*/
|
||||
if (ext_csd[EXT_CSD_ERASE_GROUP_DEF])
|
||||
if (ext_csd[EXT_CSD_ERASE_GROUP_DEF]) {
|
||||
mmc->erase_grp_size =
|
||||
ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] * 512 * 1024;
|
||||
else {
|
||||
ext_csd[EXT_CSD_HC_ERASE_GRP_SIZE] *
|
||||
MMC_MAX_BLOCK_LEN * 1024;
|
||||
} else {
|
||||
int erase_gsz, erase_gmul;
|
||||
erase_gsz = (mmc->csd[2] & 0x00007c00) >> 10;
|
||||
erase_gmul = (mmc->csd[2] & 0x000003e0) >> 5;
|
||||
|
|
|
@ -207,6 +207,9 @@
|
|||
#define PART_ACCESS_MASK (0x7)
|
||||
#define PART_SUPPORT (0x1)
|
||||
|
||||
/* Maximum block size for MMC */
|
||||
#define MMC_MAX_BLOCK_LEN 512
|
||||
|
||||
struct mmc_cid {
|
||||
unsigned long psn;
|
||||
unsigned short oid;
|
||||
|
|
Loading…
Reference in a new issue