From: Ben Skeggs Date: Fri, 5 Aug 2011 00:28:52 +0000 (+1000) Subject: drm/nouveau/dp: link rate scripts are selected with a comparison table X-Git-Tag: firefly_0821_release~3680^2~4279^2~58^2~17 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=856ed888754e98b5933878f56b9c540b68dab1d6;p=firefly-linux-kernel-4.4.55.git drm/nouveau/dp: link rate scripts are selected with a comparison table Not hardcoded as originally thought. Signed-off-by: Ben Skeggs --- diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index 89d5c161c8bd..55782bd7df0f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c @@ -314,11 +314,10 @@ dp_set_link_config(struct drm_device *dev, struct dp_state *dp) */ bios = nouveau_bios_dp_table(dev, dp->dcb, &headerlen); if (bios && (bios = ROMPTR(&dev_priv->vbios, bios[10]))) { - u16 script = ROM16(bios[2]); - if (dp->link_bw != 270000) - script = ROM16(bios[6]); + while (dp->link_bw < (ROM16(bios[0]) * 10)) + bios += 4; - nouveau_bios_run_init_table(dev, script, dp->dcb, dp->crtc); + nouveau_bios_run_init_table(dev, ROM16(bios[2]), dp->dcb, dp->crtc); } /* configure lane count on the source */