1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>drm_primary_helper_update</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="ch02s05.html#idp1126989620" title="Plane Helper Reference"><link rel="prev" href="API-drm-plane-helper-check-update.html" title="drm_plane_helper_check_update"><link rel="next" href="API-drm-primary-helper-disable.html" title="drm_primary_helper_disable"></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">drm_primary_helper_update</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-plane-helper-check-update.html">Prev</a>&#160;</td><th width="60%" align="center">Plane Helper Reference</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-drm-primary-helper-disable.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-primary-helper-update"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_primary_helper_update &#8212; 
2     Helper for primary plane update
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">drm_primary_helper_update </b>(</code></td><td>struct drm_plane * <var class="pdparam">plane</var>, </td></tr><tr><td>&#160;</td><td>struct drm_crtc * <var class="pdparam">crtc</var>, </td></tr><tr><td>&#160;</td><td>struct drm_framebuffer * <var class="pdparam">fb</var>, </td></tr><tr><td>&#160;</td><td>int <var class="pdparam">crtc_x</var>, </td></tr><tr><td>&#160;</td><td>int <var class="pdparam">crtc_y</var>, </td></tr><tr><td>&#160;</td><td>unsigned int <var class="pdparam">crtc_w</var>, </td></tr><tr><td>&#160;</td><td>unsigned int <var class="pdparam">crtc_h</var>, </td></tr><tr><td>&#160;</td><td>uint32_t <var class="pdparam">src_x</var>, </td></tr><tr><td>&#160;</td><td>uint32_t <var class="pdparam">src_y</var>, </td></tr><tr><td>&#160;</td><td>uint32_t <var class="pdparam">src_w</var>, </td></tr><tr><td>&#160;</td><td>uint32_t <var class="pdparam">src_h</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1127024764"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>plane</code></em></span></dt><dd><p>
4     plane object to update
5    </p></dd><dt><span class="term"><em class="parameter"><code>crtc</code></em></span></dt><dd><p>
6     owning CRTC of owning plane
7    </p></dd><dt><span class="term"><em class="parameter"><code>fb</code></em></span></dt><dd><p>
8     framebuffer to flip onto plane
9    </p></dd><dt><span class="term"><em class="parameter"><code>crtc_x</code></em></span></dt><dd><p>
10     x offset of primary plane on crtc
11    </p></dd><dt><span class="term"><em class="parameter"><code>crtc_y</code></em></span></dt><dd><p>
12     y offset of primary plane on crtc
13    </p></dd><dt><span class="term"><em class="parameter"><code>crtc_w</code></em></span></dt><dd><p>
14     width of primary plane rectangle on crtc
15    </p></dd><dt><span class="term"><em class="parameter"><code>crtc_h</code></em></span></dt><dd><p>
16     height of primary plane rectangle on crtc
17    </p></dd><dt><span class="term"><em class="parameter"><code>src_x</code></em></span></dt><dd><p>
18     x offset of <em class="parameter"><code>fb</code></em> for panning
19    </p></dd><dt><span class="term"><em class="parameter"><code>src_y</code></em></span></dt><dd><p>
20     y offset of <em class="parameter"><code>fb</code></em> for panning
21    </p></dd><dt><span class="term"><em class="parameter"><code>src_w</code></em></span></dt><dd><p>
22     width of source rectangle in <em class="parameter"><code>fb</code></em>
23    </p></dd><dt><span class="term"><em class="parameter"><code>src_h</code></em></span></dt><dd><p>
24     height of source rectangle in <em class="parameter"><code>fb</code></em>
25    </p></dd></dl></div></div><div class="refsect1"><a name="idp1127037988"></a><h2>Description</h2><p>
26   Provides a default plane update handler for primary planes.  This is handler
27   is called in response to a userspace SetPlane operation on the plane with a
28   non-NULL framebuffer.  We call the driver's modeset handler to update the
29   framebuffer.
30   </p><p>
31
32   <code class="function">SetPlane</code> on a primary plane of a disabled CRTC is not supported, and will
33   return an error.
34   </p><p>
35
36   Note that we make some assumptions about hardware limitations that may not be
37   true for all hardware --
38   1) Primary plane cannot be repositioned.
39   2) Primary plane cannot be scaled.
40   3) Primary plane must cover the entire CRTC.
41   4) Subpixel positioning is not supported.
42   Drivers for hardware that don't have these restrictions can provide their
43   own implementation rather than using this helper.
44</p></div><div class="refsect1"><a name="idp1127039964"></a><h2>RETURNS</h2><p>
45   Zero on success, error code on failure
46</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-drm-plane-helper-check-update.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch02s05.html#idp1126989620">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-drm-primary-helper-disable.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_plane_helper_check_update</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">drm_primary_helper_disable</span></td></tr></table></div></body></html>
47