PERFORCE change 106108 for review
Warner Losh
imp at FreeBSD.org
Thu Sep 14 11:09:11 PDT 2006
http://perforce.freebsd.org/chv.cgi?CH=106108
Change 106108 by imp at imp_lighthouse on 2006/09/14 18:08:18
debugging checkpoint
Affected files ...
.. //depot/projects/arm/src/sys/arm/at91/at91_qdmmc.c#10 edit
Differences ...
==== //depot/projects/arm/src/sys/arm/at91/at91_qdmmc.c#10 (text+ko) ====
@@ -76,7 +76,6 @@
uint32_t sector_size;
uint64_t size;
uint32_t mode;
- uint32_t rca; /* Relative Card Address */
uint32_t flags;
#define READ_PARTIAL 0x001
#define WRITE_PARTIAL 0x002
@@ -160,10 +159,10 @@
struct at91_qdmmc_softc *sc = device_get_softc(dev);
// Send the CMD55 for application specific command
- WR4(sc, MCI_ARGR, sc->cards[0].rca << 16);
+ WR4(sc, MCI_ARGR, sc->cards[0].addr << 16);
WR4(sc, MCI_CMDR, APP_CMD);
- printf("CMD55: %x\n", sc->cards[0].rca << 16);
+ printf("CMD55: %x\n", sc->cards[0].addr << 16);
// wait for CMDRDY Status flag to read the response
do
@@ -195,7 +194,7 @@
// The RCA to be used for CMD55 in Idle state shall be the card's
// default RCA=0x0000.
- sc->cards[0].rca = 0;
+ sc->cards[0].addr = 0;
while(!(response & AT91C_CARD_POWER_UP_BUSY)) {
response = at91_qdmmc_SDCard_SendAppCommand(dev,
SDCARD_APP_OP_COND_CMD, AT91C_MMC_HOST_VOLTAGE_RANGE);
@@ -259,7 +258,7 @@
uint32_t ret_value, rca;
char bus_width;
- rca = sc->cards[0].rca;
+ rca = sc->cards[0].addr;
do {
ret_value = at91_qdmmc_GetStatus(dev, rca);
} while (ret_value != 0xffffffff &&
@@ -300,13 +299,14 @@
printf("SD: Can't set RCA to 0\n");
return ENXIO;
}
- sc->cards[0].rca = RD4(sc, MCI_RSPR) >> 16;
+ sc->cards[0].addr = RD4(sc, MCI_RSPR) >> 16;
+ printf("SD Card at %#x\n", sc->cards[0].addr);
csd = &sc->cards[0].CSD[0];
- if (at91_qdmmc_GetCSD(dev, sc->cards[0].rca, csd) != 0) {
+ if (at91_qdmmc_GetCSD(dev, sc->cards[0].addr, csd) != 0) {
printf("SD: can't get csd\n");
return ENXIO;
}
- printf("Found SD Card - CID = 0x%08x%08x%08x%08x\n",
+ printf("SD Card - CID = 0x%08x%08x%08x%08x\n",
cid[0],
cid[1],
cid[2],
@@ -702,7 +702,7 @@
//printf("at91_qdmmc_strategy: called\n");
sc = (struct at91_qdmmc_softc *)bp->bio_disk->d_drv1;
-#if 0
+#if 1
AT91_QDMMC_LOCK(sc);
bioq_disksort(&sc->cards[0].bio_queue, bp);
wakeup(sc);
@@ -733,8 +733,8 @@
printf("at91_qdmmc_task: request %p\n", bp);
if (bp->bio_cmd == BIO_READ) {
status = at91_qdmmc_SendCommand(sc->dev,
- SEL_DESEL_CARD_CMD, (sc->cards[0].addr) << 16);
- printf("at91_qdmmc_task: select_card-status = 0x%x\n", status);
+ SEL_DESEL_CARD_CMD, sc->cards[0].addr << 16);
+ printf("at91_qdmmc_task: select_card-status(%x) = 0x%x\n", sc->cards[0].addr, status);
status = at91_qdmmc_SendCommand(sc->dev,
SET_BLOCKLEN_CMD, sc->cards[0].sector_size);
printf("at91_qdmmc_task: set_blocklen-status = 0x%x\n", status);
More information about the p4-projects
mailing list