summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_display.c
diff options
context:
space:
mode:
authorJesse Barnes2015-03-07 00:53:32 +0100
committerDaniel Vetter2015-03-17 22:30:09 +0100
commitde31facda53b595bc42ac87341a9200f1f4eb414 (patch)
treed81d662625d4aebe3044f65979b601f25e2090b5 /drivers/gpu/drm/i915/intel_display.c
parentdrm/i915/skl: Restore the DDI translation tables when enabling PW1 (diff)
downloadkernel-qcow2-linux-de31facda53b595bc42ac87341a9200f1f4eb414.tar.gz
kernel-qcow2-linux-de31facda53b595bc42ac87341a9200f1f4eb414.tar.xz
kernel-qcow2-linux-de31facda53b595bc42ac87341a9200f1f4eb414.zip
drm/i915/skl: port A fuse straps don't work on early SKL steppings
So try to enumerate eDP unconditionally in those cases. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> [danvet: Add wa tag Damien dug out.] Reviewed-by: Damien Lespiau <damien.lespiau@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r--drivers/gpu/drm/i915/intel_display.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 43d3575d7d20..31eaa7caf127 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12583,10 +12583,15 @@ static void intel_setup_outputs(struct drm_device *dev)
if (HAS_DDI(dev)) {
int found;
- /* Haswell uses DDI functions to detect digital outputs */
+ /*
+ * Haswell uses DDI functions to detect digital outputs.
+ * On SKL pre-D0 the strap isn't connected, so we assume
+ * it's there.
+ */
found = I915_READ(DDI_BUF_CTL_A) & DDI_INIT_DISPLAY_DETECTED;
- /* DDI A only supports eDP */
- if (found)
+ /* WaIgnoreDDIAStrap: skl */
+ if (found ||
+ (IS_SKYLAKE(dev) && INTEL_REVID(dev) < SKL_REVID_D0))
intel_ddi_init(dev, PORT_A);
/* DDI B, C and D detection is indicated by the SFUSE_STRAP