summaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2016-10-05 12:11:21 +0300
committerUlf Hansson <ulf.hansson@linaro.org>2016-10-10 14:20:34 +0200
commitfc605f1d8060133596bb6083fc4b7b306d1d5931 (patch)
tree3036ddd4e1667fc847ea8bea31cd22b712a79d2d /arch/ia64
parent3f2d26643595973e835e8356ea90c7c15cb1b0f1 (diff)
downloadlinux-stable-fc605f1d8060133596bb6083fc4b7b306d1d5931.tar.gz
linux-stable-fc605f1d8060133596bb6083fc4b7b306d1d5931.tar.bz2
linux-stable-fc605f1d8060133596bb6083fc4b7b306d1d5931.zip
mmc: sdhci: Fix SDHCI_QUIRK2_STOP_WITH_TC
Multi-block data transfers can specify the number of blocks either using a Set Block Count command (CMD23) or by sending a STOP command (CMD12) after the required number of blocks has transferred. CMD23 is preferred, but some cards don't support it. CMD12 with R1b response is used for writes, and R1 response for reads. Some SDHCI host controllers give a Transfer Complete (TC) interrupt for the STOP command (CMD12) whether or not a R1b response has been specified. The quirk SDHCI_QUIRK2_STOP_WITH_TC identifies those host controllers, but the implementation only considers the case where the TC interrupt arrives at the same time as the Command Complete (CC) interrupt. However, occasionally TC arrives before CC. That is harmless, but does generate an error message "Got data interrupt 0x00000002 even though no data operation was in progress". A simpler approach is to force R1b response onto all STOP commands, because SDHCI will handle TC before CC in the general case, so do that. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'arch/ia64')
0 files changed, 0 insertions, 0 deletions