gma: Make cleaning the hardware state optional

In Initialize(), the state of the graphics hardware is reset to a
known state (i.e. everything is turned off first). That's unnecessary
in the coreboot case where we just came out of reset. Thus, make the
state cleaning optional with a `Clean_State` parameter that defaults
to `False`.

Change-Id: Ifee6ec9e9876fca8a715684718014917a3e35879
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/17758
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Nico Huber
2016-11-21 18:57:03 +01:00
parent 6a4dfc89a7
commit 793a8d49af
3 changed files with 14 additions and 9 deletions

2
TODO
View File

@@ -3,3 +3,5 @@ medium DP honor adjust requests also if training succeeded?
unknown DP honor SINK_STATUS after training
low LVDS 8bit colors, data format???
medium SKL check if DPLL_CTRL2 really defaults to `Clock Off` => 0

View File

@@ -331,6 +331,7 @@ is
procedure Initialize
(MMIO_Base : in Word64 := 0;
Write_Delay : in Word64 := 0;
Clean_State : in Boolean := False;
Success : out Boolean)
with
Refined_Global =>
@@ -406,16 +407,17 @@ is
Panel.Setup_PP_Sequencer;
Port_Detect.Initialize;
Power_And_Clocks.Pre_All_Off;
Legacy_VGA_Off; -- According to PRMs, VGA plane is the only
-- thing that's enabled by default after reset.
Legacy_VGA_Off;
Connectors.Pre_All_Off;
Display_Controller.All_Off;
Connectors.Post_All_Off;
PLLs.All_Off;
Power_And_Clocks.Post_All_Off;
if Clean_State then
Power_And_Clocks.Pre_All_Off;
Connectors.Pre_All_Off;
Display_Controller.All_Off;
Connectors.Post_All_Off;
PLLs.All_Off;
Power_And_Clocks.Post_All_Off;
end if;
-------------------- Now restart from a clean state ---------------------
Power_And_Clocks.Initialize;

View File

@@ -63,6 +63,7 @@ is
procedure Initialize
(MMIO_Base : in Word64 := 0;
Write_Delay : in Word64 := 0;
Clean_State : in Boolean := False;
Success : out Boolean)
with
Global =>