diff --git a/common/hw-gfx-gma-config_helpers.adb b/common/hw-gfx-gma-config_helpers.adb
index f2b4ef6..5e5be5d 100644
--- a/common/hw-gfx-gma-config_helpers.adb
+++ b/common/hw-gfx-gma-config_helpers.adb
@@ -181,9 +181,9 @@
    -- Validates that a given configuration should work with
    -- a given framebuffer.
    function Validate_Config
-     (FB       : Framebuffer_Type;
-      Port_Cfg : Port_Config;
-      Pipe     : Pipe_Index)
+     (FB    : Framebuffer_Type;
+      Mode  : Mode_Type;
+      Pipe  : Pipe_Index)
       return Boolean
    is
    begin
@@ -197,11 +197,11 @@
       -- Plane_Control)
       -- 90 degree rotations are only supported with Y-tiling
       return
-         ((Rotated_Width (FB) = Port_Cfg.Mode.H_Visible and
-           Rotated_Height (FB) = Port_Cfg.Mode.V_Visible) or
+         ((Rotated_Width (FB) = Mode.H_Visible and
+           Rotated_Height (FB) = Mode.V_Visible) or
           (Rotated_Width (FB) <= Config.Maximum_Scalable_Width (Pipe) and
-           Rotated_Width (FB) <= Port_Cfg.Mode.H_Visible and
-           Rotated_Height (FB) <= Port_Cfg.Mode.V_Visible)) and
+           Rotated_Width (FB) <= Mode.H_Visible and
+           Rotated_Height (FB) <= Mode.V_Visible)) and
          (FB.Offset /= VGA_PLANE_FRAMEBUFFER_OFFSET or Pipe = Primary) and
          (FB.Offset = VGA_PLANE_FRAMEBUFFER_OFFSET or
           (FB.BPC = 8 and Valid_Stride (FB) and
diff --git a/common/hw-gfx-gma-config_helpers.ads b/common/hw-gfx-gma-config_helpers.ads
index 1dc2390..4853634 100644
--- a/common/hw-gfx-gma-config_helpers.ads
+++ b/common/hw-gfx-gma-config_helpers.ads
@@ -40,15 +40,15 @@
    use type HW.Pos32;
    pragma Warnings (GNAT, On, """Integer_32"" is already use-visible *");
    function Validate_Config
-     (FB       : Framebuffer_Type;
-      Port_Cfg : Port_Config;
-      Pipe     : Pipe_Index)
+     (FB    : Framebuffer_Type;
+      Mode  : Mode_Type;
+      Pipe  : Pipe_Index)
       return Boolean
    with
       Post =>
         (if Validate_Config'Result then
-            Rotated_Width (FB) <= Port_Cfg.Mode.H_Visible and
-            Rotated_Height (FB) <= Port_Cfg.Mode.V_Visible and
+            Rotated_Width (FB) <= Mode.H_Visible and
+            Rotated_Height (FB) <= Mode.V_Visible and
             (FB.Offset = VGA_PLANE_FRAMEBUFFER_OFFSET or
              FB.Height + FB.Start_Y <= FB.V_Stride));
 
diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb
index 0e2c835..4a1264c 100644
--- a/common/hw-gfx-gma.adb
+++ b/common/hw-gfx-gma.adb
@@ -109,7 +109,7 @@
 
       if Success then
          Success := Config_Helpers.Validate_Config
-           (Pipe_Cfg.Framebuffer, Port_Cfg, Pipe);
+           (Pipe_Cfg.Framebuffer, Port_Cfg.Mode, Pipe);
       end if;
 
       if Success then
