gma hsw+: Treat DDI E and PCH DAC disabling separately
We only use DDI E for analog VGA outputs through the PCH DAC. DDI E
might be configured differently, though, by a previously running dri-
ver, so we have to treat the two entities seperately on the All_Off()
path.
Change-Id: I603ecd29c48af43bc21acaadbedaeae451acbcf3
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/20822
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
diff --git a/common/haswell_shared/hw-gfx-gma-connectors-ddi.adb b/common/haswell_shared/hw-gfx-gma-connectors-ddi.adb
index fa62a98..b6d7284 100644
--- a/common/haswell_shared/hw-gfx-gma-connectors-ddi.adb
+++ b/common/haswell_shared/hw-gfx-gma-connectors-ddi.adb
@@ -732,7 +732,7 @@
begin
pragma Debug (Debug.Put_Line (GNAT.Source_Info.Enclosing_Entity));
- if Port = DIGI_E then
+ if Config.Has_PCH_DAC and then Port = DIGI_E then
PCH.VGA.Off;
PCH.Transcoder.Off (PCH.FDI_A);
-- PCH.VGA.Clock_Off; -- Can't tell what Linux does, if anything.
@@ -743,7 +743,9 @@
if Port = DIGI_E then
SPLL.Off;
- PCH.FDI.Off (PCH.FDI_A, PCH.FDI.Clock_Off);
+ if Config.Has_PCH_DAC then
+ PCH.FDI.Off (PCH.FDI_A, PCH.FDI.Clock_Off);
+ end if;
end if;
end Off;