ArmPlatformPkg/HdLcdArmVExpressLib: use write-combine mapping for VRAM

Replace the uncached memory mapping of the framebuffer with a write-
combining one. This improves performance, and avoids issues with
unaligned accesses and DC ZVA instructions performed by the accelerated
memcpy/memset routines.

Instead of manipulating the memory attributes directly, use the
SetMemorySpaceAttributes() DXE services, which validates the attributes
against the capabilities of the region before making the actual change.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>
Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
This commit is contained in:
Ard Biesheuvel
2017-04-06 12:59:38 +01:00
parent 1fe11382db
commit 14fa71247c
2 changed files with 6 additions and 9 deletions

View File

@@ -32,8 +32,9 @@ HdLcdArmVExpress.c
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressPkg.dec
[LibraryClasses]
BaseLib
ArmPlatformSysConfigLib
BaseLib
DxeServicesTableLib
[Protocols]
gEfiEdidDiscoveredProtocolGuid # Produced