drm/nouveau/kms/nv50: avoid touching DP_MSTM_CTRL if !DP_MST_CAP

Fixes certain displays not being detected due to DPAUX errors.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
Ben Skeggs 2016-11-07 14:51:53 +10:00
parent b27add13f5
commit 3ca03cac39

View file

@ -3343,12 +3343,15 @@ nv50_mstm_detect(struct nv50_mstm *mstm, u8 dpcd[8], int allow)
if (!mstm)
return 0;
if (dpcd[0] >= 0x12 && allow) {
if (dpcd[0] >= 0x12) {
ret = drm_dp_dpcd_readb(mstm->mgr.aux, DP_MSTM_CAP, &dpcd[1]);
if (ret < 0)
return ret;
state = dpcd[1] & DP_MST_CAP;
if (!(dpcd[1] & DP_MST_CAP))
dpcd[0] = 0x11;
else
state = allow;
}
ret = nv50_mstm_enable(mstm, dpcd[0], state);