diff options
author | Eric Anholt <eric@anholt.net> | 2009-01-28 00:19:41 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-28 10:50:14 -0500 |
commit | 30b23634084d95781f7611c0713cb551a0c0a152 (patch) | |
tree | fd4185cb0f0b46ca0069251144619b6e9e2031b0 /include | |
parent | 152a649b647a8ef47bb74ff9e11850fa6001bedc (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')
-rw-r--r-- | include/drm/drm.h | 2 | ||||
-rw-r--r-- | include/drm/drmP.h | 9 |
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 | ||
548 | struct 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 */ |