<p>Nico Huber has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/27067">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gma config: Tag constants depending on generation or CPU<br><br>Tag all derived config values that depend on the generation <genconst><br>and those that depend on the CPU <cpuconst>. <genbool> and <cpubool><br>are shortcuts for `<genconst> Boolean` and `<cpuconst> Boolean`,<br>respectively.<br><br>To ease later parsing, also move all multiline expressions after a<br>line break.<br><br>Change-Id: Iaa50987c51dc62ab2eb8b31e8f223b8a94e8ac12<br>Signed-off-by: Nico Huber <nico.h@gmx.de><br>---<br>M common/Makefile.inc<br>M common/hw-gfx-gma-config.ads.template<br>2 files changed, 101 insertions(+), 95 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/67/27067/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/common/Makefile.inc b/common/Makefile.inc</span><br><span>index 965d6ba..5eeba41 100644</span><br><span>--- a/common/Makefile.inc</span><br><span>+++ b/common/Makefile.inc</span><br><span>@@ -60,6 +60,8 @@</span><br><span>            -e's/<<INTERNAL_PORT>>/$(CONFIG_GFX_GMA_INTERNAL_PORT)/' \</span><br><span>       -e's/<<ANALOG_I2C_PORT>>/$(CONFIG_GFX_GMA_ANALOG_I2C_PORT)/' \</span><br><span>           -e's/<<DEFAULT_MMIO_BASE>>/$(CONFIG_GFX_GMA_DEFAULT_MMIO)/' \</span><br><span style="color: hsl(120, 100%, 40%);">+     -e's/<\(gen\|\(ilk\|hsw\|skl\)\(...\)\?\)const>/constant/' \</span><br><span style="color: hsl(120, 100%, 40%);">+            -e's/<\(gen\|\(ilk\|hsw\|skl\)\(...\)\?\)bool>/constant Boolean/' \</span><br><span>            $< >$@</span><br><span> gfxinit-gen-y += $(hw-gfx-gma-config-ads)</span><br><span> </span><br><span>diff --git a/common/hw-gfx-gma-config.ads.template b/common/hw-gfx-gma-config.ads.template</span><br><span>index 50e7e7c..03f343b 100644</span><br><span>--- a/common/hw-gfx-gma-config.ads.template</span><br><span>+++ b/common/hw-gfx-gma-config.ads.template</span><br><span>@@ -81,150 +81,153 @@</span><br><span>    Haswell_Plus      : constant Boolean := Gen >= Haswell;</span><br><span>    Broxton_Plus      : constant Boolean := Gen >= Broxton;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   CPU_Ironlake      : constant Boolean := Gen_Ironlake and then CPU = Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   CPU_Sandybridge   : constant Boolean := Gen_Ironlake and then CPU = Sandybridge;</span><br><span style="color: hsl(0, 100%, 40%);">-   CPU_Ivybridge     : constant Boolean := Gen_Ironlake and then CPU = Ivybridge;</span><br><span style="color: hsl(0, 100%, 40%);">-   CPU_Haswell       : constant Boolean := Gen_Haswell and then CPU = Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   CPU_Broadwell     : constant Boolean := Gen_Haswell and then CPU = Broadwell;</span><br><span style="color: hsl(120, 100%, 40%);">+   CPU_Ironlake      : <ilkbool> := Gen_Ironlake and then CPU = Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   CPU_Sandybridge   : <ilkbool> := Gen_Ironlake and then CPU = Sandybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   CPU_Ivybridge     : <ilkbool> := Gen_Ironlake and then CPU = Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   CPU_Haswell       : <hswbool> := Gen_Haswell and then CPU = Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   CPU_Broadwell     : <hswbool> := Gen_Haswell and then CPU = Broadwell;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Sandybridge_Plus  : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Sandybridge_Plus  : <ilkbool> :=</span><br><span>      ((Gen_Ironlake and then CPU >= Sandybridge) or Haswell_Plus);</span><br><span style="color: hsl(0, 100%, 40%);">-   Ivybridge_Plus    : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Ivybridge_Plus    : <ilkbool> :=</span><br><span>      ((Gen_Ironlake and then CPU >= Ivybridge) or Haswell_Plus);</span><br><span style="color: hsl(0, 100%, 40%);">-   Broadwell_Plus    : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Broadwell_Plus    : <hswbool> :=</span><br><span>      ((Gen_Haswell and then CPU >= Broadwell) or Broxton_Plus);</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Have_HDMI_Buf_Override  : constant Boolean :=</span><br><span style="color: hsl(0, 100%, 40%);">-                                             DDI_HDMI_Buffer_Translation /= -1;</span><br><span style="color: hsl(120, 100%, 40%);">+   Have_HDMI_Buf_Override  : constant Boolean := DDI_HDMI_Buffer_Translation /= -1;</span><br><span>    Default_MMIO_Base_Set   : constant Boolean := Default_MMIO_Base /= 0;</span><br><span> </span><br><span>    Has_Internal_Display    : constant Boolean := Internal_Display /= None;</span><br><span>    Internal_Is_LVDS        : constant Boolean := Internal_Display = LVDS;</span><br><span>    Internal_Is_EDP         : constant Boolean := Internal_Display = DP;</span><br><span>    Have_DVI_I              : constant Boolean := Analog_I2C_Port /= PCH_DAC;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Presence_Straps     : constant Boolean := not Gen_Broxton;</span><br><span style="color: hsl(0, 100%, 40%);">-   Is_ULT                  : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Presence_Straps           : <genbool> := Gen /= Broxton;</span><br><span style="color: hsl(120, 100%, 40%);">+   Is_ULT                        : <hswsklbool> :=</span><br><span>      ((Gen_Haswell or Gen_Skylake) and then CPU_Var = ULT);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- CPU pipe: --------</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Tertiary_Pipe       : constant Boolean := Ivybridge_Plus;</span><br><span style="color: hsl(0, 100%, 40%);">-   Disable_Trickle_Feed    : constant Boolean := Gen /= Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Pipe_Enabled_Workaround : constant Boolean := CPU_Broadwell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_EDP_Transcoder      : constant Boolean := Gen >= Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Use_PDW_For_EDP_Scaling : constant Boolean := CPU_Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Pipe_DDI_Func       : constant Boolean := Gen >= Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Trans_Clk_Sel       : constant Boolean := Gen >= Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Pipe_MSA_Misc       : constant Boolean := Gen >= Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Pipeconf_Misc       : constant Boolean := Broadwell_Plus;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Pipeconf_BPC        : constant Boolean := not CPU_Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Plane_Control       : constant Boolean := Gen >= Broxton;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_DSP_Linoff          : constant Boolean := Gen <= Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PF_Pipe_Select      : constant Boolean := CPU_Ivybridge or CPU_Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Cursor_FBC_Control  : constant Boolean := Ivybridge_Plus;</span><br><span style="color: hsl(0, 100%, 40%);">-   VGA_Plane_Workaround    : constant Boolean := CPU_Ivybridge;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_GMCH_DP_Transcoder  : constant Boolean := Gen = G45;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_GMCH_VGACNTRL       : constant Boolean := Gen = G45;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_GMCH_PFIT_CONTROL   : constant Boolean := Gen = G45;</span><br><span style="color: hsl(120, 100%, 40%);">+   ---------- CPU pipe: ---------</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Tertiary_Pipe             : <ilkbool> := Ivybridge_Plus;</span><br><span style="color: hsl(120, 100%, 40%);">+   Disable_Trickle_Feed          : <genbool> := Gen /= Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Pipe_Enabled_Workaround       : <hswbool> := CPU_Broadwell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_EDP_Transcoder            : <genbool> := Gen >= Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Use_PDW_For_EDP_Scaling       : <hswbool> := CPU_Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Pipe_DDI_Func             : <genbool> := Gen >= Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Trans_Clk_Sel             : <genbool> := Gen >= Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Pipe_MSA_Misc             : <genbool> := Gen >= Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Pipeconf_Misc             : <hswbool> := Broadwell_Plus;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Pipeconf_BPC              : <hswbool> := not CPU_Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Plane_Control             : <genbool> := Gen >= Broxton;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DSP_Linoff                : <genbool> := Gen <= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PF_Pipe_Select            : <ilkhswbool> := CPU_Ivybridge or CPU_Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Cursor_FBC_Control        : <ilkbool> := Ivybridge_Plus;</span><br><span style="color: hsl(120, 100%, 40%);">+   VGA_Plane_Workaround          : <ilkbool> := CPU_Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_GMCH_DP_Transcoder        : <genbool> := Gen = G45;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_GMCH_VGACNTRL             : <genbool> := Gen = G45;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_GMCH_PFIT_CONTROL         : <genbool> := Gen = G45;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- Panel power: -----</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PP_Write_Protection : constant Boolean := Gen <= Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PP_Port_Select      : constant Boolean := Gen <= Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Use_PP_VDD_Override     : constant Boolean := Gen <= Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PCH_Panel_Power     : constant Boolean := Gen >= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   --------- Panel power: -------</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PP_Write_Protection       : <genbool> := Gen <= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PP_Port_Select            : <genbool> := Gen <= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Use_PP_VDD_Override           : <genbool> := Gen <= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PCH_Panel_Power           : <genbool> := Gen >= Ironlake;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- PCH/FDI: ---------</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PCH                 : constant Boolean := Gen /= Broxton and Gen /= G45;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PCH_DAC             : constant Boolean :=</span><br><span style="color: hsl(0, 100%, 40%);">-     (Gen_Ironlake or (Gen_Haswell and then not Is_ULT));</span><br><span style="color: hsl(120, 100%, 40%);">+   ----------- PCH/FDI: ---------</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PCH                       : <genbool> := Gen /= Broxton and Gen /= G45;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PCH_DAC                   : <hswbool> :=</span><br><span style="color: hsl(120, 100%, 40%);">+     (Gen_Ironlake or else (Gen_Haswell and then not Is_ULT));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PCH_Aux_Channels    : constant Boolean := Gen in Ironlake .. Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PCH_Aux_Channels          : <genbool> := Gen in Ironlake .. Haswell;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   VGA_Has_Sync_Disable    : constant Boolean := Gen <= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   VGA_Has_Sync_Disable          : <genbool> := Gen <= Ironlake;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Trans_Timing_Ovrrde : constant Boolean := Sandybridge_Plus;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Trans_Timing_Ovrrde       : <ilkbool> := Sandybridge_Plus;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_DPLL_SEL            : constant Boolean := Gen = Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_FDI_BPC             : constant Boolean := Gen = Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_FDI_Composite_Sel   : constant Boolean := CPU_Ivybridge;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Original_ILK_Trans  : constant Boolean := CPU_Ironlake;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Trans_DP_Ctl        : constant Boolean := CPU_Sandybridge or CPU_Ivybridge;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Ivy_Bridge_FDI      : constant Boolean := CPU_Ivybridge;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_FDI_C               : constant Boolean := CPU_Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DPLL_SEL                  : <genbool> := Gen = Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_FDI_BPC                   : <genbool> := Gen = Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_FDI_Composite_Sel         : <ilkbool> := CPU_Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Original_ILK_Trans        : <ilkbool> := CPU_Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Trans_DP_Ctl              : <ilkbool> := CPU_Sandybridge or CPU_Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Ivy_Bridge_FDI            : <ilkbool> := CPU_Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_FDI_C                     : <ilkbool> := CPU_Ivybridge;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_FDI_RX_Power_Down   : constant Boolean := Gen = Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_FDI_RX_Power_Down         : <genbool> := Gen = Haswell;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_GMCH_RawClk         : constant Boolean := Gen = G45;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_GMCH_RawClk               : <genbool> := Gen = G45;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- DDI: -------------</span><br><span style="color: hsl(0, 100%, 40%);">-   End_EDP_Training_Late   : constant Boolean := Gen = Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Per_DDI_Clock_Sel   : constant Boolean := Gen = Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_HOTPLUG_CTL         : constant Boolean := Gen = Haswell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_SHOTPLUG_CTL_A      : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+   ----------- DDI: -------------</span><br><span style="color: hsl(120, 100%, 40%);">+   End_EDP_Training_Late         : <genbool> := Gen = Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Per_DDI_Clock_Sel         : <genbool> := Gen = Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_HOTPLUG_CTL               : <genbool> := Gen = Haswell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_SHOTPLUG_CTL_A            : <hswbool> :=</span><br><span>      ((Gen_Haswell and then Is_ULT) or Gen_Skylake);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_DDI_PHYs            : constant Boolean := Gen = Broxton;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DDI_PHYs                  : <genbool> := Gen = Broxton;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_DDI_D               : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DDI_D                     : <hswsklbool> :=</span><br><span>      ((Gen_Haswell or Gen_Skylake) and then not Is_ULT);</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_DDI_E               : constant Boolean := -- might be disabled by x4 eDP</span><br><span style="color: hsl(0, 100%, 40%);">-                                                 Has_DDI_D;</span><br><span style="color: hsl(120, 100%, 40%);">+   -- might be disabled by x4 eDP:</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DDI_E                     : <hswsklbool> := Has_DDI_D;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_DDI_Buffer_Trans    : constant Boolean := Gen >= Haswell and</span><br><span style="color: hsl(0, 100%, 40%);">-                                                 Gen /= Broxton;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Broadwell_DDI_Bufs  : constant Boolean := CPU_Broadwell;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Low_Voltage_Swing   : constant Boolean := Gen >= Broxton;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Iboost_Config       : constant Boolean := Gen >= Skylake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DDI_Buffer_Trans          : <genbool> := Gen >= Haswell and</span><br><span style="color: hsl(120, 100%, 40%);">+                                                not Has_DDI_PHYs;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_DDI_HDMI_Buffer_Override  : <genbool> :=</span><br><span style="color: hsl(120, 100%, 40%);">+     (DDI_HDMI_Buffer_Translation /= -1);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Need_DP_Aux_Mutex       : constant Boolean := False; -- Skylake & (PSR | GTC)</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Broadwell_DDI_Bufs        : <hswbool> := CPU_Broadwell;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Low_Voltage_Swing         : <genbool> := Gen >= Broxton;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Iboost_Config             : <genbool> := Gen >= Skylake;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- GMBUS: -----------</span><br><span style="color: hsl(0, 100%, 40%);">-   Ungate_GMBUS_Unit_Level : constant Boolean := Gen >= Skylake;</span><br><span style="color: hsl(0, 100%, 40%);">-   GMBUS_Alternative_Pins  : constant Boolean := Gen = Broxton;</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_PCH_GMBUS           : constant Boolean := Gen >= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+   Need_DP_Aux_Mutex             : <genbool> := False; -- Skylake & (PSR | GTC)</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- Power: -----------</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_IPS                 : constant Boolean :=</span><br><span style="color: hsl(120, 100%, 40%);">+   ----------- GMBUS: -----------</span><br><span style="color: hsl(120, 100%, 40%);">+   Ungate_GMBUS_Unit_Level       : <genbool> := Gen >= Skylake;</span><br><span style="color: hsl(120, 100%, 40%);">+   GMBUS_Alternative_Pins        : <genbool> := Gen = Broxton;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_PCH_GMBUS                 : <genbool> := Gen >= Ironlake;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+   ----------- Power: -----------</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_IPS                       : <hswbool> :=</span><br><span>      (Gen_Haswell and then</span><br><span style="color: hsl(0, 100%, 40%);">-      ((CPU_Haswell and Is_ULT) or CPU_Broadwell));</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_IPS_CTL_Mailbox     : constant Boolean := CPU_Broadwell;</span><br><span style="color: hsl(120, 100%, 40%);">+      ((CPU = Haswell and Is_ULT) or CPU = Broadwell));</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_IPS_CTL_Mailbox           : <hswbool> := CPU_Broadwell;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Has_Per_Pipe_SRD        : constant Boolean := Broadwell_Plus;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_Per_Pipe_SRD              : <hswbool> := Broadwell_Plus;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   ----- GTT: -------------</span><br><span style="color: hsl(0, 100%, 40%);">-   Has_64bit_GTT           : constant Boolean := Broadwell_Plus;</span><br><span style="color: hsl(120, 100%, 40%);">+   ----------- GTT: -------------</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_64bit_GTT                 : <hswbool> := Broadwell_Plus;</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Max_Pipe : constant Pipe_Index :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Max_Pipe : <ilkconst> Pipe_Index :=</span><br><span>      (if Has_Tertiary_Pipe then Tertiary else Secondary);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Last_Digital_Port : constant Digital_Port :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Last_Digital_Port : <hswsklconst> Digital_Port :=</span><br><span>      (if Has_DDI_E then DIGI_E else DIGI_C);</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span>    type FDI_Per_Port is array (Port_Type) of Boolean;</span><br><span style="color: hsl(0, 100%, 40%);">-   Is_FDI_Port : constant FDI_Per_Port :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Is_FDI_Port : <hswconst> FDI_Per_Port :=</span><br><span>      (Disabled       => False,</span><br><span>       Internal       => Gen_Ironlake and Internal_Is_LVDS,</span><br><span>       DP1 .. HDMI3   => Gen_Ironlake,</span><br><span>       Analog         => Has_PCH_DAC);</span><br><span> </span><br><span>    type FDI_Lanes_Per_Port is array (GPU_Port) of DP_Lane_Count;</span><br><span style="color: hsl(0, 100%, 40%);">-   FDI_Lane_Count : constant FDI_Lanes_Per_Port :=</span><br><span style="color: hsl(120, 100%, 40%);">+   FDI_Lane_Count : <genconst> FDI_Lanes_Per_Port :=</span><br><span>      (DIGI_D => DP_Lane_Count_2,</span><br><span>       others => (if Gen_Ironlake then DP_Lane_Count_4 else DP_Lane_Count_2));</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   FDI_Training : constant FDI_Training_Type :=</span><br><span style="color: hsl(120, 100%, 40%);">+   FDI_Training : <ilkconst> FDI_Training_Type :=</span><br><span>      (if    CPU_Ironlake      then Simple_Training</span><br><span>       elsif CPU_Sandybridge   then Full_Training</span><br><span>                               else Auto_Training);</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Default_DDI_HDMI_Buffer_Translation : constant DDI_HDMI_Buf_Trans_Range :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Default_DDI_HDMI_Buffer_Translation : <hswconst> DDI_HDMI_Buf_Trans_Range :=</span><br><span>      (if    CPU_Haswell       then 6</span><br><span>       elsif CPU_Broadwell     then 7</span><br><span>       elsif Broxton_Plus      then 8</span><br><span>@@ -232,7 +235,7 @@</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Default_CDClk_Freq : constant Frequency_Type :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Default_CDClk_Freq : <ilkconst> Frequency_Type :=</span><br><span>      (if    Gen_G45                          then 320_000_000  -- unused</span><br><span>       elsif CPU_Ironlake or Gen_Haswell      then 450_000_000</span><br><span>       elsif CPU_Sandybridge or CPU_Ivybridge then 400_000_000</span><br><span>@@ -240,7 +243,7 @@</span><br><span>       elsif Gen_Skylake                      then 337_500_000</span><br><span>                                              else Frequency_Type'First);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Default_RawClk_Freq : constant Frequency_Type :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Default_RawClk_Freq : <hswconst> Frequency_Type :=</span><br><span>      (if    Gen_G45        then 100_000_000  -- unused, depends on FSB</span><br><span>       elsif Gen_Ironlake   then 125_000_000</span><br><span>       elsif Gen_Haswell    then (if Is_ULT then 24_000_000 else 125_000_000)</span><br><span>@@ -255,7 +258,7 @@</span><br><span> </span><br><span>    type Width_Per_Pipe is array (Pipe_Index) of Width_Type;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Maximum_Scalable_Width : constant Width_Per_Pipe :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Maximum_Scalable_Width : <hswconst> Width_Per_Pipe :=</span><br><span>      (if Gen_G45 then   -- TODO: Is this true?</span><br><span>         (Primary     => 4096,</span><br><span>          Secondary   => 2048,</span><br><span>@@ -270,26 +273,27 @@</span><br><span>          Tertiary    => 4096));</span><br><span> </span><br><span>    -- Maximum X position of hardware cursors</span><br><span style="color: hsl(0, 100%, 40%);">-   Maximum_Cursor_X : constant := (case Gen is</span><br><span style="color: hsl(0, 100%, 40%);">-                                    when G45 .. Ironlake       => 4095,</span><br><span style="color: hsl(0, 100%, 40%);">-                                    when Haswell .. Skylake    => 8191);</span><br><span style="color: hsl(120, 100%, 40%);">+   Maximum_Cursor_X : <genconst> :=</span><br><span style="color: hsl(120, 100%, 40%);">+     (case Gen is</span><br><span style="color: hsl(120, 100%, 40%);">+         when G45 .. Ironlake       => 4095,</span><br><span style="color: hsl(120, 100%, 40%);">+         when Haswell .. Skylake    => 8191);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Maximum_Cursor_Y : constant := 4095;</span><br><span style="color: hsl(120, 100%, 40%);">+   Maximum_Cursor_Y : <genconst> := 4095;</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span>    -- FIXME: Unknown for Broxton, Linux' i915 contains a fixme too :-D</span><br><span style="color: hsl(0, 100%, 40%);">-   HDMI_Max_Clock_24bpp : constant Frequency_Type :=</span><br><span style="color: hsl(120, 100%, 40%);">+   HDMI_Max_Clock_24bpp : <genconst> Frequency_Type :=</span><br><span>      (if Haswell_Plus then 300_000_000 else 225_000_000);</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   GTT_PTE_Size : constant := (if Has_64bit_GTT then 8 else 4);</span><br><span style="color: hsl(120, 100%, 40%);">+   GTT_PTE_Size : <hswconst> := (if Has_64bit_GTT then 8 else 4);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Fence_Base : constant :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Fence_Base : <ilkconst> :=</span><br><span>      (if not Sandybridge_Plus then 16#0000_3000# else 16#0010_0000#);</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-   Fence_Count : constant :=</span><br><span style="color: hsl(120, 100%, 40%);">+   Fence_Count : <ilkconst> :=</span><br><span>      (if not Ivybridge_Plus then 16 else 32);</span><br><span> </span><br><span>    ----------------------------------------------------------------------------</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/27067">change 27067</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/27067"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libgfxinit </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Iaa50987c51dc62ab2eb8b31e8f223b8a94e8ac12 </div>
<div style="display:none"> Gerrit-Change-Number: 27067 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Nico Huber <nico.h@gmx.de> </div>