diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-02-10 22:56:31 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-02-20 01:00:43 -0500 |
commit | e2de179458fe681a1a7c63b5911a8dc86b00ca44 (patch) | |
tree | 74129e46f869d962a565497c0c61efe9b61b6964 /drivers/gpu/drm/nouveau/nv50_display.c | |
parent | ec49b5c2fb75338a733f4b1d435977a460a8cb7a (diff) |
drm/nv50/disp: fix missing sor modectrl sync flags
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv50_display.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_display.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nv50_display.c b/drivers/gpu/drm/nouveau/nv50_display.c index 35874085a61e..c9da4f108924 100644 --- a/drivers/gpu/drm/nouveau/nv50_display.c +++ b/drivers/gpu/drm/nouveau/nv50_display.c | |||
@@ -1825,8 +1825,13 @@ nv50_sor_mode_set(struct drm_encoder *encoder, struct drm_display_mode *umode, | |||
1825 | push = evo_wait(nv50_mast(dev), 8); | 1825 | push = evo_wait(nv50_mast(dev), 8); |
1826 | if (push) { | 1826 | if (push) { |
1827 | if (nv50_vers(mast) < NVD0_DISP_CLASS) { | 1827 | if (nv50_vers(mast) < NVD0_DISP_CLASS) { |
1828 | u32 ctrl = (depth << 16) | (proto << 8) | owner; | ||
1829 | if (mode->flags & DRM_MODE_FLAG_NHSYNC) | ||
1830 | ctrl |= 0x00001000; | ||
1831 | if (mode->flags & DRM_MODE_FLAG_NVSYNC) | ||
1832 | ctrl |= 0x00002000; | ||
1828 | evo_mthd(push, 0x0600 + (nv_encoder->or * 0x040), 1); | 1833 | evo_mthd(push, 0x0600 + (nv_encoder->or * 0x040), 1); |
1829 | evo_data(push, (depth << 16) | (proto << 8) | owner); | 1834 | evo_data(push, ctrl); |
1830 | } else { | 1835 | } else { |
1831 | u32 magic = 0x31ec6000 | (nv_crtc->index << 25); | 1836 | u32 magic = 0x31ec6000 | (nv_crtc->index << 25); |
1832 | u32 syncs = 0x00000001; | 1837 | u32 syncs = 0x00000001; |