drm/nouveau: enable enhanced framing only if DP display supports it
Reported-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
7760fcb020
commit
fe224bb7e1
|
@ -317,7 +317,8 @@ train:
|
|||
return false;
|
||||
|
||||
config[0] = nv_encoder->dp.link_nr;
|
||||
if (nv_encoder->dp.dpcd_version >= 0x11)
|
||||
if (nv_encoder->dp.dpcd_version >= 0x11 &&
|
||||
nv_encoder->dp.enhanced_frame)
|
||||
config[0] |= DP_LANE_COUNT_ENHANCED_FRAME_EN;
|
||||
|
||||
ret = nouveau_dp_lane_count_set(encoder, config[0]);
|
||||
|
@ -468,10 +469,12 @@ nouveau_dp_detect(struct drm_encoder *encoder)
|
|||
!nv_encoder->dcb->dpconf.link_bw)
|
||||
nv_encoder->dp.link_bw = DP_LINK_BW_1_62;
|
||||
|
||||
nv_encoder->dp.link_nr = dpcd[2] & 0xf;
|
||||
nv_encoder->dp.link_nr = dpcd[2] & DP_MAX_LANE_COUNT;
|
||||
if (nv_encoder->dp.link_nr > nv_encoder->dcb->dpconf.link_nr)
|
||||
nv_encoder->dp.link_nr = nv_encoder->dcb->dpconf.link_nr;
|
||||
|
||||
nv_encoder->dp.enhanced_frame = (dpcd[2] & DP_ENHANCED_FRAME_CAP);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@ struct nouveau_encoder {
|
|||
int dpcd_version;
|
||||
int link_nr;
|
||||
int link_bw;
|
||||
bool enhanced_frame;
|
||||
} dp;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue