<p>Arthur Heymans has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/25404">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Add flag to allow use of VGACNTRL on GMCH<br><br>Change-Id: If2f12f14b4f367cdfc8cc2c20402f2350e3bbba8<br>Signed-off-by: Arthur Heymans <arthur@aheymans.xyz><br>---<br>M common/hw-gfx-gma-config.ads.template<br>M common/hw-gfx-gma-pipe_setup.adb<br>M common/hw-gfx-gma-registers.ads<br>3 files changed, 12 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/04/25404/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/common/hw-gfx-gma-config.ads.template b/common/hw-gfx-gma-config.ads.template</span><br><span>index aa1c3cd..e6326de 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>@@ -56,6 +56,7 @@</span><br><span>    Has_DSP_Linoff          : constant Boolean := CPU <= Ivybridge;</span><br><span>    Has_PF_Pipe_Select      : constant Boolean := CPU in Ivybridge .. Haswell;</span><br><span>    VGA_Plane_Workaround    : constant Boolean := CPU = Ivybridge;</span><br><span style="color: hsl(120, 100%, 40%);">+   Has_GMCH_VGACNTRL       : constant Boolean := false;</span><br><span> </span><br><span>    ----- Panel power: -----</span><br><span>    Has_PP_Write_Protection : constant Boolean := CPU <= Ivybridge;</span><br><span>diff --git a/common/hw-gfx-gma-pipe_setup.adb b/common/hw-gfx-gma-pipe_setup.adb</span><br><span>index e1ff835..8b02798 100644</span><br><span>--- a/common/hw-gfx-gma-pipe_setup.adb</span><br><span>+++ b/common/hw-gfx-gma-pipe_setup.adb</span><br><span>@@ -89,6 +89,11 @@</span><br><span>    PS_CTRL_SCALER_MODE_7X5_EXTENDED    : constant := 1 * 2 ** 28;</span><br><span>    PS_CTRL_FILTER_SELECT_MEDIUM_2      : constant := 1 * 2 ** 23;</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+   VGACNTRL_REG : constant Registers.Registers_Index :=</span><br><span style="color: hsl(120, 100%, 40%);">+     (if Config.Has_GMCH_VGACNTRL then</span><br><span style="color: hsl(120, 100%, 40%);">+       Registers.GMCH_VGACNTRL</span><br><span style="color: hsl(120, 100%, 40%);">+      else Registers.CPU_VGACNTRL);</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span>    ---------------------------------------------------------------------------</span><br><span> </span><br><span>    function PLANE_WM_LINES (Lines : Natural) return Word32 is</span><br><span>@@ -260,7 +265,7 @@</span><br><span>          end if;</span><br><span> </span><br><span>          Registers.Unset_And_Set_Mask</span><br><span style="color: hsl(0, 100%, 40%);">-           (Register    => Registers.VGACNTRL,</span><br><span style="color: hsl(120, 100%, 40%);">+           (Register    => VGACNTRL_REG,</span><br><span>             Mask_Unset  => VGA_CONTROL_VGA_DISPLAY_DISABLE or</span><br><span>                            VGA_CONTROL_BLINK_DUTY_CYCLE_MASK or</span><br><span>                            VGA_CONTROL_VSYNC_BLINK_RATE_MASK,</span><br><span>@@ -512,7 +517,7 @@</span><br><span>       Port_IO.InB  (Reg8, VGA_SR_DATA);</span><br><span>       Port_IO.OutB (VGA_SR_DATA, Reg8 or VGA_SR01_SCREEN_OFF);</span><br><span>       Time.U_Delay (100); -- PRM says 100us, Linux does 300</span><br><span style="color: hsl(0, 100%, 40%);">-      Registers.Set_Mask (Registers.VGACNTRL, VGA_CONTROL_VGA_DISPLAY_DISABLE);</span><br><span style="color: hsl(120, 100%, 40%);">+      Registers.Set_Mask (VGACNTRL_REG, VGA_CONTROL_VGA_DISPLAY_DISABLE);</span><br><span>    end Legacy_VGA_Off;</span><br><span> </span><br><span>    procedure All_Off</span><br><span>diff --git a/common/hw-gfx-gma-registers.ads b/common/hw-gfx-gma-registers.ads</span><br><span>index 87c8069..1515fab 100644</span><br><span>--- a/common/hw-gfx-gma-registers.ads</span><br><span>+++ b/common/hw-gfx-gma-registers.ads</span><br><span>@@ -64,7 +64,7 @@</span><br><span>       BCS_PP_DCLV_HIGH,</span><br><span>       BCS_PP_DCLV_LOW,</span><br><span>       GAB_CTL_REG,</span><br><span style="color: hsl(0, 100%, 40%);">-      VGACNTRL,</span><br><span style="color: hsl(120, 100%, 40%);">+      CPU_VGACNTRL,</span><br><span>       FUSE_STATUS,</span><br><span>       ILK_DISPLAY_CHICKEN2,</span><br><span>       DSPCLK_GATE_D,</span><br><span>@@ -468,6 +468,7 @@</span><br><span>       PLANE_WM_1_B_7,</span><br><span>       PLANE_BUF_CFG_1_B,</span><br><span>       SPBCNTR,</span><br><span style="color: hsl(120, 100%, 40%);">+      GMCH_VGACNTRL,</span><br><span>       PIPE_SCANLINE_C,</span><br><span>       PIPECCONF,</span><br><span>       PIPECMISC,</span><br><span>@@ -1284,7 +1285,8 @@</span><br><span>       PCH_HDMID             => 16#0e_1160# / Register_Width,</span><br><span> </span><br><span>       -- Intel Registers</span><br><span style="color: hsl(0, 100%, 40%);">-      VGACNTRL              => 16#04_1000# / Register_Width,</span><br><span style="color: hsl(120, 100%, 40%);">+      CPU_VGACNTRL          => 16#04_1000# / Register_Width,</span><br><span style="color: hsl(120, 100%, 40%);">+      GMCH_VGACNTRL         => 16#07_1400# / Register_Width,</span><br><span>       FUSE_STATUS           => 16#04_2000# / Register_Width,</span><br><span>       FBA_CFB_BASE          => 16#04_3200# / Register_Width,</span><br><span>       IPS_CTL               => 16#04_3408# / Register_Width,</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/25404">change 25404</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/25404"/><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: If2f12f14b4f367cdfc8cc2c20402f2350e3bbba8 </div>
<div style="display:none"> Gerrit-Change-Number: 25404 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Arthur Heymans <arthur@aheymans.xyz> </div>