summaryrefslogtreecommitdiff
path: root/sys/dev/pci/drm/mach64_drv.c
diff options
context:
space:
mode:
authorOwain Ainsworth <oga@cvs.openbsd.org>2008-11-23 20:46:49 +0000
committerOwain Ainsworth <oga@cvs.openbsd.org>2008-11-23 20:46:49 +0000
commit17ac785bb3a684774ebdad9381363f2883fec44a (patch)
tree9e83e26cc13cf40543586011dc619d4106e18c9a /sys/dev/pci/drm/mach64_drv.c
parent00a60f9fe7c7c1784b2561115217114954996d0e (diff)
Move vblank data allocation to happening at attach, not at irq enable.
just put a vblank_pipes argument to the driver structure which tells us how many to set up this means that intel doesn't lose all vblank count on vtswitch (it disables the interrupt there), i've heard of a few uvm_faults where this happens as well as things just going wrong. This was suggested by Keith Packard who provided a different diff for drm.git.
Diffstat (limited to 'sys/dev/pci/drm/mach64_drv.c')
-rw-r--r--sys/dev/pci/drm/mach64_drv.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/dev/pci/drm/mach64_drv.c b/sys/dev/pci/drm/mach64_drv.c
index c61231a9afb..9e7446c9ba5 100644
--- a/sys/dev/pci/drm/mach64_drv.c
+++ b/sys/dev/pci/drm/mach64_drv.c
@@ -71,11 +71,11 @@ static const struct drm_driver_info machdrm_driver = {
.buf_priv_size = 1, /* No dev_priv */
.ioctl = machdrm_ioctl,
.lastclose = mach64_driver_lastclose,
+ .vblank_pipes = 1,
.get_vblank_counter = mach64_get_vblank_counter,
.enable_vblank = mach64_enable_vblank,
.disable_vblank = mach64_disable_vblank,
.irq_preinstall = mach64_driver_irq_preinstall,
- .irq_postinstall = mach64_driver_irq_postinstall,
.irq_uninstall = mach64_driver_irq_uninstall,
.irq_handler = mach64_driver_irq_handler,
.dma_ioctl = mach64_dma_buffers,
@@ -90,7 +90,6 @@ static const struct drm_driver_info machdrm_driver = {
.flags = DRIVER_AGP | DRIVER_MTRR | DRIVER_PCI_DMA |
DRIVER_DMA | DRIVER_SG | DRIVER_IRQ,
};
-
int
machdrm_probe(struct device *parent, void *match, void *aux)
{