1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>intel_psr_flush</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="ch04s02.html#idp1128104188" title="Panel Self Refresh PSR (PSR/SRD)"><link rel="prev" href="API-intel-psr-invalidate.html" title="intel_psr_invalidate"><link rel="next" href="API-intel-psr-init.html" title="intel_psr_init"></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">intel_psr_flush</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-intel-psr-invalidate.html">Prev</a>&#160;</td><th width="60%" align="center">Panel Self Refresh PSR (PSR/SRD)</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-intel-psr-init.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-intel-psr-flush"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>intel_psr_flush &#8212; 
2     Flush PSR
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">void <b class="fsfunc">intel_psr_flush </b>(</code></td><td>struct drm_device * <var class="pdparam">dev</var>, </td></tr><tr><td>&#160;</td><td>unsigned <var class="pdparam">frontbuffer_bits</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1128136420"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>dev</code></em></span></dt><dd><p>
4     DRM device
5    </p></dd><dt><span class="term"><em class="parameter"><code>frontbuffer_bits</code></em></span></dt><dd><p>
6     frontbuffer plane tracking bits
7    </p></dd></dl></div></div><div class="refsect1"><a name="idp1128139052"></a><h2>Description</h2><p>
8   Since the hardware frontbuffer tracking has gaps we need to integrate
9   with the software frontbuffer tracking. This function gets called every
10   time frontbuffer rendering has completed and flushed out to memory. PSR
11   can be enabled again if no other frontbuffer relevant to PSR is dirty.
12   </p><p>
13
14   Dirty frontbuffers relevant to PSR are tracked in busy_frontbuffer_bits.
15</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-intel-psr-invalidate.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch04s02.html#idp1128104188">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-intel-psr-init.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">intel_psr_invalidate</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">intel_psr_init</span></td></tr></table></div></body></html>
16