drm/nouveau/dp: account for channel coding overhead in link training
authorBen Skeggs <bskeggs@redhat.com>
Mon, 12 Mar 2012 01:16:55 +0000 (11:16 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 13 Mar 2012 07:15:05 +0000 (17:15 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_dp.c

index b3644651d89bac5ae92f37abb2f313bf8888b40d..302b2f7d0678c009a60f3e3ed6ced8e65dcd8280 100644 (file)
@@ -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.