Hi,
I'm using H5450 with Linux version 2.4.19-rmk6-pxa1-hh36 (pb@dixie) (gcc version 3.3.1 20030720 (prerelease)) #460 Sat Dec 20 16:44:38 GMT 2003
I've got a 64MB PNY SD card, and following is a dump from /proc/kmsg when I plug it in. It looks like there is Data/Busy timeout going off when sending the MMC_APP_CMD, which is only response command. Have I found a bug, or have I misunderstood the specs?
It says
rSDIIMSK 0x0000C000 cmd 0x00000A37 data 0x00000021 fifo 0x00000000
and there is according to cmd (SDI Command Status Register, taken from the asic specs):
Command sent (bit 11)
Command response received (bit 9)
however, data (SDI Data Status Register)
Data / Busy receive timeout (bit 5)
Data receive in progress (bit 0)
It looks to me as the command succeeded, and response was indeed received (what the response is, I don't know as the dump doesn't tell). Why there is this timeout going off while MMC_APP_CMD needs only response? Or is the samsung layer being overly sensitive?
There seems to be no treatment for response-only commands in mmc_s3c_split_status?
Or maybe I'm wrong.
If there's anything there I could help with, I'd be glad to do so.
As a side note, I once succeeded getting sensible data from /proc/bus/mmc/device (it looked like the SD card was recognized), and it introduced terrible slowdown on the iPAQ. However, I forgot then to take any dumps, and I've been unable to reproduce the behaviour. So, I'm just mentioning this.
And not belonging to the subject, there seems to be no support yet for h5450's light sensor.
-- Dump begins --
<4>[mmc_core.c:524] mmc_tasklet_action : dev=cc96bec8 flags=03
<4>[mmc_protocol.c:441] mmc_cim_init_stack
<4>[mmc_protocol.c:288] mmc_cim_single_card_acq
<4>[mmc_samsung.c:722] mmc_s3c_send_command : request=cc96bf6c cmd=0 (GO_IDLE_STATE) arg=00000000 Cmd status=0037 Data status=0021 FIFO status=0000
<4>[mmc_samsung.c:485] mmc_s3c_reset
<4>[mmc_samsung.c:460] mmc_CMD0
<4>[mmc_samsung.c:400] chk_CMDend
<4>[mmc_samsung.c:408] chk_CMDend STATUS=0x00000837
<4>[mmc_samsung.c:413] chk_CMDend Ending Progressing
<4>[mmc_samsung.c:731] mmc_s3c_send_command Before mmc_cmd_complete
<4>[mmc_core.c:548] mmc_cmd_complete request=cc96bf6c retval=0
<4>[mmc_core.c:524] mmc_tasklet_action : dev=cc96bec8 flags=03
<4>[mmc_protocol.c:288] mmc_cim_single_card_acq
<4>[mmc_protocol.c:298] mmc_cim_single_card_acq ==> MMC_GO_IDLE_STATE
<4>[mmc_protocol.c:302] mmc_cim_single_card_acq ==> before sending MMC_APP_CMD
<4>[mmc_samsung.c:722] mmc_s3c_send_command : request=cc96bf6c cmd=55 (APP_CMD) arg=00000000 Cmd status=0037 Data status=0021 FIFO status=0000
<4>[mmc_samsung.c:614] mmc_s3c_exec_command request = cc96bf6c request->rtype 0x00000001
<4>[mmc_samsung.c:620] mmc_s3c_exec_command Clock stopped
<4>[mmc_samsung.c:515] mmc_s3c_set_command
<4>[mmc_samsung.c:544] mmc_s3c_set_command : rSDICCON 0x00000277 rSDIDTIMER Ox0000FFFF
<4>[mmc_samsung.c:649] mmc_s3c_exec_command Start clocking
<4>[mmc_samsung.c:658] mmc_s3c_exec_command Real Start clocking
<4>[mmc_samsung.c:689] mmc_s3c_exec_command Before Start lowlevel->sdi_irq
<4>[mmc_samsung.c:736] mmc_s3c_send_command retval 0x00000000
<4>[mmc_protocol.c:304] mmc_cim_single_card_acq ==> after sending MMC_APP_CMD
<4>[mmc_protocol.c:305] mmc_cim_single_card_acq <== MMC_GO_IDLE_STATE
<4>[mmc_samsung.c:1243] mmc_s3c_general_mmc_interrupt rSDIIMSK 0x0000C000 cmd 0x00000A37 data 0x00000021 fifo 0x00000000
<4>[mmc_samsung.c:1244] mmc_s3c_general_mmc_interrupt rSDICON 0x00000001 CCON 0x00000277 DCONdata 0x000E2001
<4>[mmc_samsung.c:1075] mmc_s3c_split_status MMC_ERROR_TIMEOUT
<4>[mmc_samsung.c:1217] mmc_s3c_split_status Before mmc_cmd_complete
<4>[mmc_core.c:548] mmc_cmd_complete request=cc96bf6c retval=19
<4>[mmc_samsung.c:1243] mmc_s3c_general_mmc_interrupt rSDIIMSK 0x00000000 cmd 0x00000037 data 0x00000001 fifo 0x00000000
<4>[mmc_samsung.c:1244] mmc_s3c_general_mmc_interrupt rSDICON 0x00000001 CCON 0x00000277 DCONdata 0x000E2001
<4>ignoring mmc irq with null request
<4>[mmc_core.c:524] mmc_tasklet_action : dev=cc96bec8 flags=03
<4>[mmc_protocol.c:288] mmc_cim_single_card_acq
<4>[mmc_protocol.c:309] mmc_cim_single_card_acq ==> MMC_APP_CMD
<4>[mmc_protocol.c:313] mmc_cim_single_card_acq failed MMC_APP_CMD error=19 (ERROR_TIMEOUT)
<4>[mmc_protocol.c:315] mmc_cim_single_card_acq could be an MMC card - trying MMC_SEND_OP_COND
<4>[mmc_samsung.c:722] mmc_s3c_send_command : request=cc96bf6c cmd=1 (SEND_OP_COND) arg=00ffc000 Cmd status=0037 Data status=0001 FIFO status=0000
<4>[mmc_samsung.c:614] mmc_s3c_exec_command request = cc96bf6c request->rtype 0x00000005
<4>[mmc_samsung.c:620] mmc_s3c_exec_command Clock stopped
<4>[mmc_samsung.c:515] mmc_s3c_set_command
<4>[mmc_samsung.c:544] mmc_s3c_set_command : rSDICCON 0x00000241 rSDIDTIMER Ox0000FFFF
<4>[mmc_samsung.c:649] mmc_s3c_exec_command Start clocking
<4>[mmc_samsung.c:658] mmc_s3c_exec_command Real Start clocking
<4>[mmc_samsung.c:689] mmc_s3c_exec_command Before Start lowlevel->sdi_irq
<4>[mmc_samsung.c:736] mmc_s3c_send_command retval 0x00000000
<4>[mmc_samsung.c:1243] mmc_s3c_general_mmc_interrupt rSDIIMSK 0x0000C000 cmd 0x00000C37 data 0x00000001 fifo 0x00000000
<4>[mmc_samsung.c:1244] mmc_s3c_general_mmc_interrupt rSDICON 0x00000001 CCON 0x00000241 DCONdata 0x000E2001
<4>[mmc_samsung.c:1075] mmc_s3c_split_status MMC_ERROR_TIMEOUT
<4>[mmc_samsung.c:1217] mmc_s3c_split_status Before mmc_cmd_complete
<4>[mmc_core.c:548] mmc_cmd_complete request=cc96bf6c retval=19
<4>[mmc_samsung.c:1243] mmc_s3c_general_mmc_interrupt rSDIIMSK 0x00000000 cmd 0x00000037 data 0x00000001 fifo 0x00000000
<4>[mmc_samsung.c:1244] mmc_s3c_general_mmc_interrupt rSDICON 0x00000001 CCON 0x00000241 DCONdata 0x000E2001
<4>ignoring mmc irq with null request
<4>[mmc_core.c:524] mmc_tasklet_action : dev=cc96bec8 flags=03
<4>[mmc_protocol.c:288] mmc_cim_single_card_acq
<4>[mmc_protocol.c:355] mmc_cim_single_card_acq ==> MMC_SEND_OP_COND
<4>[mmc_protocol.c:359] mmc_cim_single_card_acq failed MMC_SEND_OP_COND error=19 (ERROR_TIMEOUT) - could be SD card but sdcard init failed. Aborting!
<4>[mmc_protocol.c:470] mmc_cim_default_state
<4>[mmc_core.c:378] mmc_check_eject dev state=0
<4>[mmc_core.c:415] mmc_check_insert dev state=0
<4>[mmc_protocol.c:46] mmc_has_valid_request (00000000)
-Henri Moilanen
Received on Thu Jan 29 02:16:55 2004
This archive was generated by hypermail 2.1.8 : Tue May 04 2004 - 09:41:59 EDT