1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>struct drm_connector_funcs</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux DRM Developer's Guide"><link rel="up" href="drm-kms-init.html#idp1124538092" title="KMS Data Structures"><link rel="prev" href="API-struct-drm-connector-state.html" title="struct drm_connector_state"><link rel="next" href="API-struct-drm-encoder-funcs.html" title="struct drm_encoder_funcs"></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_connector_funcs</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-struct-drm-connector-state.html">Prev</a>&#160;</td><th width="60%" align="center">KMS Data Structures</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-struct-drm-encoder-funcs.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-struct-drm-connector-funcs"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>struct drm_connector_funcs &#8212; 
2     control connectors on a given device
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="programlisting">
4struct drm_connector_funcs {
5  void (* dpms) (struct drm_connector *connector, int mode);
6  void (* save) (struct drm_connector *connector);
7  void (* restore) (struct drm_connector *connector);
8  void (* reset) (struct drm_connector *connector);
9  enum drm_connector_status (* detect) (struct drm_connector *connector,bool force);
10  int (* fill_modes) (struct drm_connector *connector, uint32_t max_width, uint32_t max_height);
11  int (* set_property) (struct drm_connector *connector, struct drm_property *property,uint64_t val);
12  void (* destroy) (struct drm_connector *connector);
13  void (* force) (struct drm_connector *connector);
14  struct drm_connector_state *(* atomic_duplicate_state) (struct drm_connector *connector);
15  void (* atomic_destroy_state) (struct drm_connector *connector,struct drm_connector_state *state);
16  int (* atomic_set_property) (struct drm_connector *connector,struct drm_connector_state *state,struct drm_property *property,uint64_t val);
17  int (* atomic_get_property) (struct drm_connector *connector,const struct drm_connector_state *state,struct drm_property *property,uint64_t *val);
18};  </pre></div><div class="refsect1"><a name="idp1124611836"></a><h2>Members</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term">dpms</span></dt><dd><p>
19   set power state
20      </p></dd><dt><span class="term">save</span></dt><dd><p>
21   save connector state
22      </p></dd><dt><span class="term">restore</span></dt><dd><p>
23   restore connector state
24      </p></dd><dt><span class="term">reset</span></dt><dd><p>
25   reset connector after state has been invalidated (e.g. resume)
26      </p></dd><dt><span class="term">detect</span></dt><dd><p>
27   is this connector active?
28      </p></dd><dt><span class="term">fill_modes</span></dt><dd><p>
29   fill mode list for this connector
30      </p></dd><dt><span class="term">set_property</span></dt><dd><p>
31   property for this connector may need an update
32      </p></dd><dt><span class="term">destroy</span></dt><dd><p>
33   make object go away
34      </p></dd><dt><span class="term">force</span></dt><dd><p>
35   notify the driver that the connector is forced on
36      </p></dd><dt><span class="term">atomic_duplicate_state</span></dt><dd><p>
37   duplicate the atomic state for this connector
38      </p></dd><dt><span class="term">atomic_destroy_state</span></dt><dd><p>
39   destroy an atomic state for this connector
40      </p></dd><dt><span class="term">atomic_set_property</span></dt><dd><p>
41   set a property on an atomic state for this connector
42   (do not call directly, use <code class="function">drm_atomic_connector_set_property</code>)
43      </p></dd><dt><span class="term">atomic_get_property</span></dt><dd><p>
44   get a property on an atomic state for this connector
45   (do not call directly, use <code class="function">drm_atomic_connector_get_property</code>)
46      </p></dd></dl></div></div><div class="refsect1"><a name="idp1124622532"></a><h2>Description</h2><p>
47   Each CRTC may have one or more connectors attached to it.  The functions
48   below allow the core DRM code to control connectors, enumerate available modes,
49   etc.
50</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-connector-state.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="drm-kms-init.html#idp1124538092">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-struct-drm-encoder-funcs.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">struct drm_connector_state</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">struct drm_encoder_funcs</span></td></tr></table></div></body></html>
51