1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>intel_hpd_irq_handler</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="ch04s02.html#id-1.4.3.4.9" title="Hotplug"><link rel="prev" href="API-intel-hpd-irq-storm-detect.html" title="intel_hpd_irq_storm_detect"><link rel="next" href="API-intel-hpd-init.html" title="intel_hpd_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_hpd_irq_handler</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-intel-hpd-irq-storm-detect.html">Prev</a> </td><th width="60%" align="center">Hotplug</th><td width="20%" align="right"> <a accesskey="n" href="API-intel-hpd-init.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-intel-hpd-irq-handler"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>intel_hpd_irq_handler — 
2     main hotplug irq handler
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_hpd_irq_handler </b>(</code></td><td>struct drm_device * <var class="pdparam">dev</var>, </td></tr><tr><td> </td><td>u32 <var class="pdparam">pin_mask</var>, </td></tr><tr><td> </td><td>u32 <var class="pdparam">long_mask</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.4.3.4.9.13.5"></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>pin_mask</code></em></span></dt><dd><p>
6     a mask of hpd pins that have triggered the irq
7    </p></dd><dt><span class="term"><em class="parameter"><code>long_mask</code></em></span></dt><dd><p>
8     a mask of hpd pins that may be long hpd pulses
9    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.4.3.4.9.13.6"></a><h2>Description</h2><p>
10   This is the main hotplug irq handler for all platforms. The platform specific
11   irq handlers call the platform specific hotplug irq handlers, which read and
12   decode the appropriate registers into bitmasks about hpd pins that have
13   triggered (<em class="parameter"><code>pin_mask</code></em>), and which of those pins may be long pulses
14   (<em class="parameter"><code>long_mask</code></em>). The <em class="parameter"><code>long_mask</code></em> is ignored if the port corresponding to the pin
15   is not a digital port.
16   </p><p>
17
18   Here, we do hotplug irq storm detection and mitigation, and pass further
19   processing to appropriate bottom halves.
20</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-hpd-irq-storm-detect.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04s02.html#id-1.4.3.4.9">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-intel-hpd-init.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">intel_hpd_irq_storm_detect</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_hpd_init</span></td></tr></table></div></body></html>
21