diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-06-16 07:45:01 +0200 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-06-17 06:41:41 +0200 |
commit | cf7c5d67e192e0bdc9e4372392006c224618ca0c (patch) | |
tree | 3ffc77a01a9ea0d6e733636bd7a857a77654316f /drivers/gpu | |
parent | drm/nouveau/kms: reference vblank for crtc during pageflip. (diff) | |
download | linux-cf7c5d67e192e0bdc9e4372392006c224618ca0c.tar.xz linux-cf7c5d67e192e0bdc9e4372392006c224618ca0c.zip |
drm/nouveau/disp/dp: don't touch link config after success
I don't know of anything this fixes, but it seems wrong anyway.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/disp/dport.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/dport.c b/drivers/gpu/drm/nouveau/core/engine/disp/dport.c index 39562d48101d..5a5b59b21130 100644 --- a/drivers/gpu/drm/nouveau/core/engine/disp/dport.c +++ b/drivers/gpu/drm/nouveau/core/engine/disp/dport.c @@ -241,7 +241,9 @@ dp_link_train_eq(struct dp_state *dp) dp_set_training_pattern(dp, 2); do { - if (dp_link_train_update(dp, dp->pc2, 400)) + if ((tries && + dp_link_train_commit(dp, dp->pc2)) || + dp_link_train_update(dp, dp->pc2, 400)) break; eq_done = !!(dp->stat[2] & DPCD_LS04_INTERLANE_ALIGN_DONE); @@ -253,9 +255,6 @@ dp_link_train_eq(struct dp_state *dp) !(lane & DPCD_LS02_LANE0_SYMBOL_LOCKED)) eq_done = false; } - - if (dp_link_train_commit(dp, dp->pc2)) - break; } while (!eq_done && cr_done && ++tries <= 5); return eq_done ? 0 : -1; |