summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2012-11-09 03:38:06 +0400
committerBen Skeggs <bskeggs@redhat.com>2012-11-29 03:57:50 +0400
commit7ebb38b556485449bfaa506a196439f6a6fd6ebd (patch)
tree05d7dd2db64a7c4def70207d3ee6750246fd4b02 /drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c
parentef22c8bb7b3fac45919b7fde412d36d1a8367d51 (diff)
downloadlinux-7ebb38b556485449bfaa506a196439f6a6fd6ebd.tar.xz
drm/nv50/disp: call into core for dac load detection
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c')
-rw-r--r--drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c b/drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c
index 18ba339c1625..d0817d94454c 100644
--- a/drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c
+++ b/drivers/gpu/drm/nouveau/core/engine/disp/dacnv50.c
@@ -46,11 +46,11 @@ nv50_dac_power(struct nv50_disp_priv *priv, int or, u32 data)
}
int
-nv50_dac_sense(struct nv50_disp_priv *priv, int or)
+nv50_dac_sense(struct nv50_disp_priv *priv, int or, u32 loadval)
{
const u32 doff = (or * 0x800);
int load = -EINVAL;
- nv_wr32(priv, 0x61a00c + doff, 0x00100000);
+ nv_wr32(priv, 0x61a00c + doff, 0x00100000 | loadval);
udelay(9500);
nv_wr32(priv, 0x61a00c + doff, 0x80000000);
load = (nv_rd32(priv, 0x61a00c + doff) & 0x38000000) >> 27;
@@ -74,7 +74,7 @@ nv50_dac_mthd(struct nouveau_object *object, u32 mthd, void *args, u32 size)
ret = priv->dac.power(priv, or, data[0]);
break;
case NV50_DISP_DAC_LOAD:
- ret = priv->dac.sense(priv, or);
+ ret = priv->dac.sense(priv, or, data[0]);
if (ret >= 0) {
data[0] = ret;
ret = 0;