mmc: sdio: add a quirk for broken SDIO_CCCR_INTx polling
authorBing Zhao <bzhao@marvell.com>
Tue, 26 Nov 2013 23:39:20 +0000 (15:39 -0800)
committerlintao <lintao@rock-chips.com>
Fri, 7 Mar 2014 11:39:01 +0000 (19:39 +0800)
commit9545e8d7fe9a1abb1fe84aa772ced9d9dd27e852
treea68ecda058e26acb52771f85c99f9e917dfebde3
parent1a1ef290f98920b82bb949c726230feb15d01379
mmc: sdio: add a quirk for broken SDIO_CCCR_INTx polling

Polling SDIO_CCCR_INTx could create a fake interrupt with Marvell
SD8797 card. Add a quirk to handle this case. The fixup here is
to issue a dummy CMD52 read to function 0 register 0xff, and this
dummy read must be right after SDIO_CCCR_INTx is read.

Patch has been verified on a dw_mmc controller (Samsung Chromebook)
with MMC_CAP_SDIO_IRQ disabled.

Signed-off-by: Bing Zhao <bzhao@marvell.com>
Reviewed-by: Paul Stewart <pstew@chromium.org>
Reviewed-by: Doug Anderson <dianders@chromium.org>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/core/quirks.c
drivers/mmc/core/sdio_irq.c
include/linux/mmc/card.h