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> </td><th width="60%" align="center">Panel Self Refresh PSR (PSR/SRD)</th><td width="20%" align="right"> <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 — 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> </td><td>unsigned <var class="pdparam">frontbuffer_bits</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </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> </td><td width="20%" align="center"><a accesskey="u" href="ch04s02.html#idp1128104188">Up</a></td><td width="40%" align="right"> <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> </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">intel_psr_init</span></td></tr></table></div></body></html> 16