gma pipe_setup: Write DSPSURF register last
The surface register arms the other plane registers for a synchronous
update and should be written last.
Change-Id: I723cdf7e319c62004d3c4db80959d8b14f553ff6
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/23164
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/common/hw-gfx-gma-pipe_setup.adb b/common/hw-gfx-gma-pipe_setup.adb
index 00f05f7..5bcc4c8 100644
--- a/common/hw-gfx-gma-pipe_setup.adb
+++ b/common/hw-gfx-gma-pipe_setup.adb
@@ -211,7 +211,6 @@
Registers.Write
(Controller.DSPSTRIDE, Word32 (Pixel_To_Bytes (FB.Stride, FB)));
- Registers.Write (Controller.DSPSURF, FB.Offset and 16#ffff_f000#);
if Config.Has_DSP_Linoff then
Registers.Write
(Register => Controller.DSPLINOFF,
@@ -224,6 +223,7 @@
Value => Shift_Left (Word32 (FB.Start_Y), 16) or
Word32 (FB.Start_X));
end if;
+ Registers.Write (Controller.DSPSURF, FB.Offset and 16#ffff_f000#);
end if;
end Setup_Hires_Plane;