Arthur Heymans has uploaded this change for review. ( https://review.coreboot.org/25409
Change subject: Add flag to set up GMCH Panel Fitter ......................................................................
Add flag to set up GMCH Panel Fitter
Change-Id: I4949fbb5356bd244d3d6f3eec71847b6e683079a Signed-off-by: Arthur Heymans arthur@aheymans.xyz --- M common/hw-gfx-gma-config.ads.template M common/hw-gfx-gma-pipe_setup.adb M common/hw-gfx-gma-registers.ads 3 files changed, 15 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/09/25409/1
diff --git a/common/hw-gfx-gma-config.ads.template b/common/hw-gfx-gma-config.ads.template index 75e1481..ceac67b 100644 --- a/common/hw-gfx-gma-config.ads.template +++ b/common/hw-gfx-gma-config.ads.template @@ -58,6 +58,7 @@ VGA_Plane_Workaround : constant Boolean := CPU = Ivybridge; Has_GMCH_VGACNTRL : constant Boolean := false; Has_GMCH_DP_Transcoder : constant Boolean := false; + Has_GMCH_PFIT_CONTROL : constant Boolean := false;
----- Panel power: ----- Has_PP_Write_Protection : constant Boolean := CPU <= Ivybridge; diff --git a/common/hw-gfx-gma-pipe_setup.adb b/common/hw-gfx-gma-pipe_setup.adb index 8b02798..5328582 100644 --- a/common/hw-gfx-gma-pipe_setup.adb +++ b/common/hw-gfx-gma-pipe_setup.adb @@ -419,6 +419,16 @@ Value => Shift_Left (Word32 (Width), 16) or Word32 (Height)); end Setup_Ironlake_Panel_Fitter;
+ -- Simply set the pannel fitter to pipe A on which + -- the legacy VGA cycles are also displayed + procedure Setup_Gmch_Panel_Fitter + is + begin + Registers.Write + (Register => Registers.GMCH_PFIT_CONTROL, + Value => PF_CTRL_ENABLE); + end Setup_Gmch_Panel_Fitter; + procedure Setup_Scaling (Controller : in Controller_Type; Mode : in HW.GFX.Mode_Type; @@ -434,6 +444,8 @@ then if Config.Has_Plane_Control then Setup_Skylake_Pipe_Scaler (Controller, Mode, Framebuffer); + elsif Config.Has_GMCH_PFIT_CONTROL then + Setup_Gmch_Panel_Fitter; else Setup_Ironlake_Panel_Fitter (Controller, Mode, Framebuffer); end if; diff --git a/common/hw-gfx-gma-registers.ads b/common/hw-gfx-gma-registers.ads index 468d79d..480ee32 100644 --- a/common/hw-gfx-gma-registers.ads +++ b/common/hw-gfx-gma-registers.ads @@ -160,6 +160,7 @@ GMCH_PP_ON_DELAYS, GMCH_PP_OFF_DELAYS, GMCH_PP_DIVISOR, + GMCH_PFIT_CONTROL, PIPEB_DDI_FUNC_CTL, PIPEB_MSA_MISC, SRD_CTL_B, @@ -1293,6 +1294,7 @@ GMCH_PP_ON_DELAYS => 16#06_1208# / Register_Width, GMCH_PP_OFF_DELAYS => 16#06_120c# / Register_Width, GMCH_PP_DIVISOR => 16#06_1210# / Register_Width, + GMCH_PFIT_CONTROL => 16#06_1230# / Register_Width, PCH_PP_STATUS => 16#0c_7200# / Register_Width, PCH_PP_CONTROL => 16#0c_7204# / Register_Width, PCH_PP_ON_DELAYS => 16#0c_7208# / Register_Width,