gma pipe_setup: Pass new and old cursor position in

To use the secondary plane as a cursor, we have to know when
the cursor becomes visible or vanishes (e.g. moved to a dif-
ferent screen). So we need to know both, its old and its new
position.

Change-Id: I13785be10c6c50fccfd2b930b82da203d6cc6df9
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/544
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Thomas Heijligen <src@posteo.de>
Tested-by: Nico Huber <nico.h@gmx.de>
diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb
index 449f7b3..6108a89 100644
--- a/common/hw-gfx-gma.adb
+++ b/common/hw-gfx-gma.adb
@@ -420,10 +420,10 @@
       Y     : Cursor_Pos)
    is
    begin
+      Display_Controller.Place_Cursor
+        (Pipe, Cur_Configs (Pipe).Framebuffer, Cur_Configs (Pipe).Cursor, (X, Y));
       Cur_Configs (Pipe).Cursor.Center_X := X;
       Cur_Configs (Pipe).Cursor.Center_Y := Y;
-      Display_Controller.Place_Cursor
-        (Pipe, Cur_Configs (Pipe).Framebuffer, Cur_Configs (Pipe).Cursor);
    end Place_Cursor;
 
    procedure Move_Cursor