diff options
Diffstat (limited to 'drivers/mmc/mmc.c')
| -rw-r--r-- | drivers/mmc/mmc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index eb41391e06e9..6696f71363b9 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c | |||
| @@ -550,6 +550,11 @@ static void mmc_decode_csd(struct mmc_card *card) | |||
| 550 | csd->capacity = (1 + m) << (e + 2); | 550 | csd->capacity = (1 + m) << (e + 2); |
| 551 | 551 | ||
| 552 | csd->read_blkbits = UNSTUFF_BITS(resp, 80, 4); | 552 | csd->read_blkbits = UNSTUFF_BITS(resp, 80, 4); |
| 553 | csd->read_partial = UNSTUFF_BITS(resp, 79, 1); | ||
| 554 | csd->write_misalign = UNSTUFF_BITS(resp, 78, 1); | ||
| 555 | csd->read_misalign = UNSTUFF_BITS(resp, 77, 1); | ||
| 556 | csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4); | ||
| 557 | csd->write_partial = UNSTUFF_BITS(resp, 21, 1); | ||
| 553 | } else { | 558 | } else { |
| 554 | /* | 559 | /* |
| 555 | * We only understand CSD structure v1.1 and v1.2. | 560 | * We only understand CSD structure v1.1 and v1.2. |
| @@ -579,6 +584,11 @@ static void mmc_decode_csd(struct mmc_card *card) | |||
| 579 | csd->capacity = (1 + m) << (e + 2); | 584 | csd->capacity = (1 + m) << (e + 2); |
| 580 | 585 | ||
| 581 | csd->read_blkbits = UNSTUFF_BITS(resp, 80, 4); | 586 | csd->read_blkbits = UNSTUFF_BITS(resp, 80, 4); |
| 587 | csd->read_partial = UNSTUFF_BITS(resp, 79, 1); | ||
| 588 | csd->write_misalign = UNSTUFF_BITS(resp, 78, 1); | ||
| 589 | csd->read_misalign = UNSTUFF_BITS(resp, 77, 1); | ||
| 590 | csd->write_blkbits = UNSTUFF_BITS(resp, 22, 4); | ||
| 591 | csd->write_partial = UNSTUFF_BITS(resp, 21, 1); | ||
| 582 | } | 592 | } |
| 583 | } | 593 | } |
| 584 | 594 | ||
