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>
This commit is contained in:
Jesse Barnes 2015-03-06 15:53:32 -08:00 committed by Daniel Vetter
parent 1d2b9526a7
commit de31facda5
1 changed files with 8 additions and 3 deletions

View File

@ -12583,10 +12583,15 @@ static void intel_setup_outputs(struct drm_device *dev)
if (HAS_DDI(dev)) { if (HAS_DDI(dev)) {
int found; 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; found = I915_READ(DDI_BUF_CTL_A) & DDI_INIT_DISPLAY_DETECTED;
/* DDI A only supports eDP */ /* WaIgnoreDDIAStrap: skl */
if (found) if (found ||
(IS_SKYLAKE(dev) && INTEL_REVID(dev) < SKL_REVID_D0))
intel_ddi_init(dev, PORT_A); intel_ddi_init(dev, PORT_A);
/* DDI B, C and D detection is indicated by the SFUSE_STRAP /* DDI B, C and D detection is indicated by the SFUSE_STRAP