[coreboot-gerrit] Change in libgfxinit[master]: gma hsw+: Don't use DDI E if DDI A uses all lanes
Nico Huber (Code Review)
gerrit at coreboot.org
Sun Jul 30 01:41:52 CEST 2017
Nico Huber has uploaded this change for review. ( https://review.coreboot.org/20821
Change subject: gma hsw+: Don't use DDI E if DDI A uses all lanes
......................................................................
gma hsw+: Don't use DDI E if DDI A uses all lanes
DDI E shares its two lanes with DDI A. If DDI A is configured to use
all four lanes, DDI E is disabled. As DDI E is the only DDI that can
be configured in FDI mode to feed the PCH DAC, treat `Analog` as in-
valid in this configuration.
Change-Id: I94e9537c9f30d0cbf757b816f38d44e1b43805b3
Signed-off-by: Nico Huber <nico.h at gmx.de>
---
M common/haswell_shared/hw-gfx-gma-port_detect.adb
M common/hw-gfx-gma-config.ads.template
2 files changed, 11 insertions(+), 2 deletions(-)
git pull ssh://review.coreboot.org:29418/libgfxinit refs/changes/21/20821/1
diff --git a/common/haswell_shared/hw-gfx-gma-port_detect.adb b/common/haswell_shared/hw-gfx-gma-port_detect.adb
index d8a1d07..1302cf0 100644
--- a/common/haswell_shared/hw-gfx-gma-port_detect.adb
+++ b/common/haswell_shared/hw-gfx-gma-port_detect.adb
@@ -19,6 +19,8 @@
package body HW.GFX.GMA.Port_Detect
is
+ DDI_BUF_CTL_A_LANE_CAPABILITY_X4 : constant := 1 * 2 ** 4;
+
SFUSE_STRAP_CRT_DAC_CAP_DISABLE : constant := 1 * 2 ** 6;
HOTPLUG_CTL_DDI_A_HPD_INPUT_ENABLE : constant := 1 * 2 ** 4;
@@ -55,6 +57,7 @@
procedure Initialize
is
+ DDI_A_X4,
DAC_Disabled,
Internal_Detected,
DDI_Detected : Boolean;
@@ -71,13 +74,17 @@
DIGI_C => DP2,
DIGI_D => DP3);
begin
- if Config.Has_PCH_DAC then
+ if Config.Has_DDI_E and Config.Has_PCH_DAC then
-- PCH_DAC (_A)
+ Registers.Is_Set_Mask
+ (Register => Registers.DDI_BUF_CTL_A,
+ Mask => DDI_BUF_CTL_A_LANE_CAPABILITY_X4,
+ Result => DDI_A_X4);
Registers.Is_Set_Mask
(Register => Registers.SFUSE_STRAP,
Mask => SFUSE_STRAP_CRT_DAC_CAP_DISABLE,
Result => DAC_Disabled);
- Config.Valid_Port (Analog) := not DAC_Disabled;
+ Config.Valid_Port (Analog) := not (DDI_A_X4 or DAC_Disabled);
end if;
if Config.Internal_Is_EDP then
diff --git a/common/hw-gfx-gma-config.ads.template b/common/hw-gfx-gma-config.ads.template
index aba00bb..55696c7 100644
--- a/common/hw-gfx-gma-config.ads.template
+++ b/common/hw-gfx-gma-config.ads.template
@@ -91,6 +91,8 @@
Has_DDI_D : constant Boolean := CPU >= Haswell and
CPU_Var = Normal and
not Has_DDI_PHYs;
+ Has_DDI_E : constant Boolean := -- might be disabled by x4 eDP
+ Has_DDI_D;
Has_Low_Voltage_Swing : constant Boolean := CPU >= Broxton;
--
To view, visit https://review.coreboot.org/20821
To unsubscribe, visit https://review.coreboot.org/settings
Gerrit-Project: libgfxinit
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I94e9537c9f30d0cbf757b816f38d44e1b43805b3
Gerrit-Change-Number: 20821
Gerrit-PatchSet: 1
Gerrit-Owner: Nico Huber <nico.h at gmx.de>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20170729/a0fa600e/attachment.html>
More information about the coreboot-gerrit
mailing list