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