summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_dp.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-03-12 02:16:55 +0100
committerBen Skeggs <bskeggs@redhat.com>2012-03-13 08:15:05 +0100
commit6860dc8251eacd1672fa660b85bb59a45350aa70 (patch)
treeca9b5de022f9b9db305d8f1fbdcf239749715e55 /drivers/gpu/drm/nouveau/nouveau_dp.c
parentdrm/nvd0/disp: fix dcb sor link matching in supervisor handler (diff)
downloadlinux-6860dc8251eacd1672fa660b85bb59a45350aa70.tar.xz
linux-6860dc8251eacd1672fa660b85bb59a45350aa70.zip
drm/nouveau/dp: account for channel coding overhead in link training
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_dp.c')
-rw-r--r--drivers/gpu/drm/nouveau/nouveau_dp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c
index b3644651d89b..302b2f7d0678 100644
--- a/drivers/gpu/drm/nouveau/nouveau_dp.c
+++ b/drivers/gpu/drm/nouveau/nouveau_dp.c
@@ -422,6 +422,9 @@ nouveau_dp_link_train(struct drm_encoder *encoder, u32 datarate,
dp.auxch = auxch->drive;
dp.dpcd = nv_encoder->dp.dpcd;
+ /* adjust required bandwidth for 8B/10B coding overhead */
+ datarate = (datarate / 8) * 10;
+
/* some sinks toggle hotplug in response to some of the actions
* we take during link training (DP_SET_POWER is one), we need
* to ignore them for the moment to avoid races.