diff --git a/common/g45/hw-gfx-gma-connectors.adb b/common/g45/hw-gfx-gma-connectors.adb
index ff689bb..6282df7 100644
--- a/common/g45/hw-gfx-gma-connectors.adb
+++ b/common/g45/hw-gfx-gma-connectors.adb
@@ -31,6 +31,17 @@
 
    ----------------------------------------------------------------------------
 
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   is
+   begin
+      Success := True;
+   end Prepare;
+
+   ----------------------------------------------------------------------------
+
    procedure Pre_On
      (Pipe        : in     Pipe_Index;
       Port_Cfg    : in     Port_Config;
diff --git a/common/haswell_shared/hw-gfx-gma-connectors.adb b/common/haswell_shared/hw-gfx-gma-connectors.adb
index e81322e..fedf660 100644
--- a/common/haswell_shared/hw-gfx-gma-connectors.adb
+++ b/common/haswell_shared/hw-gfx-gma-connectors.adb
@@ -33,6 +33,19 @@
       DDI.Initialize;
    end Initialize;
 
+   ----------------------------------------------------------------------------
+
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   is
+   begin
+      Success := True;
+   end Prepare;
+
+   ----------------------------------------------------------------------------
+
    procedure Pre_On
      (Pipe     : in     Pipe_Index;
       Port_Cfg : in     Port_Config;
diff --git a/common/hw-gfx-gma-connectors.ads b/common/hw-gfx-gma-connectors.ads
index a1d0d1e..89b9c6a 100644
--- a/common/hw-gfx-gma-connectors.ads
+++ b/common/hw-gfx-gma-connectors.ads
@@ -14,14 +14,24 @@
 
 private package HW.GFX.GMA.Connectors is
 
+   pragma Warnings (GNATprove, Off, "unused variable ""P*""",
+                    Reason => "Needed for a common interface");
+   pragma Warnings (GNATprove, Off, """P*"" is not modified, could be IN",
+                    Reason => "Needed for a common interface");
    pragma Warnings (GNATprove, Off, "subprogram ""*"" has no effect",
                     Reason => "Only effects some platforms");
    procedure Post_Reset_Off;
    procedure Initialize;
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   with
+      Post => Port_Cfg.Mode = Port_Cfg'Old.Mode;
+
+   pragma Warnings (GNATprove, On, """P*"" is not modified, could be IN");
    pragma Warnings (GNATprove, On, "subprogram ""*"" has no effect");
 
-   pragma Warnings (GNATprove, Off, "unused variable ""P*""",
-                    Reason => "Needed for a common interface");
    procedure Pre_On
      (Pipe        : in     Pipe_Index;
       Port_Cfg    : in     Port_Config;
diff --git a/common/hw-gfx-gma-display_probing.adb b/common/hw-gfx-gma-display_probing.adb
index 72df4ed..673f0ad 100644
--- a/common/hw-gfx-gma-display_probing.adb
+++ b/common/hw-gfx-gma-display_probing.adb
@@ -19,6 +19,7 @@
 with HW.GFX.GMA.I2C;
 with HW.GFX.GMA.DP_Aux_Ch;
 with HW.GFX.GMA.Panel;
+with HW.GFX.GMA.Connectors;
 with HW.GFX.GMA.Port_Detect;
 with HW.GFX.GMA.Power_And_Clocks;
 
diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb
index e26e751..2a7b7a6 100644
--- a/common/hw-gfx-gma.adb
+++ b/common/hw-gfx-gma.adb
@@ -162,6 +162,10 @@
          Connector_Info.Preferred_Link_Setting (Port_Cfg, Success);
       end if;
 
+      if Success then
+         Connectors.Prepare (Pipe_Cfg.Port, Port_Cfg, Success);
+      end if;
+
       -- loop over all possible DP-lane configurations
       -- (non-DP ports use a single fake configuration)
       while Success loop
@@ -217,6 +221,9 @@
          end if;
 
          Connector_Info.Next_Link_Setting (Port_Cfg, Success);
+         exit when not Success;
+
+         Connectors.Prepare (Pipe_Cfg.Port, Port_Cfg, Success);
       end loop;
 
       if Success then
diff --git a/common/i945/hw-gfx-gma-connectors.adb b/common/i945/hw-gfx-gma-connectors.adb
index e774227..383f7d3 100644
--- a/common/i945/hw-gfx-gma-connectors.adb
+++ b/common/i945/hw-gfx-gma-connectors.adb
@@ -28,6 +28,17 @@
 
    ----------------------------------------------------------------------------
 
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   is
+   begin
+      Success := True;
+   end Prepare;
+
+   ----------------------------------------------------------------------------
+
    procedure Pre_On
      (Pipe        : in     Pipe_Index;
       Port_Cfg    : in     Port_Config;
diff --git a/common/ironlake/hw-gfx-gma-connectors.adb b/common/ironlake/hw-gfx-gma-connectors.adb
index 1c3a243..db8e6d0 100644
--- a/common/ironlake/hw-gfx-gma-connectors.adb
+++ b/common/ironlake/hw-gfx-gma-connectors.adb
@@ -32,6 +32,19 @@
    procedure Post_Reset_Off is null;
    procedure Initialize is null;
 
+   ----------------------------------------------------------------------------
+
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   is
+   begin
+      Success := True;
+   end Prepare;
+
+   ----------------------------------------------------------------------------
+
    function Is_Internal (Port_Cfg : Port_Config) return Boolean
    is
    begin
diff --git a/common/tigerlake/hw-gfx-gma-connectors.adb b/common/tigerlake/hw-gfx-gma-connectors.adb
index 5e66b96..35e0692 100644
--- a/common/tigerlake/hw-gfx-gma-connectors.adb
+++ b/common/tigerlake/hw-gfx-gma-connectors.adb
@@ -30,6 +30,19 @@
       pragma Debug (Debug.Put_Line (GNAT.Source_Info.Enclosing_Entity));
    end Initialize;
 
+   ---------------------------------------------------------------------
+
+   procedure Prepare
+     (Port     : in     Active_Port_Type;
+      Port_Cfg : in out Port_Config;
+      Success  :    out Boolean)
+   is
+   begin
+      Success := False;
+   end;
+
+   ---------------------------------------------------------------------
+
    procedure Pre_On
      (Pipe        : in     Pipe_Index;
       Port_Cfg    : in     Port_Config;
