aboutsummaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2009-01-28 00:19:41 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-28 10:50:14 -0500
commit30b23634084d95781f7611c0713cb551a0c0a152 (patch)
treefd4185cb0f0b46ca0069251144619b6e9e2031b0 /include/drm
parent152a649b647a8ef47bb74ff9e11850fa6001bedc (diff)
drm: Rip out the racy, unused vblank signal code.
Schedule a vblank signal, kill the process, and we'll go walking over freed memory. Given that no open-source userland exists using this, nor have I ever heard of a consumer, just let this code die. Signed-off-by: Eric Anholt <eric@anholt.net> Requested-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/drm.h2
-rw-r--r--include/drm/drmP.h9
2 files changed, 1 insertions, 10 deletions
diff --git a/include/drm/drm.h b/include/drm/drm.h
index 32e5096554e9..8e77357334ad 100644
--- a/include/drm/drm.h
+++ b/include/drm/drm.h
@@ -458,7 +458,7 @@ enum drm_vblank_seq_type {
458 _DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */ 458 _DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */
459 _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */ 459 _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */
460 _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ 460 _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */
461 _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking */ 461 _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking, unsupported */
462}; 462};
463 463
464#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE) 464#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
index afb7858c068d..8190b9bcc2d9 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -545,13 +545,6 @@ struct drm_ctx_list {
545 struct drm_file *tag; /**< associated fd private data */ 545 struct drm_file *tag; /**< associated fd private data */
546}; 546};
547 547
548struct drm_vbl_sig {
549 struct list_head head;
550 unsigned int sequence;
551 struct siginfo info;
552 struct task_struct *task;
553};
554
555/* location of GART table */ 548/* location of GART table */
556#define DRM_ATI_GART_MAIN 1 549#define DRM_ATI_GART_MAIN 1
557#define DRM_ATI_GART_FB 2 550#define DRM_ATI_GART_FB 2
@@ -903,8 +896,6 @@ struct drm_device {
903 wait_queue_head_t *vbl_queue; /**< VBLANK wait queue */ 896 wait_queue_head_t *vbl_queue; /**< VBLANK wait queue */
904 atomic_t *_vblank_count; /**< number of VBLANK interrupts (driver must alloc the right number of counters) */ 897 atomic_t *_vblank_count; /**< number of VBLANK interrupts (driver must alloc the right number of counters) */
905 spinlock_t vbl_lock; 898 spinlock_t vbl_lock;
906 struct list_head *vbl_sigs; /**< signal list to send on VBLANK */
907 atomic_t vbl_signal_pending; /* number of signals pending on all crtcs*/
908 atomic_t *vblank_refcount; /* number of users of vblank interruptsper crtc */ 899 atomic_t *vblank_refcount; /* number of users of vblank interruptsper crtc */
909 u32 *last_vblank; /* protected by dev->vbl_lock, used */ 900 u32 *last_vblank; /* protected by dev->vbl_lock, used */
910 /* for wraparound handling */ 901 /* for wraparound handling */