diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
index 2b9ef82..a73bc15 100644
--- a/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/nv50.c
@@ -1457,10 +1457,17 @@
 	if (!outp)
 		return;
 
-	if (outp->info.location == 0 && outp->info.type == DCB_OUTPUT_DP) {
+	if (outp->info.type == DCB_OUTPUT_DP) {
 		u32 soff = (ffs(outp->info.or) - 1) * 0x08;
-		u32 ctrl = nv_rd32(priv, 0x610794 + soff);
-		u32 datarate;
+		u32 ctrl, datarate;
+
+		if (outp->info.location == 0) {
+			ctrl = nv_rd32(priv, 0x610794 + soff);
+			soff = 1;
+		} else {
+			ctrl = nv_rd32(priv, 0x610b80 + soff);
+			soff = 2;
+		}
 
 		switch ((ctrl & 0x000f0000) >> 16) {
 		case 6: datarate = pclk * 30 / 8; break;
@@ -1471,7 +1478,7 @@
 			break;
 		}
 
-		nouveau_dp_train((void *)outp, datarate);
+		nouveau_dp_train((void *)outp, datarate / soff);
 	}
 
 	exec_clkcmp(priv, head, 0, pclk, &conf);
@@ -1535,23 +1542,6 @@
 
 	if (outp->info.location == 0 && outp->info.type == DCB_OUTPUT_TMDS)
 		nv50_disp_intr_unk40_0_tmds(priv, &outp->info);
-	else
-	if (outp->info.location == 1 && outp->info.type == DCB_OUTPUT_DP) {
-		u32 soff = (ffs(outp->info.or) - 1) * 0x08;
-		u32 ctrl = nv_rd32(priv, 0x610b84 + soff);
-		u32 datarate;
-
-		switch ((ctrl & 0x000f0000) >> 16) {
-		case 6: datarate = pclk * 30 / 8; break;
-		case 5: datarate = pclk * 24 / 8; break;
-		case 2:
-		default:
-			datarate = pclk * 18 / 8;
-			break;
-		}
-
-		nouveau_dp_train((void *)outp, datarate);
-	}
 }
 
 void
