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 <[email protected]>
Cc: Dave Hylands <[email protected]>
Tested-by: Steve Sakoman <[email protected]>
Signed-off-by: Chris Ball <[email protected]>
This commit is contained in:
Paul Walmsley 2011-10-06 14:50:35 -06:00 • committed by Chris Ball
commit 9b68256cde
2 changed files with 22 additions and 1 deletions

View file

@ -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);