summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2013-06-03 08:40:14 +0200
committerBen Skeggs <bskeggs@redhat.com>2013-06-05 06:03:08 +0200
commitd40ee48acde16894fb3b241d7e896d5fa84e0f10 (patch)
tree5c48870c90fc6357fec259d105a18629095f6642
parentdrm/nv50/disp: force dac power state during load detect (diff)
downloadlinux-d40ee48acde16894fb3b241d7e896d5fa84e0f10.tar.xz
linux-d40ee48acde16894fb3b241d7e896d5fa84e0f10.zip
drm/nv50/kms: use dac loadval from vbios, where it's available
Regression from merging the old nv50/nvd9 code together, and may be needed to fully fix fdo#64904. The value is ignored completely by the hardware starting from nva3. Reported-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/nv50_display.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c
index 325887390677..e843cf86bcce 100644
--- a/drivers/gpu/drm/nouveau/nv50_display.c
+++ b/drivers/gpu/drm/nouveau/nv50_display.c
@@ -1554,7 +1554,9 @@ nv50_dac_detect(struct drm_encoder *encoder, struct drm_connector *connector)
{
struct nv50_disp *disp = nv50_disp(encoder->dev);
int ret, or = nouveau_encoder(encoder)->or;
- u32 load = 0;
+ u32 load = nouveau_drm(encoder->dev)->vbios.dactestval;
+ if (load == 0)
+ load = 340;
ret = nv_exec(disp->core, NV50_DISP_DAC_LOAD + or, &load, sizeof(load));
if (ret || load != 7)