forked from Minki/linux
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:
parent
b27add13f5
commit
3ca03cac39
@ -3343,12 +3343,15 @@ nv50_mstm_detect(struct nv50_mstm *mstm, u8 dpcd[8], int allow)
|
|||||||
if (!mstm)
|
if (!mstm)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (dpcd[0] >= 0x12 && allow) {
|
if (dpcd[0] >= 0x12) {
|
||||||
ret = drm_dp_dpcd_readb(mstm->mgr.aux, DP_MSTM_CAP, &dpcd[1]);
|
ret = drm_dp_dpcd_readb(mstm->mgr.aux, DP_MSTM_CAP, &dpcd[1]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
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);
|
ret = nv50_mstm_enable(mstm, dpcd[0], state);
|
||||||
|
Loading…
Reference in New Issue
Block a user