summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJohn Keeping <[email protected]>2022-09-15 18:56:56 +0100
committerJaehoon Chung <[email protected]>2022-10-24 18:02:41 +0900
commit7ff2f30b63947ffe4e707bbe4b94143e947fce35 (patch)
treef2d31cb0ff3a3fdefc553f31758ad1cf96e18660 /include
parent359c176de550be54805e762d296a9fec3dc24d63 (diff)
mmc: dwmmc: only clear handled interrupts
Unconditionally clearing DTO when RXDR is set leads to spurious timeouts in FIFO mode transfers if events occur in the following order: mask = dwmci_readl(host, DWMCI_RINTSTS); // Hardware asserts DWMCI_INTMSK_DTO here dwmci_writel(host, DWMCI_RINTSTS, DWMCI_INTMSK_DTO); if (mask & DWMCI_INTMSK_DTO) { // Unreachable as DTO is cleared without being handled! return 0; } Only clear interrupts that we have seen and are handling so that DTO is not missed. Signed-off-by: John Keeping <[email protected]> Tested-by: Jerome Forissier <[email protected]> (Rock PI 4B) Tested-by: Quentin Schulz <[email protected]> Reviewed-by: Jaehoon Chung <[email protected]>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions