freebsd-nq/sys/dev/drm
Robert Noland 24c6d24b27 Rework the management of vblank interrupts a bit.
When a vt switch occurs the irq handler is uninstalled.  Interrupts
and the state tracking of what was enabled/disabled wasn't working
properly.  This should resolve the reports of "slow windows" after a
vt switch, among other things.  The radeon 2d driver seems to work a
bit more correctly than the Intel driver.  With the Intel driver,
vblank interrupts will be enabled at system startup and will only
be disabled after an additional modeset (vt switch, dpms, randr event).

With this patch, I am able to run glxgears synced to vblank and
vt switch while it is running without ill effects.

MFC after:	3 days
2009-03-25 01:50:56 +00:00
..
ati_pcigart.c The GART allocations are a propery of the gart, not of scatter-gather 2009-03-25 01:41:56 +00:00
drm_agpsupport.c Rework memory allocation to allocate memory with different type names. This 2008-10-13 18:03:27 +00:00
drm_atomic.h resync to git master 2008-10-03 16:59:11 +00:00
drm_auth.c Rework memory allocation to allocate memory with different type names. This 2008-10-13 18:03:27 +00:00
drm_bufs.c Minor code cleanup 2009-03-17 03:46:37 +00:00
drm_context.c Rework memory allocation to allocate memory with different type names. This 2008-10-13 18:03:27 +00:00
drm_dma.c Rework memory allocation to allocate memory with different type names. This 2008-10-13 18:03:27 +00:00
drm_drawable.c Correct memory leak of info->rects. Previously we would free info, but 2008-10-13 18:06:33 +00:00
drm_drv.c Add support for matching solely on vendor id. 2009-03-17 03:53:44 +00:00
drm_fops.c Replace calls to minor() with dev2unit(). Ed already fixed this once, 2008-10-23 20:23:03 +00:00
drm_internal.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
drm_ioctl.c Rework memory allocation to allocate memory with different type names. This 2008-10-13 18:03:27 +00:00
drm_irq.c Rework the management of vblank interrupts a bit. 2009-03-25 01:50:56 +00:00
drm_linux_list.h Add list_for_each_prev to our linux compatibility. 2009-03-17 03:49:24 +00:00
drm_lock.c Add some debugging so I can see when syscalls are being restarted 2009-03-19 08:36:08 +00:00
drm_memory.c Rework memory allocation to allocate memory with different type names. This 2008-10-13 18:03:27 +00:00
drm_pci.c Change the flags to bus_dmamem around to allow it to sleep waiting for 2009-03-09 07:47:03 +00:00
drm_pciids.h Add a couple of radeon pci ids. 2009-03-20 04:49:48 +00:00
drm_sarea.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
drm_scatter.c The GART allocations are a propery of the gart, not of scatter-gather 2009-03-25 01:41:56 +00:00
drm_sysctl.c Clean up the printing on amd64. Should also be consistent on i386. 2009-03-09 07:50:27 +00:00
drm_vm.c vm_offset_t is unsigned, so compare of >= 0 is not needed. 2009-03-20 18:35:16 +00:00
drm-preprocess.sh
drm-subprocess.pl Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
drm.h resync to git master 2008-10-03 16:59:11 +00:00
drmP.h The GART allocations are a propery of the gart, not of scatter-gather 2009-03-25 01:41:56 +00:00
i915_dma.c Intel handled the management of the breadcrumb counter inconsistently. 2009-03-25 01:44:16 +00:00
i915_drm.h resync to git master 2008-10-03 16:59:11 +00:00
i915_drv.c Remove the DRM_ERROR to fix build. It didn't make any sense anyway. 2009-03-20 18:01:32 +00:00
i915_drv.h Pull in some suspend / resume changes from Intel's code 2009-03-19 08:22:56 +00:00
i915_irq.c Intel handled the management of the breadcrumb counter inconsistently. 2009-03-25 01:44:16 +00:00
i915_mem.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
i915_reg.h Pull in some suspend / resume changes from Intel's code 2009-03-19 08:22:56 +00:00
i915_suspend.c Fix what appears to be a typo, and restore the registers correctly. 2009-03-20 17:51:26 +00:00
mach64_dma.c We should never call drm_pci_alloc() while holding locks, due the the 2008-09-09 02:05:03 +00:00
mach64_drm.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
mach64_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
mach64_drv.h Initialize the vblank structures at load time. Previously we did this 2009-02-28 02:37:55 +00:00
mach64_irq.c Initialize the vblank structures at load time. Previously we did this 2009-02-28 02:37:55 +00:00
mach64_state.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
mga_dma.c Initialize the vblank structures at load time. Previously we did this 2009-02-28 02:37:55 +00:00
mga_drm.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
mga_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
mga_drv.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
mga_irq.c Add some debugging so I can see when syscalls are being restarted 2009-03-19 08:36:08 +00:00
mga_state.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
mga_ucode.h
mga_warp.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
r128_cce.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
r128_drm.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
r128_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
r128_drv.h Initialize the vblank structures at load time. Previously we did this 2009-02-28 02:37:55 +00:00
r128_irq.c Initialize the vblank structures at load time. Previously we did this 2009-02-28 02:37:55 +00:00
r128_state.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
r300_cmdbuf.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
r300_reg.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
r600_cp.c Change the logic around to match ati_pcigart. 2009-03-17 03:36:24 +00:00
r600_microcode.h Import support for ATI Radeon R600 and R700 series chips. 2009-03-07 21:36:57 +00:00
radeon_cp.c Get rid of any remaining PZERO flags in mtx_sleep() 2009-03-16 08:19:11 +00:00
radeon_drm.h Import support for ATI Radeon R600 and R700 series chips. 2009-03-07 21:36:57 +00:00
radeon_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
radeon_drv.h Import support for ATI Radeon R600 and R700 series chips. 2009-03-07 21:36:57 +00:00
radeon_irq.c Add some debugging so I can see when syscalls are being restarted 2009-03-19 08:36:08 +00:00
radeon_mem.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
radeon_microcode.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
radeon_state.c Import support for ATI Radeon R600 and R700 series chips. 2009-03-07 21:36:57 +00:00
savage_bci.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
savage_drm.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
savage_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
savage_drv.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
savage_state.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
sis_drm.h
sis_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
sis_drv.h Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
sis_ds.c
sis_ds.h
sis_mm.c Update drm kernel drivers. 2008-08-23 20:59:12 +00:00
tdfx_drv.c Consistently use kdev for the kernel device. 2009-03-09 07:55:18 +00:00
tdfx_drv.h