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;
int x;
int y;
const struct drm_crtc_funcs * funcs;
uint32_t gamma_size;
uint16_t * gamma_store;
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
x position on screen
y position on screen
CRTC control functions
size of gamma ramp
gamma ramp values
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