summaryrefslogtreecommitdiff
path: root/nvkm/engine/disp/sorgm204.c
diff options
context:
space:
mode:
Diffstat (limited to 'nvkm/engine/disp/sorgm204.c')
-rw-r--r--nvkm/engine/disp/sorgm204.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/nvkm/engine/disp/sorgm204.c b/nvkm/engine/disp/sorgm204.c
index ee1f7ae8a..0b4fad39e 100644
--- a/nvkm/engine/disp/sorgm204.c
+++ b/nvkm/engine/disp/sorgm204.c
@@ -44,6 +44,18 @@ gm204_sor_loff(struct nvkm_output_dp *outp)
return gm204_sor_soff(outp) + !(outp->base.info.sorconf.link & 1) * 0x80;
}
+void
+gm204_sor_magic(struct nvkm_output *outp)
+{
+ struct nv50_disp_priv *priv = (void *)nouveau_disp(outp);
+ const u32 soff = outp->or * 0x100;
+ const u32 data = outp->or + 1;
+ if (outp->info.sorconf.link & 1)
+ nv_mask(priv, 0x612308 + soff, 0x0000001f, 0x00000000 | data);
+ if (outp->info.sorconf.link & 2)
+ nv_mask(priv, 0x612388 + soff, 0x0000001f, 0x00000010 | data);
+}
+
static inline u32
gm204_sor_dp_lane_map(struct nv50_disp_priv *priv, u8 lane)
{