8064: mmc: Disable CMD23 support for virtio
To enable CMD23, the controller must send AUTO_PROG_DONE status for
multi block write command CMD25. The SDCC controller on Virtio doesn't
send this AUTO_PROG_DONE status. As a temporary workaround disable CMD23
only on virtio platforms.
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
diff --git a/arch/arm/include/asm/mach/mmc.h b/arch/arm/include/asm/mach/mmc.h
index c150a63..f138df1 100644
--- a/arch/arm/include/asm/mach/mmc.h
+++ b/arch/arm/include/asm/mach/mmc.h
@@ -145,6 +145,7 @@
struct msm_mmc_pin_data *pin_data;
bool disable_bam;
bool disable_runtime_pm;
+ bool disable_cmd23;
};
#endif
diff --git a/arch/arm/mach-msm/board-apq8064.c b/arch/arm/mach-msm/board-apq8064.c
index f6932ba..37f47be 100644
--- a/arch/arm/mach-msm/board-apq8064.c
+++ b/arch/arm/mach-msm/board-apq8064.c
@@ -250,10 +250,12 @@
if (apq8064_sdc1_pdata) {
apq8064_sdc1_pdata->disable_bam = true;
apq8064_sdc1_pdata->disable_runtime_pm = true;
+ apq8064_sdc1_pdata->disable_cmd23 = true;
}
if (apq8064_sdc3_pdata) {
apq8064_sdc3_pdata->disable_bam = true;
apq8064_sdc3_pdata->disable_runtime_pm = true;
+ apq8064_sdc3_pdata->disable_cmd23 = true;
}
}
apq8064_add_sdcc(1, apq8064_sdc1_pdata);