summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Skeggs <bskeggs@redhat.com>2014-05-26 12:00:07 +1000
committerBen Skeggs <bskeggs@redhat.com>2014-06-11 16:02:09 +1000
commit54c82dac9a04a1254f79256cf9ca3be199e4e788 (patch)
tree07a8f5e6dc1f964f6a6f356538b46916adb74507
parentcca2e9b7ce23bf9475f0885fc158112c42b3c4a1 (diff)
disp/g94-: bash and wait for something after changing lane power regs
Some kind of update? Needed to make the power-down take effect at least. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--nvkm/engine/disp/sornv94.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/nvkm/engine/disp/sornv94.c b/nvkm/engine/disp/sornv94.c
index 95d8c53d..834ee0e1 100644
--- a/nvkm/engine/disp/sornv94.c
+++ b/nvkm/engine/disp/sornv94.c
@@ -69,6 +69,7 @@ int
nv94_sor_dp_lnk_pwr(struct nvkm_output_dp *outp, int nr)
{
struct nv50_disp_priv *priv = (void *)nouveau_disp(outp);
+ const u32 soff = nv94_sor_soff(outp);
const u32 loff = nv94_sor_loff(outp);
u32 mask = 0, i;
@@ -76,6 +77,8 @@ nv94_sor_dp_lnk_pwr(struct nvkm_output_dp *outp, int nr)
mask |= 1 << (nv94_sor_dp_lane_map(priv, i) >> 3);
nv_mask(priv, 0x61c130 + loff, 0x0000000f, mask);
+ nv_mask(priv, 0x61c034 + soff, 0x80000000, 0x80000000);
+ nv_wait(priv, 0x61c034 + soff, 0x80000000, 0x00000000);
return 0;
}