gma panel config: Turn `internal display type` into a `panel port`
Instead of querying for the type of the internal display (LVDS vs. DP),
make it a choice of the port that has a panel hooked up. As some plat-
forms actually have support for two panels, we prepare for that by
naming it `Panel_1_Port`.
We still need to call into the panel logic, when the respective port
is enabled. This will be done in the next commit.
Change-Id: Id3c78441857d07fb34274b9abd3ae6ea42909ff6
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/c/libgfxinit/+/38242
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: Nico Huber <nico.h@gmx.de>
diff --git a/common/hw-gfx-gma-panel.adb b/common/hw-gfx-gma-panel.adb
index 968fbbe..b40689b 100644
--- a/common/hw-gfx-gma-panel.adb
+++ b/common/hw-gfx-gma-panel.adb
@@ -217,11 +217,13 @@
if Override_Delays then
if Config.Has_PP_Port_Select then
- if Config.Internal_Is_EDP then
- Port_Select := PCH_PP_ON_DELAYS_PORT_SELECT_DP_A;
- else
- Port_Select := PCH_PP_ON_DELAYS_PORT_SELECT_LVDS;
- end if;
+ Port_Select :=
+ (case Config.Panel_1_Port is
+ when LVDS => PCH_PP_ON_DELAYS_PORT_SELECT_LVDS,
+ when eDP => PCH_PP_ON_DELAYS_PORT_SELECT_DP_A,
+ when DP2 | HDMI2 => PCH_PP_ON_DELAYS_PORT_SELECT_DP_C,
+ when DP3 | HDMI3 => PCH_PP_ON_DELAYS_PORT_SELECT_DP_D,
+ when others => 0);
else
Port_Select := 0;
end if;