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;