mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-25 16:11:45 +00:00
drm/i915: Fix DP enhanced framing for CPT
Currently we're always enabling enhanced framing on CPT even if the sink doesn't support it. Fix this up by actaully looking at what the sink tells us. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
adc289d749
commit
e3ef4479bb
2 changed files with 10 additions and 2 deletions
|
@ -4168,8 +4168,7 @@ static void ironlake_pch_enable(struct drm_crtc *crtc)
|
|||
temp &= ~(TRANS_DP_PORT_SEL_MASK |
|
||||
TRANS_DP_SYNC_MASK |
|
||||
TRANS_DP_BPC_MASK);
|
||||
temp |= (TRANS_DP_OUTPUT_ENABLE |
|
||||
TRANS_DP_ENH_FRAMING);
|
||||
temp |= TRANS_DP_OUTPUT_ENABLE;
|
||||
temp |= bpc << 9; /* same format but at 11:9 */
|
||||
|
||||
if (crtc->mode.flags & DRM_MODE_FLAG_PHSYNC)
|
||||
|
|
|
@ -1582,7 +1582,16 @@ static void intel_dp_prepare(struct intel_encoder *encoder)
|
|||
|
||||
intel_dp->DP |= crtc->pipe << 29;
|
||||
} else if (HAS_PCH_CPT(dev) && port != PORT_A) {
|
||||
u32 trans_dp;
|
||||
|
||||
intel_dp->DP |= DP_LINK_TRAIN_OFF_CPT;
|
||||
|
||||
trans_dp = I915_READ(TRANS_DP_CTL(crtc->pipe));
|
||||
if (drm_dp_enhanced_frame_cap(intel_dp->dpcd))
|
||||
trans_dp |= TRANS_DP_ENH_FRAMING;
|
||||
else
|
||||
trans_dp &= ~TRANS_DP_ENH_FRAMING;
|
||||
I915_WRITE(TRANS_DP_CTL(crtc->pipe), trans_dp);
|
||||
} else {
|
||||
if (!HAS_PCH_SPLIT(dev) && !IS_VALLEYVIEW(dev))
|
||||
intel_dp->DP |= intel_dp->color_range;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue