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