Commit 21f8aa4c authored by Srinath Mannam's avatar Srinath Mannam Committed by Greg Kroah-Hartman

mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read

commit f5f968f2 upstream.

The stingray SDHCI hardware supports ACMD12 and automatically
issues after multi block transfer completed.

If ACMD12 in SDHCI is disabled, spurious tx done interrupts are seen
on multi block read command with below error message:

Got data interrupt 0x00000002 even though no data
operation was in progress.

This patch uses SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12 to enable
ACM12 support in SDHCI hardware and suppress spurious interrupt.
Signed-off-by: default avatarSrinath Mannam <srinath.mannam@broadcom.com>
Reviewed-by: default avatarRay Jui <ray.jui@broadcom.com>
Reviewed-by: default avatarScott Branden <scott.branden@broadcom.com>
Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
Fixes: b580c52d ("mmc: sdhci-iproc: add IPROC SDHCI driver")
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4c5681af
...@@ -187,7 +187,8 @@ static const struct sdhci_iproc_data iproc_cygnus_data = { ...@@ -187,7 +187,8 @@ static const struct sdhci_iproc_data iproc_cygnus_data = {
}; };
static const struct sdhci_pltfm_data sdhci_iproc_pltfm_data = { static const struct sdhci_pltfm_data sdhci_iproc_pltfm_data = {
.quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK, .quirks = SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12,
.quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN, .quirks2 = SDHCI_QUIRK2_ACMD23_BROKEN,
.ops = &sdhci_iproc_ops, .ops = &sdhci_iproc_ops,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment