diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2014-05-26 12:00:07 +1000 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2014-06-11 16:10:47 +1000 |
commit | 13a61757db124b16cef9b8f9b60ff7337a01b398 (patch) | |
tree | 054b0ae006a3b31290eb7be01c053eebf562def9 /drivers/gpu | |
parent | 1ecee1cda3a33029c32721b6f2c61bc3f371e3bd (diff) |
drm/g94-/disp: 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>
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c b/drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c index 95d8c53d347..834ee0e185c 100644 --- a/drivers/gpu/drm/nouveau/core/engine/disp/sornv94.c +++ b/drivers/gpu/drm/nouveau/core/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; } |