summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-02-12 23:09:00 +0000
committerJens Arnold <amiconn@rockbox.org>2005-02-12 23:09:00 +0000
commitb3017c8701b9b4e4ed041e224d163e82f198c10c (patch)
treeec0f4302e728d8fe6de3d726b8df2c50aa8bd1a8
parentc5d00d82b0905edb13310d9713919674c2172e6a (diff)
downloadrockbox-b3017c8701b9b4e4ed041e224d163e82f198c10c.tar.gz
rockbox-b3017c8701b9b4e4ed041e224d163e82f198c10c.zip
Fixed calculation of MMC sector count. Display sector count instead of (rough) size info for debugging.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5937 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/debug_menu.c3
-rw-r--r--firmware/drivers/ata_mmc.c4
2 files changed, 3 insertions, 4 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index ab1b60aaac..63630b2ba9 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -1421,8 +1421,7 @@ bool dbg_mmc_info(void)
1421 (int) mmc_extract_bits(card->cid, 0, 8), 1421 (int) mmc_extract_bits(card->cid, 0, 8),
1422 (int) mmc_extract_bits(card->cid, 8, 16)); 1422 (int) mmc_extract_bits(card->cid, 8, 16));
1423 lcd_puts(0, 4, pbuf); 1423 lcd_puts(0, 4, pbuf);
1424 snprintf(pbuf, sizeof(pbuf), "Size: %d MB", 1424 snprintf(pbuf, sizeof(pbuf), "Sectors: %08x", card->numsectors);
1425 card->numsectors * SECTOR_SIZE / (1024*1024));
1426 lcd_puts(0, 5, pbuf); 1425 lcd_puts(0, 5, pbuf);
1427 } 1426 }
1428 else /* Technical details */ 1427 else /* Technical details */
diff --git a/firmware/drivers/ata_mmc.c b/firmware/drivers/ata_mmc.c
index b528bdb1e3..7149e111cd 100644
--- a/firmware/drivers/ata_mmc.c
+++ b/firmware/drivers/ata_mmc.c
@@ -477,8 +477,8 @@ static int initialize_card(int card_no)
477 card->write_timeout = card->read_timeout * card->r2w_factor; 477 card->write_timeout = card->read_timeout * card->r2w_factor;
478 478
479 /* card size */ 479 /* card size */
480 card->numsectors = mmc_extract_bits(card->csd, 54, 12) 480 card->numsectors = (mmc_extract_bits(card->csd, 54, 12) + 1)
481 * (1 << (mmc_extract_bits(card->csd, 78, 3)+2)); 481 * (1 << (mmc_extract_bits(card->csd, 78, 3)+2));
482 482
483 /* switch to full speed */ 483 /* switch to full speed */
484 setup_sci1(card->bitrate_register); 484 setup_sci1(card->bitrate_register);