diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2013-08-21 03:30:36 +0200 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-08-21 03:36:21 +0200 |
commit | 78ae0ad403daf11cf63da86923d2b5dbeda3af8f (patch) | |
tree | 599c3e121747d8074473c1f86558914e5bc677df /drivers/gpu/drm/nouveau/nouveau_display.c | |
parent | drm/nouveau/mc: fix race condition between constructor and request_irq() (diff) | |
download | linux-78ae0ad403daf11cf63da86923d2b5dbeda3af8f.tar.xz linux-78ae0ad403daf11cf63da86923d2b5dbeda3af8f.zip |
drm/nv04/disp: fix framebuffer pin refcounting
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_display.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_display.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c index 907d20ef6d4d..a03e75deacaf 100644 --- a/drivers/gpu/drm/nouveau/nouveau_display.c +++ b/drivers/gpu/drm/nouveau/nouveau_display.c @@ -577,6 +577,9 @@ nouveau_crtc_page_flip(struct drm_crtc *crtc, struct drm_framebuffer *fb, ret = nv50_display_flip_next(crtc, fb, chan, 0); if (ret) goto fail_unreserve; + } else { + struct nv04_display *dispnv04 = nv04_display(dev); + nouveau_bo_ref(new_bo, &dispnv04->image[nouveau_crtc(crtc)->index]); } ret = nouveau_page_flip_emit(chan, old_bo, new_bo, s, &fence); |