Hello,
My customer face following issue.
* When they transmit data from SD card to eMMC, they observed attached error message(SD_eMMC_issue.txt).
However, case of writing data to eMMC not from SD and case of reading data from SD not to eMMC can be worked.(mmc_write2.txt(write to eMMC) and SD_read.txt(read from SD))
They use SDK ver 8_05_00_21 and it seems this issue is similar to following thread.
(+) PROCESSOR-SDK-AM62X: AM625 eMMC stablity issue - Processors forum - Processors - TI E2E support forums
If you have any idea to avoid this issue, could you please tell me about it ?
BR,
[ 187.417065] mmc1: Got data interrupt 0x00000002 even though no data operation was in progress. [ 187.425682] mmc1: sdhci: ============ SDHCI REGISTER DUMP =========== [ 187.432108] mmc1: sdhci: Sys addr: 0x00000100 | Version: 0x00001004 [ 187.438533] mmc1: sdhci: Blk size: 0x00007200 | Blk cnt: 0x000000fe [ 187.444958] mmc1: sdhci: Argument: 0x00000000 | Trn mode: 0x00000033 [ 187.451384] mmc1: sdhci: Present: 0x01f70000 | Host ctl: 0x0000001f [ 187.457808] mmc1: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 [ 187.464235] mmc1: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 [ 187.470661] mmc1: sdhci: Timeout: 0x00000000 | Int stat: 0x00000000 [ 187.477085] mmc1: sdhci: Int enab: 0x03ff008b | Sig enab: 0x03ff008b [ 187.483511] mmc1: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000 [ 187.489937] mmc1: sdhci: Caps: 0x3de8c801 | Caps_1: 0x18002407 [ 187.496363] mmc1: sdhci: Cmd: 0x00000c1a | Max curr: 0x00000000 [ 187.502787] mmc1: sdhci: Resp[0]: 0x00000b00 | Resp[1]: 0x01dd7f7f [ 187.509214] mmc1: sdhci: Resp[2]: 0x325b5900 | Resp[3]: 0x00000900 [ 187.515638] mmc1: sdhci: Host ctl2: 0x0000000b [ 187.520070] mmc1: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x0000000000000000 [ 187.527187] mmc1: sdhci: ============================================ 2097152+0 records in 2097152+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 17.575 s, 61.1 MB/s root@am62xx-evm:~# dd if=/dev/mmcblk1 of=/dev/null bs=512 count=2097152 2097152+0 records in 2097152+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.5907 s, 141 MB/s root@am62xx-evm:~# dd if=/dev/mmcblk1 of=/dev/null bs=512 count=2097152 2097152+0 records in 2097152+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 7.15388 s, 150 MB/s root@am62xx-evm:~# [ 249.187367] Initializing XFRM netlink socket
root@am62xx-evm:~# dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=65536 65536+0 records in 65536+0 records out 33554432 bytes (34 MB, 32 MiB) copied, 2.67735 s, 12.5 MB/s root@am62xx-evm:~# dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=2097152 2097152+0 records in 2097152+0 records out 1073741824 bytes (1,1 GB, 1.0 GiB) copied, 87.3268 s, 12.3 MB/s
root@am62xx-evm:~# dd if=/dev/mmcblk1 of=/dev/mmcblk0 bs=512 [ 195.937536] mmc0: running CQE recovery [ 195.948443] ------------[ cut here ]------------ [ 195.953067] mmc0: cqhci: spurious TCN for tag 13 [ 195.957748] WARNING: CPU: 0 PID: 339 at drivers/mmc/host/cqhci.c:742 cqhci_irq+0x318/0x4a0 [ 195.965993] Modules linked in: iptable_nat xt_MASQUERADE nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip_tables x_tables wlcore_sdio wl18xx wlcore mac80211 cfg80211 rfkill libarc4 rpmsg_char cdns_csi2rx(+) v4l2_fwnode crct10dif_ce snd_soc_simple_card(+) snd_soc_simple_card_utils pvrsrvkm(O+) ti_k3_r5_remoteproc dwc3_am62(+) virtio_rpmsg_bus rti_wdt(+) ti_k3_m4_remoteproc j721e_csi2rx sa2ul videobuf2_dma_contig sha512_generic videobuf2_memops authenc videobuf2_v4l2 cdns_dphy videobuf2_common pruss(+) tps6598x typec snd_soc_tlv320aic3x roles sch_fq_codel cryptodev(O) br_netfilter bridge stp llc ipv6 [ 196.020276] CPU: 0 PID: 339 Comm: kworker/0:3H Tainted: G D O 5.10.153-g3eee621d16 #1 [ 196.029215] Hardware name: Texas Instruments AM625 SK (DT) [ 196.034700] Workqueue: kblockd blk_mq_run_work_fn [ 196.039398] pstate: 40000085 (nZcv daIf -PAN -UAO -TCO BTYPE=--) [ 196.045392] pc : cqhci_irq+0x318/0x4a0 [ 196.049132] lr : cqhci_irq+0x318/0x4a0 [ 196.052870] sp : ffff80001124bd40 [ 196.056173] x29: ffff80001124bd40 x28: ffff000001663580 [ 196.061477] x27: ffff00000164aa80 x26: 0000000000000001 [ 196.066780] x25: ffff800010dff778 x24: ffff00000164aa98 [ 196.072083] x23: ffff8000111aa91e x22: ffff000003fd6200 [ 196.077386] x21: ffff000001663000 x20: 0000000000000002 [ 196.082689] x19: 000000000000000d x18: 0000000000000010 [ 196.087992] x17: 0000000000000000 x16: 0000000000000000 [ 196.093295] x15: ffff000003fd6730 x14: 00000000000001c8 [ 196.098599] x13: ffff000003fd6730 x12: 00000000ffffffea [ 196.103901] x11: ffff8000111304b0 x10: ffff800011118470 [ 196.109204] x9 : ffff8000111184c8 x8 : 0000000000017fe8 [ 196.114507] x7 : c0000000ffffefff x6 : 0000000000000001 [ 196.119810] x5 : ffff00007fb82ab8 x4 : 0000000000000000 [ 196.125112] x3 : 0000000000000027 x2 : 0000000000000023 [ 196.130415] x1 : aa43e5f3aea21400 x0 : 0000000000000000 [ 196.135720] Call trace: [ 196.138161] cqhci_irq+0x318/0x4a0 [ 196.141555] sdhci_am654_cqhci_irq+0x58/0x88 [ 196.145813] sdhci_irq+0xb0/0xf10 [ 196.149122] __handle_irq_event_percpu+0x54/0x168 [ 196.153814] handle_irq_event_percpu+0x34/0x90 [ 196.158247] handle_irq_event+0x48/0xe0 [ 196.162077] handle_fasteoi_irq+0xb8/0x170 [ 196.166165] generic_handle_irq+0x30/0x48 [ 196.170164] __handle_domain_irq+0x64/0xc0 [ 196.174254] gic_handle_irq+0x58/0x128 [ 196.177994] el1_irq+0xcc/0x180 [ 196.181130] _raw_spin_unlock_irqrestore+0x14/0x48 [ 196.185911] cqhci_request+0xc8/0x4e8 [ 196.189567] mmc_cqe_start_req+0x58/0x68 [ 196.193481] mmc_blk_mq_issue_rq+0x49c/0x8a0 [ 196.197740] mmc_mq_queue_rq+0x118/0x2b0 [ 196.201653] blk_mq_dispatch_rq_list+0x104/0x778 [ 196.206262] __blk_mq_sched_dispatch_requests+0xd4/0x1a0 [ 196.211562] blk_mq_sched_dispatch_requests+0x38/0x78 [ 196.216603] __blk_mq_run_hw_queue+0xac/0x128 [ 196.220949] blk_mq_run_work_fn+0x20/0x30 [ 196.224951] process_one_work+0x1a0/0x328 [ 196.228951] worker_thread+0x4c/0x420 [ 196.232605] kthread+0x140/0x160 [ 196.235826] ret_from_fork+0x10/0x34 [ 196.239392] ---[ end trace 14dd04133c9ecd4d ]--- [ 249.278363] Initializing XFRM netlink socket [ 252.114062] process 'docker/tmp/qemu-check735632080/check' started with executable stack [ 257.119856] mmc0: cqhci: timeout for tag 0 [ 257.123981] mmc0: cqhci: ============ CQHCI REGISTER DUMP =========== [ 257.130476] mmc0: cqhci: Caps: 0x000030c8 | Version: 0x00000510 [ 257.136917] mmc0: cqhci: Config: 0x00000101 | Control: 0x00000000 [ 257.143353] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006 [ 257.149788] mmc0: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000 [ 257.156223] mmc0: cqhci: TDL base: 0x81704000 | TDL up32: 0x00000000 [ 257.162659] mmc0: cqhci: Doorbell: 0xffffffff | TCN: 0x00000000 [ 257.169094] mmc0: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000 [ 257.175529] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000 [ 257.181965] mmc0: cqhci: SSC2: 0x00000001 | DCMD rsp: 0x00000000 [ 257.188823] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x8d2f0000 [ 257.195263] mmc0: cqhci: Resp idx: 0x0000002f | Resp arg: 0x00000900 [ 257.201699] mmc0: sdhci: ============ SDHCI REGISTER DUMP =========== [ 257.208135] mmc0: sdhci: Sys addr: 0x00000400 | Version: 0x00001004 [ 257.214569] mmc0: sdhci: Blk size: 0x00007080 | Blk cnt: 0x00000000 [ 257.221028] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013 [ 257.227464] mmc0: sdhci: Present: 0x01ff00f0 | Host ctl: 0x0000003c [ 257.233899] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 [ 257.240339] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 [ 257.246774] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 [ 257.253210] mmc0: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000 [ 257.259646] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000 [ 257.266082] mmc0: sdhci: Caps: 0x3decc801 | Caps_1: 0x18002407 [ 257.272517] mmc0: sdhci: Cmd: 0x0000153a | Max curr: 0x00000000 [ 257.278952] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0xffc003ff [ 257.285387] mmc0: sdhci: Resp[2]: 0x328f5903 | Resp[3]: 0x00d07f01 [ 257.291821] mmc0: sdhci: Host ctl2: 0x0000000b [ 257.296274] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x000000008163e20c [ 257.303402] mmc0: sdhci: ============================================ [ 257.309853] mmc0: running CQE recovery [ 257.330047] mmc0: running CQE recovery [ 318.559892] mmc0: cqhci: timeout for tag 0 [ 318.564021] mmc0: cqhci: ============ CQHCI REGISTER DUMP =========== [ 318.570494] mmc0: cqhci: Caps: 0x000030c8 | Version: 0x00000510 [ 318.576932] mmc0: cqhci: Config: 0x00000101 | Control: 0x00000000 [ 318.583367] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006 [ 318.589803] mmc0: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000 [ 318.596237] mmc0: cqhci: TDL base: 0x81704000 | TDL up32: 0x00000000 [ 318.602673] mmc0: cqhci: Doorbell: 0xffffffff | TCN: 0x00000000 [ 318.609109] mmc0: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000 [ 318.615545] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000 [ 318.621981] mmc0: cqhci: SSC2: 0x00000001 | DCMD rsp: 0x00000000 [ 318.628842] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x982f0000 [ 318.635280] mmc0: cqhci: Resp idx: 0x0000002f | Resp arg: 0x00000900 [ 318.641716] mmc0: sdhci: ============ SDHCI REGISTER DUMP =========== [ 318.648152] mmc0: sdhci: Sys addr: 0x00000400 | Version: 0x00001004 [ 318.654588] mmc0: sdhci: Blk size: 0x00007080 | Blk cnt: 0x00000000 [ 318.661048] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013 [ 318.667491] mmc0: sdhci: Present: 0x01ff00f0 | Host ctl: 0x0000003c [ 318.673927] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 [ 318.680362] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 [ 318.686797] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 [ 318.693234] mmc0: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000 [ 318.699670] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000 [ 318.706106] mmc0: sdhci: Caps: 0x3decc801 | Caps_1: 0x18002407 [ 318.712543] mmc0: sdhci: Cmd: 0x0000153a | Max curr: 0x00000000 [ 318.718978] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0xffc003ff [ 318.725414] mmc0: sdhci: Resp[2]: 0x328f5903 | Resp[3]: 0x00d07f01 [ 318.731849] mmc0: sdhci: Host ctl2: 0x0000000b [ 318.736292] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x000000008163e20c [ 318.743430] mmc0: sdhci: ============================================ [ 318.749888] mmc0: running CQE recovery [ 318.760235] mmc0: running CQE recovery [ 379.999866] mmc0: cqhci: timeout for tag 0 [ 380.003991] mmc0: cqhci: ============ CQHCI REGISTER DUMP =========== [ 380.010469] mmc0: cqhci: Caps: 0x000030c8 | Version: 0x00000510 [ 380.016907] mmc0: cqhci: Config: 0x00000101 | Control: 0x00000000 [ 380.023344] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006 [ 380.029781] mmc0: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000 [ 380.036216] mmc0: cqhci: TDL base: 0x81704000 | TDL up32: 0x00000000 [ 380.042652] mmc0: cqhci: Doorbell: 0xffffffff | TCN: 0x00000000 [ 380.049097] mmc0: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000 [ 380.055533] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000 [ 380.061968] mmc0: cqhci: SSC2: 0x00000001 | DCMD rsp: 0x00000000 [ 380.068839] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x9e2f0000 [ 380.075277] mmc0: cqhci: Resp idx: 0x0000002f | Resp arg: 0x00000900 [ 380.081712] mmc0: sdhci: ============ SDHCI REGISTER DUMP =========== [ 380.088148] mmc0: sdhci: Sys addr: 0x00000400 | Version: 0x00001004 [ 380.094583] mmc0: sdhci: Blk size: 0x00007080 | Blk cnt: 0x00000000 [ 380.101044] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013 [ 380.107484] mmc0: sdhci: Present: 0x01ff00f0 | Host ctl: 0x0000003c [ 380.113920] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 [ 380.120355] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 [ 380.126789] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 [ 380.133226] mmc0: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000 [ 380.139661] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000 [ 380.146095] mmc0: sdhci: Caps: 0x3decc801 | Caps_1: 0x18002407 [ 380.152531] mmc0: sdhci: Cmd: 0x0000153a | Max curr: 0x00000000 [ 380.158966] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0xffc003ff [ 380.165401] mmc0: sdhci: Resp[2]: 0x328f5903 | Resp[3]: 0x00d07f01 [ 380.171837] mmc0: sdhci: Host ctl2: 0x0000000b [ 380.176280] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x000000008163e20c [ 380.183407] mmc0: sdhci: ============================================ [ 380.189856] mmc0: running CQE recovery [ 380.200210] mmc0: running CQE recovery [ 441.440027] mmc0: cqhci: timeout for tag 0 [ 441.444156] mmc0: cqhci: ============ CQHCI REGISTER DUMP =========== [ 441.450643] mmc0: cqhci: Caps: 0x000030c8 | Version: 0x00000510 [ 441.457117] mmc0: cqhci: Config: 0x00000101 | Control: 0x00000000 [ 441.463636] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006 [ 441.470085] mmc0: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000 [ 441.476528] mmc0: cqhci: TDL base: 0x81704000 | TDL up32: 0x00000000 [ 441.482964] mmc0: cqhci: Doorbell: 0xffffffff | TCN: 0x00000000 [ 441.489401] mmc0: cqhci: Dev queue: 0x00000000 | Dev Pend: 0x00000000 [ 441.495838] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000 [ 441.502274] mmc0: cqhci: SSC2: 0x00000001 | DCMD rsp: 0x00000000 [ 441.509160] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x9e2f0000 [ 441.515598] mmc0: cqhci: Resp idx: 0x0000002f | Resp arg: 0x00000900 [ 441.522033] mmc0: sdhci: ============ SDHCI REGISTER DUMP =========== [ 441.528469] mmc0: sdhci: Sys addr: 0x00000400 | Version: 0x00001004 [ 441.534911] mmc0: sdhci: Blk size: 0x00007080 | Blk cnt: 0x00000000 [ 441.541391] mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000013 [ 441.547845] mmc0: sdhci: Present: 0x01ff00f0 | Host ctl: 0x0000003c [ 441.554282] mmc0: sdhci: Power: 0x0000000f | Blk gap: 0x00000080 [ 441.560718] mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 [ 441.567153] mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 [ 441.573589] mmc0: sdhci: Int enab: 0x02ff4000 | Sig enab: 0x02ff4000 [ 441.580024] mmc0: sdhci: ACmd stat: 0x00000000 | Slot int: 0x00000000 [ 441.586460] mmc0: sdhci: Caps: 0x3decc801 | Caps_1: 0x18002407 [ 441.592895] mmc0: sdhci: Cmd: 0x0000153a | Max curr: 0x00000000 [ 441.599330] mmc0: sdhci: Resp[0]: 0x00000900 | Resp[1]: 0xffc003ff [ 441.605766] mmc0: sdhci: Resp[2]: 0x328f5903 | Resp[3]: 0x00d07f01 [ 441.612201] mmc0: sdhci: Host ctl2: 0x0000000b [ 441.616644] mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x000000008163e20c [ 441.623771] mmc0: sdhci: ============================================ [ 441.630227] mmc0: running CQE recovery [ 441.640237] mmc0: running CQE recovery [ 441.647984] blk_update_request: I/O error, dev mmcblk0, sector 29696 op 0x1:(WRITE) flags 0x104000 phys_seg 128 prio class 0 [ 441.663463] Buffer I/O error on dev mmcblk0, logical block 3712, lost async page write [ 441.671990] Buffer I/O error on dev mmcblk0, logical block 3713, lost async page write [ 441.680079] Buffer I/O error on dev mmcblk0, logical block 3714, lost async page write [ 441.688170] Buffer I/O error on dev mmcblk0, logical block 3715, lost async page write [ 441.696217] Buffer I/O error on dev mmcblk0, logical block 3716, lost async page write [ 441.704297] Buffer I/O error on dev mmcblk0, logical block 3717, lost async page write [ 441.712344] Buffer I/O error on dev mmcblk0, logical block 3718, lost async page write [ 441.720382] Buffer I/O error on dev mmcblk0, logical block 3719, lost async page write [ 441.728422] Buffer I/O error on dev mmcblk0, logical block 3720, lost async page write [ 441.736460] Buffer I/O error on dev mmcblk0, logical block 3721, lost async page write