drm/nv50: Keep track of the head a channel is vsync'ing to.
authorFrancisco Jerez <currojerez@riseup.net>
Sun, 24 Oct 2010 12:15:58 +0000 (14:15 +0200)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 3 Dec 2010 05:11:16 +0000 (15:11 +1000)
commit1f6d2de2c539df6fe52ad2187191a9dfe10c7233
tree29758c192b7e9dfef4c4f4793bc8c459d5cdb85f
parent1c180fa5bd5f264e4863bb88861e8cd7d135b917
drm/nv50: Keep track of the head a channel is vsync'ing to.

In a multihead setup vblank interrupts may end up enabled in both
heads. In that case we want to ignore the vblank interrupts coming
from the wrong CRTC to avoid tearing and unbalanced calls to
drm_vblank_get/put (fdo bug 31074).

Reported-by: Felix Leimbach <felix.leimbach@gmx.net>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_drv.h
drivers/gpu/drm/nouveau/nv50_display.c
drivers/gpu/drm/nouveau/nv50_graph.c