diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2011-08-04 20:28:52 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-09-20 02:10:56 -0400 |
commit | 856ed888754e98b5933878f56b9c540b68dab1d6 (patch) | |
tree | 1fbbced254a37cc9c40fe0a4ef2170d4ec7d65f0 /drivers/gpu | |
parent | 1262a206da7d28340dfce954e31bd5fe5ae9e2dd (diff) |
drm/nouveau/dp: link rate scripts are selected with a comparison table
Not hardcoded as originally thought.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_dp.c | 7 |
1 files changed, 3 insertions, 4 deletions
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) | |||
314 | */ | 314 | */ |
315 | bios = nouveau_bios_dp_table(dev, dp->dcb, &headerlen); | 315 | bios = nouveau_bios_dp_table(dev, dp->dcb, &headerlen); |
316 | if (bios && (bios = ROMPTR(&dev_priv->vbios, bios[10]))) { | 316 | if (bios && (bios = ROMPTR(&dev_priv->vbios, bios[10]))) { |
317 | u16 script = ROM16(bios[2]); | 317 | while (dp->link_bw < (ROM16(bios[0]) * 10)) |
318 | if (dp->link_bw != 270000) | 318 | bios += 4; |
319 | script = ROM16(bios[6]); | ||
320 | 319 | ||
321 | nouveau_bios_run_init_table(dev, script, dp->dcb, dp->crtc); | 320 | nouveau_bios_run_init_table(dev, ROM16(bios[2]), dp->dcb, dp->crtc); |
322 | } | 321 | } |
323 | 322 | ||
324 | /* configure lane count on the source */ | 323 | /* configure lane count on the source */ |