RE: [MX25][MMC] mmc esdhc failure in 3.3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



G'day

This is still present, and we have absolutely no idea where to continue searching for the solution of the problem. Any pointers? Any git trees of mmc driver changes we could try? Anybody else with a MX25 that has this issue?

Hi:
-110 is the timeout problem.
You can dump the esdhc registers if you want to debug into this issue
when this timeout problem occurred.
The register dump can help to figure out what's wrong on the bus.

I have no familiarity with the SDHC drivers, so there's nothing
useful for me in the output as of this moment:

[ 1080.818765] sdhci: ===========================================
[ 1080.818830] mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000
[ 1080.818862] mmc0:     512 bytes transferred: 0
[ 1080.819395] mmc0: starting CMD24 arg 00008800 flags 000000b5
[ 1080.819444] mmc0: blksz 512 blocks 1 flags 00000100 tsac 300 ms nsac 0 [ 1080.819544] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000009
[ 1080.819595] sdhci [sdhci_data_irq()]: mmc0: DMA base 0x82547c00,
transferred 0x038400 bytes, next 0x82580000
[ 1080.819630] sdhci: =========== REGISTER DUMP (mmc0)===========
[ 1080.819658] sdhci: Sys addr: 0x82547e00 | Version:  0x00000000
[ 1080.819683] sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000000
[ 1080.819707] sdhci: Argument: 0x00008800 | Trn mode: 0x00000003
[ 1080.819732] sdhci: Present:  0xfe880006 | Host ctl: 0x00000023
[ 1080.819756] sdhci: Power:    0x00000000 | Blk gap:  0x00000000
[ 1080.819780] sdhci: Wake-up:  0x00000000 | Clock:    0x00000107
[ 1080.819804] sdhci: Timeout:  0x0000000c | Int stat: 0x00100002
[ 1080.819830] sdhci: Int enab: 0x107f000b | Sig enab: 0x107f000b
[ 1080.819854] sdhci: AC12 err: 0x00000000 | Slot int: 0x00001001
[ 1080.819879] sdhci: Caps:     0x07eb0000 | Caps_1:   0x04100410
[ 1080.819904] sdhci: Cmd:      0x0000183a | Max curr: 0x00000000
[ 1080.819926] sdhci: Host ctl2: 0x00000000
[ 1080.819942] sdhci: ===========================================
[ 1080.819985] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00100002 [ 1080.820048] mmc0: req done (CMD24): 0: 00000900 00000000 00000000 00000000
[ 1080.820082] mmc0:     0 bytes transferred: -110
[ 1080.820134] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.820201] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.820259] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.820330] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.820391] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.820445] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.820504] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.820572] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.820627] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.820785] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.820879] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.820946] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.821021] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.821085] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.821140] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.821197] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.821255] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.821308] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.824944] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.825041] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.825112] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.825186] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.825248] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.825302] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.825364] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.825432] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.825485] mmc0: req done (CMD13): 0: 00000e00 00000000 00000000 00000000
[ 1080.825640] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.825736] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.825803] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[ 1080.825883] mmcblk0: error -110 transferring data, sector 68, nr
1, cmd response 0x900, card status 0x0
[ 1080.849435] mmc0: starting CMD55 arg 00020000 flags 00000095
[ 1080.849531] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.849596] mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
[ 1080.850319] mmc0: starting CMD22 arg 00000000 flags 000000b5
[ 1080.850367] mmc0: blksz 4 blocks 1 flags 00000200 tsac 100 ms nsac 0 [ 1080.850468] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.850523] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0020000a [ 1080.850591] mmc0: req done (CMD22): 0: 00000920 00000000 00000000 00000000
[ 1080.850624] mmc0:     0 bytes transferred: -84
[ 1080.851339] end_request: I/O error, dev mmcblk0, sector 68
[ 1080.856881] Buffer I/O error on device mmcblk0p1, logical block 6
[ 1080.862998] lost page write due to I/O error on mmcblk0p1
[ 1080.897203] mmc0: starting CMD17 arg 00008800 flags 000000b5
[ 1080.897250] mmc0: blksz 512 blocks 1 flags 00000200 tsac 100 ms nsac 0 [ 1080.897350] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.898143] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0020000a [ 1080.898241] mmc0: req done (CMD17): 0: 00000900 00000000 00000000 00000000
[ 1080.898276] mmc0:     0 bytes transferred: -84
[ 1080.898949] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1080.899134] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1080.899204] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[ 1080.899284] mmcblk0: error -84 transferring data, sector 68, nr 1,
cmd response 0x900, card status 0x0
[ 1080.908738] end_request: I/O error, dev mmcblk0, sector 68
[ 1080.914465] FAT-fs (mmcblk0p1): FAT read failed (blocknr 6)
[ 1085.809683] mmc0: starting CMD24 arg 00045e00 flags 000000b5
[ 1085.809731] mmc0: blksz 512 blocks 1 flags 00000100 tsac 300 ms nsac 0 [ 1085.809831] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000009
[ 1085.809880] sdhci [sdhci_data_irq()]: mmc0: DMA base 0x82548200,
transferred 0x037e00 bytes, next 0x82580000
[ 1085.809914] sdhci: =========== REGISTER DUMP (mmc0)===========
[ 1085.809941] sdhci: Sys addr: 0x82548400 | Version:  0x00000000
[ 1085.809967] sdhci: Blk size: 0x00000200 | Blk cnt:  0x00000000
[ 1085.809992] sdhci: Argument: 0x00045e00 | Trn mode: 0x00000003
[ 1085.810017] sdhci: Present:  0xff880000 | Host ctl: 0x00000021
[ 1085.810042] sdhci: Power:    0x00000000 | Blk gap:  0x00000000
[ 1085.810067] sdhci: Wake-up:  0x00000000 | Clock:    0x00000107
[ 1085.810093] sdhci: Timeout:  0x0000000c | Int stat: 0x00200002
[ 1085.810119] sdhci: Int enab: 0x107f000b | Sig enab: 0x107f000b
[ 1085.810143] sdhci: AC12 err: 0x00000000 | Slot int: 0x00001001
[ 1085.810169] sdhci: Caps:     0x07eb0000 | Caps_1:   0x04100410
[ 1085.810193] sdhci: Cmd:      0x0000183a | Max curr: 0x00000000
[ 1085.810214] sdhci: Host ctl2: 0x00000000
[ 1085.810232] sdhci: ===========================================
[ 1085.810275] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00200002 [ 1085.810340] mmc0: req done (CMD24): 0: 00000900 00000000 00000000 00000000
[ 1085.810373] mmc0:     0 bytes transferred: -84
[ 1085.810427] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1085.810489] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1085.810543] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[ 1085.810616] mmc0: starting CMD13 arg 00020000 flags 00000195
[ 1085.810690] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1085.810747] mmc0: req done (CMD13): 0: 00000900 00000000 00000000 00000000
[ 1085.810838] mmcblk0: error -84 transferring data, sector 559, nr
1, cmd response 0x900, card status 0x0
[ 1085.834557] mmc0: starting CMD55 arg 00020000 flags 00000095
[ 1085.834651] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1085.834722] mmc0: req done (CMD55): 0: 00000920 00000000 00000000 00000000
[ 1085.834802] mmc0: starting CMD22 arg 00000000 flags 000000b5
[ 1085.834839] mmc0: blksz 4 blocks 1 flags 00000200 tsac 100 ms nsac 0 [ 1085.834915] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001 [ 1085.834986] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x0020000a [ 1085.835056] mmc0: req done (CMD22): 0: 00000920 00000000 00000000 00000000

What else can I provide you with? The MMC/SDHC/eSDHC driver framework
is a huge piece of software, so I don't really know where to start
looking. Electrically, there seems nothing really wrong with the
signal of the clock; the only thing that looks a wee bit suspicious is
that the MX25 clock for the SDHC is currently offering a 33MHz signal
(as gathered from the oscilloscope).

--
Joan C. Abelaira
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux