[PATCH] mmc: sdhci-iproc: suppress spurious interrupt with Multiblock read
Adrian Hunter
adrian.hunter at intel.com
Thu May 18 23:25:45 PDT 2017
On 18/05/17 19:57, Srinath Mannam wrote:
> 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: Srinath Mannam <srinath.mannam at broadcom.com>
> Reviewed-by: Ray Jui <ray.jui at broadcom.com>
> Reviewed-by: Scott Branden <scott.branden at broadcom.com>
Acked-by: Adrian Hunter <adrian.hunter at intel.com>
>
> diff --git a/drivers/mmc/host/sdhci-iproc.c b/drivers/mmc/host/sdhci-iproc.c
> index 3275d49..61666d2 100644
> --- a/drivers/mmc/host/sdhci-iproc.c
> +++ b/drivers/mmc/host/sdhci-iproc.c
> @@ -187,7 +187,8 @@ static const struct sdhci_iproc_data iproc_cygnus_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,
> .ops = &sdhci_iproc_ops,
> };
>
More information about the linux-arm-kernel
mailing list