drivers: mmc: sdhci: add SPURIOUS_INT_RESP quirk
authorJonathan Bell <jonathan@raspberrypi.com>
Wed, 8 Nov 2023 11:52:16 +0000 (11:52 +0000)
committerDom Cobley <popcornmix@gmail.com>
Mon, 19 Feb 2024 11:35:12 +0000 (11:35 +0000)
commit29cbf6adef1ef53ad94a6d05d51626e4e126f7c3
tree8c997eadc564a981d5b1457c43bd53759b36aeb9
parent33a9555e5b2ee8bd6b8c3769c1ef2620b5581b8e
drivers: mmc: sdhci: add SPURIOUS_INT_RESP quirk

Certain controllers (dwc-mshc) generate timeout conditions separately to
command-completion conditions, where the end result is interrupts are
separated in time depending on the current SDCLK frequency.

This causes spurious interrupts if SDCLK is slow compared to the CPU's
ability to process and return from interrupt. This occurs during card
probe with an empty slot where all commands that would generate a
response time out.

Add a quirk to squelch command response interrupts when a command
timeout interrupt is received.

Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
drivers/mmc/host/sdhci.c
drivers/mmc/host/sdhci.h