1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>struct drm_crtc</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux GPU Driver Developer's Guide"><link rel="up" href="drm-kms-init.html#id-1.3.4.8.10" title="KMS Data Structures"><link rel="prev" href="API-struct-drm-crtc-funcs.html" title="struct drm_crtc_funcs"><link rel="next" href="API-struct-drm-connector-state.html" title="struct drm_connector_state"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">struct drm_crtc</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-drm-crtc-funcs.html">Prev</a> </td><th width="60%" align="center">KMS Data Structures</th><td width="20%" align="right"> <a accesskey="n" href="API-struct-drm-connector-state.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-drm-crtc"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct drm_crtc — 
2     central CRTC control structure
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting">
4struct drm_crtc {
5  struct drm_device * dev;
6  struct device_node * port;
7  struct list_head head;
8  struct drm_modeset_lock mutex;
9  struct drm_mode_object base;
10  struct drm_plane * primary;
11  struct drm_plane * cursor;
12  int cursor_x;
13  int cursor_y;
14  bool enabled;
15  struct drm_display_mode mode;
16  struct drm_display_mode hwmode;
17  int x;
18  int y;
19  const struct drm_crtc_funcs * funcs;
20  uint32_t gamma_size;
21  uint16_t * gamma_store;
22  const void * helper_private;
23  struct drm_object_properties properties;
24  struct drm_crtc_state * state;
25  struct drm_modeset_acquire_ctx * acquire_ctx;
26};  </pre></div><div class="refsect1"><a name="id-1.3.4.8.10.4.5"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">dev</span></dt><dd><p>
27   parent DRM device
28      </p></dd><dt><span class="term">port</span></dt><dd><p>
29   OF node used by <code class="function">drm_of_find_possible_crtcs</code>
30      </p></dd><dt><span class="term">head</span></dt><dd><p>
31   list management
32      </p></dd><dt><span class="term">mutex</span></dt><dd><p>
33   per-CRTC locking
34      </p></dd><dt><span class="term">base</span></dt><dd><p>
35   base KMS object for ID tracking etc.
36      </p></dd><dt><span class="term">primary</span></dt><dd><p>
37   primary plane for this CRTC
38      </p></dd><dt><span class="term">cursor</span></dt><dd><p>
39   cursor plane for this CRTC
40      </p></dd><dt><span class="term">cursor_x</span></dt><dd><p>
41   current x position of the cursor, used for universal cursor planes
42      </p></dd><dt><span class="term">cursor_y</span></dt><dd><p>
43   current y position of the cursor, used for universal cursor planes
44      </p></dd><dt><span class="term">enabled</span></dt><dd><p>
45   is this CRTC enabled?
46      </p></dd><dt><span class="term">mode</span></dt><dd><p>
47   current mode timings
48      </p></dd><dt><span class="term">hwmode</span></dt><dd><p>
49   mode timings as programmed to hw regs
50      </p></dd><dt><span class="term">x</span></dt><dd><p>
51   x position on screen
52      </p></dd><dt><span class="term">y</span></dt><dd><p>
53   y position on screen
54      </p></dd><dt><span class="term">funcs</span></dt><dd><p>
55   CRTC control functions
56      </p></dd><dt><span class="term">gamma_size</span></dt><dd><p>
57   size of gamma ramp
58      </p></dd><dt><span class="term">gamma_store</span></dt><dd><p>
59   gamma ramp values
60      </p></dd><dt><span class="term">helper_private</span></dt><dd><p>
61   mid-layer private data
62      </p></dd><dt><span class="term">properties</span></dt><dd><p>
63   property tracking for this CRTC
64      </p></dd><dt><span class="term">state</span></dt><dd><p>
65   current atomic state for this CRTC
66      </p></dd><dt><span class="term">acquire_ctx</span></dt><dd><p>
67   per-CRTC implicit acquire context used by atomic drivers for
68   legacy ioctls
69      </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.4.8.10.4.6"></a><h2>Description</h2><p>
70   Each CRTC may have one or more connectors associated with it.  This structure
71   allows the CRTC to be controlled.
72</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-struct-drm-crtc-funcs.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="drm-kms-init.html#id-1.3.4.8.10">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-struct-drm-connector-state.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct drm_crtc_funcs</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">struct drm_connector_state</span></td></tr></table></div></body></html>
73