drm/shared-core
Eric Anholt df4ef348c8 Fix i915_wait_irq in the presence of interrupt masking.
In the short-circuit code for the breadcrumb already being new enough, we
need to update the sarea_priv copy of the breadcrumb just as if we had
waited.  Otherwise userland error checking will notice that we returned
too early based on its wrong information, and call wait_irq again (leading
to spinning until someone else comes along and updates the sarea_priv).

This bug was hidden when we had interrupt masking disabled, such as in
master, since the interrupt handler would update sarea_priv.
2008-06-13 10:47:33 -07:00
..
Makefile.am Move types shared with user mode to xgi_drm.h. 2007-07-09 16:33:14 -07:00
drm.h [gem] Move potentially device-specific ioctls to the intel driver. 2008-06-11 14:42:40 -07:00
drm_internal.h Add new shared header file drm_internal.h. 2007-11-14 14:28:34 -05:00
drm_pciids.txt RS4xx: separate out RS400 and RS480 IGP chips 2008-05-13 21:02:17 -04:00
drm_sarea.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
i915_dma.c [gem] Remove the interrupt handler for retiring requests. 2008-06-13 09:54:14 -07:00
i915_drm.h [gem] Another round of cleanups from checkpatch.pl 2008-06-11 15:51:17 -07:00
i915_drv.h [gem] Remove the interrupt handler for retiring requests. 2008-06-13 09:54:14 -07:00
i915_irq.c Fix i915_wait_irq in the presence of interrupt masking. 2008-06-13 10:47:33 -07:00
i915_mem.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
imagine_drv.h Add skeletal imagine driver (but don't build it yet). 2005-03-29 01:47:38 +00:00
mach64_dma.c mach64: some more minor cleanups 2008-01-03 17:44:04 +10:00
mach64_drm.h drm: detypedef drm.h and fixup all problems 2007-07-16 11:22:15 +10:00
mach64_drv.h Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mach64_irq.c mach64: fix after vblank-rework 2008-01-25 16:54:29 +02:00
mach64_state.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
mga_dma.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
mga_drm.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
mga_drv.h Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mga_irq.c Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
mga_state.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
mga_ucode.h Lindent of core build. Drivers checked for no binary diffs. A few files 2004-09-30 21:12:10 +00:00
mga_warp.c Remove DRM_ERR OS macro. 2007-07-20 12:53:52 -07:00
nouveau_dma.c nouveau: A single define of dma skips is more than enough. 2008-02-22 19:28:54 +01:00
nouveau_dma.h nouveau: store user control reg offsets in channel struct 2007-11-14 04:09:53 +11:00
nouveau_drm.h nv50: force channel vram access through vm 2008-03-13 00:23:52 +11:00
nouveau_drv.h nv50: force channel vram access through vm 2008-03-13 00:23:52 +11:00
nouveau_fifo.c nouveau: redo channel idle detection 2008-03-07 15:18:34 +11:00
nouveau_irq.c nv50: enable 0x400500 bit 0 after PGRAPH exception also 2008-05-02 01:36:30 +10:00
nouveau_mem.c nv50: force channel vram access through vm 2008-03-13 00:23:52 +11:00
nouveau_notifier.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
nouveau_object.c nv50: force channel vram access through vm 2008-03-13 00:23:52 +11:00
nouveau_reg.h nv50: primitive i2c interrupt handler 2008-04-05 21:02:00 +02:00
nouveau_state.c drm: fix nouveau warning 2008-05-23 09:40:26 +10:00
nouveau_swmthd.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
nouveau_swmthd.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
nv04_fb.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
nv04_fifo.c nouveau: funcs to determine active channel on PFIFO. 2007-11-14 03:27:37 +11:00
nv04_graph.c nv05: enable ctx/op methods, and ignore patch valid failures. 2008-01-11 12:51:08 +11:00
nv04_instmem.c nouveau: funcs to determine active channel on PFIFO. 2007-11-14 03:27:37 +11:00
nv04_mc.c nouveau: move AGP reset to mem_init_agp 2008-03-11 16:45:35 +00:00
nv04_timer.c nouveau: nv20 bios does not initialise PTIMER 2008-03-25 18:32:26 +00:00
nv10_fb.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
nv10_fifo.c nouveau: funcs to determine active channel on PFIFO. 2007-11-14 03:27:37 +11:00
nv10_graph.c nouveau: funcs to determine active channel on PFIFO. 2007-11-14 03:27:37 +11:00
nv20_graph.c nouveau: make nv34 work every time, not just every 2nd time 2008-02-04 16:38:31 +00:00
nv40_fb.c nouveau: NV40 can/should now be able to run after the blob. 2008-02-02 12:46:47 +01:00
nv40_fifo.c nouveau: funcs to determine active channel on PFIFO. 2007-11-14 03:27:37 +11:00
nv40_graph.c nv40: voodoo - not quite. 2008-03-24 03:26:34 +11:00
nv40_mc.c drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
nv50_fifo.c nv50: some cleanups + small changes 2008-01-07 17:08:59 +11:00
nv50_graph.c nouveau: guard against channels potentially not having a context, fix nv50 2008-05-02 01:36:08 +10:00
nv50_instmem.c nv50: force channel vram access through vm 2008-03-13 00:23:52 +11:00
nv50_mc.c nouveau: enable/disable engine-specific interrupts in _init()/_takedown() 2007-08-08 10:49:05 +10:00
nv_drv.h Skeleton nv drm driver, to enable DMA in EXA. (Lars Knoll, minor updates by 2005-10-06 23:31:29 +00:00
r128_cce.c drm/pcigart: fix the pci gart to use the drm_pci wrapper. 2008-03-17 07:05:46 +10:00
r128_drm.h drm: remove XFREE86_VERSION macros 2007-08-28 15:17:36 +10:00
r128_drv.h Merge branch 'master' into vblank-rework, including mach64 support 2008-01-22 09:42:37 -08:00
r128_irq.c Merge branch 'master' into vblank-rework, fixup remaining drivers 2007-10-30 12:52:46 -07:00
r128_state.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
r300_cmdbuf.c r500: add two more register ranges for mesa driver to setup 2008-05-23 09:40:26 +10:00
r300_reg.h r500: add two more register ranges for mesa driver to setup 2008-05-23 09:40:26 +10:00
r600_microcode.h radeon: split microcode out into a separate header file. 2008-05-28 11:12:57 +10:00
radeon_cp.c r500: attempt to make AGP work by programming agp base in the MC correctly 2008-05-30 20:27:31 +10:00
radeon_drm.h RADEON: add get_param for number of GB pipes 2008-05-27 18:34:33 -04:00
radeon_drv.h r500: attempt to make AGP work by programming agp base in the MC correctly 2008-05-30 20:27:31 +10:00
radeon_irq.c rs690/r500: vblank support. 2008-05-21 21:27:33 +10:00
radeon_mem.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
radeon_microcode.h radeon: split microcode out into a separate header file. 2008-05-28 11:12:57 +10:00
radeon_state.c RADEON: add get_param for number of GB pipes 2008-05-27 18:34:33 -04:00
savage_bci.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
savage_drm.h drm: detypedef drm.h and fixup all problems 2007-07-16 11:22:15 +10:00
savage_drv.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00
savage_state.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
sis_drm.h Assert an MIT copyright on sis_drm.h, since one was lacking and I created 2005-11-28 23:10:41 +00:00
sis_drv.h drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
sis_ds.c complete fix for attribution 2006-01-02 03:30:57 +00:00
sis_ds.h some fixes from linux kernel 2006-01-02 03:44:23 +00:00
sis_mm.c Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
tdfx_drv.h Assert an MIT copyright on sis_drm.h, since one was lacking and I created 2005-11-28 23:10:41 +00:00
via_3d_reg.h drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
via_dma.c Avoid unnecessary waits for command regulator pause. 2008-03-16 20:07:14 +01:00
via_drm.h drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
via_drv.c Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
via_drv.h Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
via_ds.c Port the VIA DRM to FreeBSD. Original patch by Jake, with some cleanup by 2005-08-15 18:07:12 +00:00
via_ds.h VIA: Fix sparse warnings (Alexey Dobriyan) 2005-07-15 21:22:51 +00:00
via_irq.c [via] Fix driver after vblank-rework merge. 2008-03-16 11:45:57 +01:00
via_map.c Simplify the fencing code and differentiate between flushes and 2008-01-30 22:06:02 +01:00
via_mm.c Replace DRM_IOCTL_ARGS with (dev, data, file_priv) and remove DRM_DEVICE. 2007-07-20 18:16:42 -07:00
via_mm.h VIA: 2005-05-23 20:56:54 +00:00
via_verifier.c drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
via_verifier.h drm: major whitespace/coding style realignment with kernel 2007-11-22 16:10:36 +10:00
via_video.c drm: cleanup DRM_DEBUG() parameters 2008-01-03 16:56:04 +10:00
xgi_drm.h drm: remove lots of spurious whitespace. 2007-11-05 12:42:22 +10:00