gma: Do detection and connectors init after `All_Off'
The `Port_Detect.Init' and `Connectors.Init' steps have grown over time.
They used to do one-time initialization that could be done independently
from the current hardware state. However, with the introduction of Tiger
Lake, it becomes more reasonable to ensure a disabled state before those
init steps.
Actually, we already program DDI buffers in `Connectors.Init' that pro-
bably shouldn't change when the hardware is running. It only didn't mat-
ter because everybody is supposed to write the same static values.
Tested on CFL with port detection after power & clocks init.
Change-Id: Ia707470da385624dcbbe90c0c7f64fe71331b65e
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/460
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: Nico Huber <nico.h@gmx.de>
diff --git a/common/hw-gfx-gma.adb b/common/hw-gfx-gma.adb
index f8eab45..39a6426 100644
--- a/common/hw-gfx-gma.adb
+++ b/common/hw-gfx-gma.adb
@@ -614,8 +614,6 @@
end if;
Panel.Setup_PP_Sequencer;
- Port_Detect.Initialize;
- Connectors.Initialize;
if Clean_State then
Power_And_Clocks.Pre_All_Off;
@@ -635,6 +633,8 @@
-------------------- Now restart from a clean state ---------------------
Power_And_Clocks.Initialize;
+ Port_Detect.Initialize;
+ Connectors.Initialize;
if Config.Has_PCH then
Registers.Unset_And_Set_Mask