Name

struct drm_crtc — central CRTC control structure

Synopsis

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;
};  

Members

dev

parent DRM device

port

OF node used by drm_of_find_possible_crtcs

head

list management

mutex

per-CRTC locking

base

base KMS object for ID tracking etc.

primary

primary plane for this CRTC

cursor

cursor plane for this CRTC

cursor_x

current x position of the cursor, used for universal cursor planes

cursor_y

current y position of the cursor, used for universal cursor planes

enabled

is this CRTC enabled?

mode

current mode timings

hwmode

mode timings as programmed to hw regs

invert_dimensions

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

x position on screen

y

y position on screen

funcs

CRTC control functions

gamma_size

size of gamma ramp

gamma_store

gamma ramp values

framedur_ns

precise frame timing

linedur_ns

precise line timing

pixeldur_ns

precise pixel timing

helper_private

mid-layer private data

properties

property tracking for this CRTC

state

current atomic state for this CRTC

acquire_ctx

per-CRTC implicit acquire context used by atomic drivers for legacy ioctls

Description

Each CRTC may have one or more connectors associated with it. This structure allows the CRTC to be controlled.