Skip to content

Commit 26c547f

Browse files
notazPaul Walmsley
authored andcommitted
ARM: OMAP3xxx: HSMMC: avoid erratum workaround when transceiver is attached
If transceiver is attached to a MMC host of ES2.1 OMAP35xx, it seems 2.1.1.128 erratum doesn't apply and there is no data corruption, probably because of different signal timing. The workaround for this erratum disables multiblock reads, which causes dramatic loss of performance (over 75% slower), so avoid it when transceiver is present. Cc: Paul Walmsley <[email protected]> Signed-off-by: Grazvydas Ignotas <[email protected]> [[email protected]: edited commit message slightly] Signed-off-by: Paul Walmsley <[email protected]>
1 parent dd775ae commit 26c547f

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

arch/arm/mach-omap2/hsmmc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,13 @@ static void __init omap_hsmmc_init_one(struct omap2_hsmmc_info *hsmmcinfo,
506506
if (oh->dev_attr != NULL) {
507507
mmc_dev_attr = oh->dev_attr;
508508
mmc_data->controller_flags = mmc_dev_attr->flags;
509+
/*
510+
* erratum 2.1.1.128 doesn't apply if board has
511+
* a transceiver is attached
512+
*/
513+
if (hsmmcinfo->transceiver)
514+
mmc_data->controller_flags &=
515+
~OMAP_HSMMC_BROKEN_MULTIBLOCK_READ;
509516
}
510517

511518
pdev = platform_device_alloc(name, ctrl_nr - 1);

0 commit comments

Comments
 (0)