diff options
author | Ben Skeggs | 2011-11-22 04:59:30 +0100 |
---|---|---|
committer | Ben Skeggs | 2012-05-24 08:32:01 +0200 |
commit | afada5e0bb3cac8530c2ae36aa0abca41d60e063 (patch) | |
tree | 32c87d14179a21c5fbec15ae1c1e30b724d1c9ac /drivers/gpu/drm/nouveau/nv04_display.c | |
parent | drm/nouveau: base fence timeout on time of emission (diff) | |
download | kernel-qcow2-linux-afada5e0bb3cac8530c2ae36aa0abca41d60e063.tar.gz kernel-qcow2-linux-afada5e0bb3cac8530c2ae36aa0abca41d60e063.tar.xz kernel-qcow2-linux-afada5e0bb3cac8530c2ae36aa0abca41d60e063.zip |
drm/nv04/disp: disable vblank interrupts when disabling display
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_display.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_display.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_display.c b/drivers/gpu/drm/nouveau/nv04_display.c index 7047d37e8dab..44488e3a257d 100644 --- a/drivers/gpu/drm/nouveau/nv04_display.c +++ b/drivers/gpu/drm/nouveau/nv04_display.c @@ -98,6 +98,13 @@ nv04_display_early_init(struct drm_device *dev) NVSetOwner(dev, 0); } + /* ensure vblank interrupts are off, they can't be enabled until + * drm_vblank has been initialised + */ + NVWriteCRTC(dev, 0, NV_PCRTC_INTR_EN_0, 0); + if (nv_two_heads(dev)) + NVWriteCRTC(dev, 1, NV_PCRTC_INTR_EN_0, 0); + return 0; } @@ -246,6 +253,10 @@ nv04_display_init(struct drm_device *dev) void nv04_display_fini(struct drm_device *dev) { + /* disable vblank interrupts */ + NVWriteCRTC(dev, 0, NV_PCRTC_INTR_EN_0, 0); + if (nv_two_heads(dev)) + NVWriteCRTC(dev, 1, NV_PCRTC_INTR_EN_0, 0); } static void |