diff options
author | Paul Walmsley <paul@pwsan.com> | 2011-10-07 00:50:35 +0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-10-27 17:11:28 +0400 |
commit | 9b68256cdef75204aa8a4583aa79dd7c081796b3 (patch) | |
tree | 8b0d514421193b11ebfb98e99bde76b81bfb00f5 /drivers | |
parent | 2bf22b39823c1d173dda31111a4eb2ce36daaf39 (diff) | |
download | linux-9b68256cdef75204aa8a4583aa79dd7c081796b3.tar.xz |
mmc: omap_hsmmc: if multiblock reads are broken, disable them
When device data indicates that multiple block reads are not supported
on a given HSMMC controller instance, log a message to the console, and
pass the appropriate MMC capability flag to the MMC core.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Dave Hylands <dhylands@gmail.com>
Tested-by: Steve Sakoman <sakoman@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index bb334be562d7..e8ff12396680 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -1942,6 +1942,10 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) omap_hsmmc_context_save(host); mmc->caps |= MMC_CAP_DISABLE; + if (host->pdata->controller_flags & OMAP_HSMMC_BROKEN_MULTIBLOCK_READ) { + dev_info(&pdev->dev, "multiblock reads disabled due to 35xx erratum 2.1.1.128; MMC read performance may suffer\n"); + mmc->caps2 |= MMC_CAP2_NO_MULTI_READ; + } pm_runtime_enable(host->dev); pm_runtime_get_sync(host->dev); |