DwcSdhciDxe: Disable ADMA2 to avoid data corruption

This controller has the limitation that a single ADMA2 descriptor cannot
cross 128 MB boundaries and must be split.
This would require a patch in SdMmcPciHcDxe, but SDMA works fine for the
time being.

Signed-off-by: Mario Bălănică <mariobalanica02@gmail.com>
This commit is contained in:
Mario Bălănică
2024-06-22 20:10:08 +03:00
parent 053cf714a7
commit 02d150251c

View File

@@ -59,6 +59,15 @@ EmmcSdMmcCapability (
return EFI_NOT_FOUND;
}
//
// Disable ADMA2 to avoid data corruption.
// This controller has the limitation that a single descriptor
// cannot cross 128 MB boundaries and must be split.
// This would require a patch in SdMmcPciHcDxe, but SDMA works
// fine for the time being.
//
Capability->Adma2 = 0;
Capability->Hs400 = !EMMC_DISABLE_HS400;
if (EMMC_FORCE_HIGH_SPEED) {