gma config: Remove ULX from variants for Tiger Lake
With our current detection logic, a device ID can only be either ULT
or ULX but not both. As we have no such distinction for the current
Tiger Lake and Alder Lake IDs, constrain the generation to Normal ..
ULT.
Change-Id: I4a9c1bef8425191f042eed8d6fb7e4b8309fd4dc
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/libgfxinit/+/502
Reviewed-by: Thomas Heijligen <src@posteo.de>
Tested-by: Ada SPARK <gnatbot@sourcearcade.org>
diff --git a/common/hw-gfx-gma-config.ads.template b/common/hw-gfx-gma-config.ads.template
index b784038..43efe2f 100644
--- a/common/hw-gfx-gma-config.ads.template
+++ b/common/hw-gfx-gma-config.ads.template
@@ -38,8 +38,9 @@
when Tigerlake => Alderlake);
CPU_Var_Last : constant CPU_Variant :=
(case Gen is
- when Haswell | Skylake | Tigerlake => ULX,
- when others => Normal);
+ when Haswell | Skylake => ULX,
+ when Tigerlake => ULT,
+ when others => Normal);
subtype Gen_CPU_Type is CPU_Type range CPU_First .. CPU_Last;
subtype Gen_CPU_Variant is CPU_Variant range Normal .. CPU_Var_Last;
@@ -205,8 +206,8 @@
Has_Presence_Straps : <genbool> := not Gen_Broxton and not Gen_I945;
Is_ULT : <hswskltglbool> :=
((Gen_Haswell or Gen_Skylake or Gen_Tigerlake) and then CPU_Var = ULT);
- Is_ULX : <hswskltglbool> :=
- ((Gen_Haswell or Gen_Skylake or Gen_Tigerlake) and then CPU_Var = ULX);
+ Is_ULX : <hswsklbool> :=
+ ((Gen_Haswell or Gen_Skylake) and then CPU_Var = ULX);
Is_LP : <hswskltglbool> := Is_ULT or Is_ULX;
---------- CPU pipe: ---------
@@ -666,15 +667,17 @@
Is_Kaby_Lake_Y_AML (Device_Id) or
Is_Coffee_Lake_Y_AML (Device_Id)),
when Tigerlake => (case CPU_Var is
- when Normal =>
- Is_Tiger_Lake_H (Device_Id),
- when ULT | ULX =>
- Is_Tiger_Lake_U (Device_Id)),
+ when Normal =>
+ Is_Tiger_Lake_H (Device_Id),
+ when ULT =>
+ Is_Tiger_Lake_U (Device_Id),
+ when ULX =>
+ False),
when Alderlake => (case CPU_Var is
- when Normal =>
- False,
- when ULT | ULX =>
- Is_Alder_Lake (Device_Id)));
+ when ULT =>
+ Is_Alder_Lake (Device_Id),
+ when others =>
+ False));
function Compatible_GPU (Device_Id : Word16) return Boolean is
(Is_GPU (Device_Id, CPU, CPU_Var));