summaryrefslogtreecommitdiff
path: root/shared-core/i915_dma.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@neko.keithp.com>2007-05-07 09:07:48 -0400
committerKeith Packard <keithp@neko.keithp.com>2007-05-10 13:15:32 -0700
commite4d163d81ad7ce46af43cf84485dc96c4cb22b1f (patch)
tree51e23e9d1c9ddf97e620c445c7cdaee2a51f81fb /shared-core/i915_dma.c
parente0056c7eb4640fc4863a352997ba00e3142b3355 (diff)
Allow vblank interrupts to remain disabled across VT switch.
i915_driver_irq_postinstall was forcing vblank interrupts to pipe A when called with vblank interrupts disabled. This caused vblank interrupts to be accidentally re-enabled when VT switching the X server. Instead, start the driver with vblank interrupts enabled on pipe A to support older X servers, but then leave control over the state to the X server if it is able to do so.
Diffstat (limited to 'shared-core/i915_dma.c')
-rw-r--r--shared-core/i915_dma.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/shared-core/i915_dma.c b/shared-core/i915_dma.c
index cb5dcea8..8991a3ce 100644
--- a/shared-core/i915_dma.c
+++ b/shared-core/i915_dma.c
@@ -177,6 +177,10 @@ static int i915_initialize(drm_device_t * dev,
*/
dev_priv->allow_batchbuffer = 1;
+ /* Enable vblank on pipe A for older X servers
+ */
+ dev_priv->vblank_pipe = DRM_I915_VBLANK_PIPE_A;
+
/* Program Hardware Status Page */
dev_priv->status_page_dmah = drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE,
0xffffffff);