struct drm_crtc — central CRTC control structure
struct drm_crtc { struct drm_device * dev; struct device_node * port; struct list_head head; struct drm_modeset_lock mutex; struct drm_mode_object base; struct drm_plane * primary; struct drm_plane * cursor; int cursor_x; int cursor_y; bool enabled; struct drm_display_mode mode; struct drm_display_mode hwmode; bool invert_dimensions; int x; int y; const struct drm_crtc_funcs * funcs; uint32_t gamma_size; uint16_t * gamma_store; int framedur_ns; int linedur_ns; int pixeldur_ns; const void * helper_private; struct drm_object_properties properties; struct drm_crtc_state * state; struct drm_modeset_acquire_ctx * acquire_ctx; };
parent DRM device
OF node used by drm_of_find_possible_crtcs
list management
per-CRTC locking
base KMS object for ID tracking etc.
primary plane for this CRTC
cursor plane for this CRTC
current x position of the cursor, used for universal cursor planes
current y position of the cursor, used for universal cursor planes
is this CRTC enabled?
current mode timings
mode timings as programmed to hw regs
for purposes of error checking crtc vs fb sizes, invert the width/height of the crtc. This is used if the driver is performing 90 or 270 degree rotated scanout
x position on screen
y position on screen
CRTC control functions
size of gamma ramp
gamma ramp values
precise frame timing
precise line timing
precise pixel timing
mid-layer private data
property tracking for this CRTC
current atomic state for this CRTC
per-CRTC implicit acquire context used by atomic drivers for legacy ioctls