Hi,NXP teams
Recently We have a rather troublesome problem.
We use imx8mm platform, and Linux-4.14.98 kernel,when we write data to emmc, at sometime will wait for long time and shows as below:
[ 9430.110443] mmc0: cqhci: timeout for tag 31
[ 9430.114641] mmc0: cqhci: ============ CQHCI REGISTER DUMP ===========
[ 9430.121089] mmc0: cqhci: Caps: 0x0000310a | Version: 0x00000510
[ 9430.127534] mmc0: cqhci: Config: 0x00001001 | Control: 0x00000000
[ 9430.133979] mmc0: cqhci: Int stat: 0x00000000 | Int enab: 0x00000006
[ 9430.140425] mmc0: cqhci: Int sig: 0x00000006 | Int Coal: 0x00000000
[ 9430.146872] mmc0: cqhci: TDL base: 0xffffb000 | TDL up32: 0x00000000
[ 9430.153318] mmc0: cqhci: Doorbell: 0x00000000 | TCN: 0x80000000
[ 9430.159764] mmc0: cqhci: Dev queue: 0x00000004 | Dev Pend: 0x00000000
[ 9430.166210] mmc0: cqhci: Task clr: 0x00000000 | SSC1: 0x00011000
[ 9430.172656] mmc0: cqhci: SSC2: 0x00000001 | DCMD rsp: 0x00000004
[ 9430.179102] mmc0: cqhci: RED mask: 0xfdf9a080 | TERRI: 0x00000000
[ 9430.185548] mmc0: cqhci: Resp idx: 0x00000000 | Resp arg: 0x00000004
[ 9430.191996] mmc0: sdhci: ============ SDHCI REGISTER DUMP ===========
[ 9430.198442] mmc0: sdhci: Sys addr: 0xf9bdc000 | Version: 0x00000002
....
and then, we modify the linux source, shows as below:
drivers/mmc/host/sdhci-esdhc-imx.c
static struct esdhc_soc_data usdhc_imx8qm_data = {
.flags = ESDHC_FLAG_USDHC | ESDHC_FLAG_STD_TUNING
| ESDHC_FLAG_HAVE_CAP1 | ESDHC_FLAG_HS200
| ESDHC_FLAG_HS400 | ESDHC_FLAG_HS400_ES
// | ESDHC_FLAG_CQHCI // modify by Sindge 20220309
| ESDHC_FLAG_STATE_LOST_IN_LPMODE
| ESDHC_FLAG_CLK_RATE_LOST_IN_PM_RUNTIME,
};
if we only write one file,that OK, but if we write more than two files at the same time, the write data is error!
Do you have any good suggestions?
Hope for your reply
anybody?
When you write 2 or more files what is the error messages? Can you share the log file to us?