drm/nvd0/disp: track down fb positioning method
authorBen Skeggs <bskeggs@redhat.com>
Fri, 8 Jul 2011 02:11:58 +0000 (12:11 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 20 Sep 2011 06:07:32 +0000 (16:07 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nvd0_display.c

index 60454889118d3c6bf20591b6eafde6a72ecfa3aa..45f8a31e9ac3eaead58daccb9bcc769c559b6235 100644 (file)
@@ -189,8 +189,6 @@ nvd0_crtc_set_scale(struct nouveau_crtc *nv_crtc, int type, bool update)
                evo_data(push, (outY << 16) | outX);
                evo_mthd(push, 0x0494 + (nv_crtc->index * 0x300), 1);
                evo_data(push, 0x00000000);
-               evo_mthd(push, 0x04b0 + (nv_crtc->index * 0x300), 1);
-               evo_data(push, 0x00000000);
                evo_mthd(push, 0x04b8 + (nv_crtc->index * 0x300), 1);
                evo_data(push, (mode->vdisplay << 16) | mode->hdisplay);
                if (update) {
@@ -219,6 +217,8 @@ nvd0_crtc_set_image(struct nouveau_crtc *nv_crtc, struct drm_framebuffer *fb,
                evo_data(push, nvfb->r_pitch);
                evo_data(push, nvfb->r_format);
                evo_data(push, nvfb->r_dma);
+               evo_mthd(push, 0x04b0 + (nv_crtc->index * 0x300), 1);
+               evo_data(push, (y << 16) | x);
                if (update) {
                        evo_mthd(push, 0x0080, 1);
                        evo_data(push, 0x00000000);