|
XenevaOS
|
#include <drm_file.h>

Public Attributes | |
| struct completion * | completion |
| void(* | completion_release )(struct completion *completion) |
| struct drm_event * | event |
| struct dma_fence * | fence |
| struct drm_file * | file_priv |
| struct list_head | link |
| struct list_head | pending_link |
struct drm_pending_event - Event queued up for userspace to read
This represents a DRM event. Drivers can use this as a generic completion mechanism, which supports kernel-internal &struct completion, &struct dma_fence and also the DRM-specific &struct drm_event delivery mechanism.
| struct completion* drm_pending_event::completion |
@completion:
Optional pointer to a kernel internal completion signalled when drm_send_event() is called, useful to internally synchronize with nonblocking operations.
| void(* drm_pending_event::completion_release) (struct completion *completion) |
@completion_release:
Optional callback currently only used by the atomic modeset helpers to clean up the reference count for the structure @completion is stored in.
| struct drm_event* drm_pending_event::event |
@event:
Pointer to the actual event that should be sent to userspace to be read using drm_read(). Can be optional, since nowadays events are also used to signal kernel internal threads with @completion or DMA transactions using @fence.
| struct dma_fence* drm_pending_event::fence |
@fence:
Optional DMA fence to unblock other hardware transactions which depend upon the nonblocking DRM operation this event represents.
| struct drm_file* drm_pending_event::file_priv |
@file_priv:
&struct drm_file where @event should be delivered to. Only set when @event is set.
| struct list_head drm_pending_event::link |
Double-linked list to keep track of this event. Can be used by the driver up to the point when it calls drm_send_event(), after that this list entry is owned by the core for its own book-keeping.
| struct list_head drm_pending_event::pending_link |
@pending_link:
Entry on &drm_file.pending_event_list, to keep track of all pending events for @file_priv, to allow correct unwinding of them when userspace closes the file before the event is delivered.