diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb index 0a92d1cabe..fbb5d98b66 100644 --- a/common/hw-gfx-gma.adb +++ b/common/hw-gfx-gma.adb @@ -402,109 +402,6 @@ is Power_And_Clocks.Power_Set_To (Cur_Configs); end Scan_Ports; - procedure Auto_Configure - (Configs : in out Pipe_Configs; - Keep_Power : in Boolean := False) - is - Raw_EDID : EDID.Raw_EDID_Data := (others => 16#00#); - Success : Boolean; - - Config_Idx : Pipe_Index; - Port_Cfg : Port_Config; - - function Free_Config return Boolean - with - Pre => True - is - begin - return Port_Configured (Configs, Disabled); - end Free_Config; - - function First_Free_Config return Pipe_Index - with - Pre => Free_Config - is - begin - return (if Configs (Primary).Port = Disabled then Primary else - (if Configs (Secondary).Port = Disabled then Secondary - else Tertiary)); - end First_Free_Config; - begin - -- TODO: Only check ports with hot-plug event? - - if Config.Has_Internal_Display and then - not Keep_Power and then - not Port_Configured (Cur_Configs, Internal) - then - Panel.On (Wait => False); - end if; - - -- Check if displays are still connected - for I in Pipe_Index loop - if Configs (I).Port /= Disabled then - Fill_Port_Config (Port_Cfg, Configs, I, Success); - if Success then - Connector_Info.Read_EDID - (Raw_EDID => Raw_EDID, - Port_Cfg => Port_Cfg, - Success => Success); - end if; - if not Success or else - not EDID.Has_Preferred_Mode (Raw_EDID) or else - Configs (I).Mode /= EDID.Preferred_Mode (Raw_EDID) - then - Configs (I).Port := Disabled; - end if; - end if; - end loop; - - -- Add new displays as long as there is a free pipe config - for Port in Active_Port_Type loop - if Free_Config and then not Port_Configured (Configs, Port) then - Config_Idx := First_Free_Config; - Configs (Config_Idx).Port := Port; - Fill_Port_Config (Port_Cfg, Configs, Config_Idx, Success); - - if Success then - -- Need power to probe port - if not Keep_Power and then To_Display_Type (Port) = DP then - Power_And_Clocks.Power_Up (Cur_Configs, Configs); - end if; - if not Keep_Power and then Port = Internal then - Panel.Wait_On; - end if; - - Connector_Info.Read_EDID - (Raw_EDID => Raw_EDID, - Port_Cfg => Port_Cfg, - Success => Success); - end if; - - if Success and then - (EDID.Compatible_Display (Raw_EDID, Port_Cfg.Display) and - EDID.Has_Preferred_Mode (Raw_EDID)) - then - Configs (Config_Idx) := Pipe_Config' - (Port => Port, - Framebuffer => Configs (Config_Idx).Framebuffer, - Mode => EDID.Preferred_Mode (Raw_EDID)); - else - Configs (Config_Idx).Port := Disabled; - end if; - end if; - end loop; - - if not Keep_Power then - Power_And_Clocks.Power_Set_To (Cur_Configs); - - if Config.Has_Internal_Display and then - not Port_Configured (Cur_Configs, Internal) - then - Panel.Off; - end if; - end if; - end Auto_Configure; - ---------------------------------------------------------------------------- procedure Update_Outputs (Configs : Pipe_Configs) diff --git a/common/hw-gfx-gma.ads b/common/hw-gfx-gma.ads index de00962e7f..baf16daf96 100644 --- a/common/hw-gfx-gma.ads +++ b/common/hw-gfx-gma.ads @@ -82,9 +82,6 @@ is (Configs : out Pipe_Configs; Ports : in Port_List; Max_Pipe : in Pipe_Index := Pipe_Index'Last); - procedure Auto_Configure - (Configs : in out Pipe_Configs; - Keep_Power : in Boolean := False); procedure Update_Outputs (Configs : Pipe_Configs); pragma Warnings (GNATprove, Off, "subprogram ""Dump_Configs"" has no effect",