1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>drm_do_get_edid</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#idp1126417260" title="EDID Helper Functions Reference"><link rel="prev" href="API-drm-edid-is-valid.html" title="drm_edid_is_valid"><link rel="next" href="API-drm-probe-ddc.html" title="drm_probe_ddc"></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_do_get_edid</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-drm-edid-is-valid.html">Prev</a>&#160;</td><th width="60%" align="center">EDID Helper Functions Reference</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-drm-probe-ddc.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-drm-do-get-edid"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>drm_do_get_edid &#8212; 
2     get EDID data using a custom EDID block read function
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">struct edid * <b class="fsfunc">drm_do_get_edid </b>(</code></td><td>struct drm_connector * <var class="pdparam">connector</var>, </td></tr><tr><td>&#160;</td><td>int (*<var class="pdparam">get_edid_block</var>)
4     <code>(</code>void *data, u8 *buf, unsigned int block, 			      size_t len<code>)</code>, </td></tr><tr><td>&#160;</td><td>void * <var class="pdparam">data</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1126449924"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>connector</code></em></span></dt><dd><p>
5     connector we're probing
6    </p></dd><dt><span class="term"><em class="parameter"><code>get_edid_block</code></em></span></dt><dd><p>
7     EDID block read function
8    </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p>
9     private data passed to the block read function
10    </p></dd></dl></div></div><div class="refsect1"><a name="idp1126453620"></a><h2>Description</h2><p>
11   When the I2C adapter connected to the DDC bus is hidden behind a device that
12   exposes a different interface to read EDID blocks this function can be used
13   to get EDID data using a custom block read function.
14   </p><p>
15
16   As in the general case the DDC bus is accessible by the kernel at the I2C
17   level, drivers must make all reasonable efforts to expose it as an I2C
18   adapter and use <code class="function">drm_get_edid</code> instead of abusing this function.
19</p></div><div class="refsect1"><a name="idp1126455140"></a><h2>Return</h2><p>
20   Pointer to valid EDID or NULL if we couldn't find any.
21</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-edid-is-valid.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch02s05.html#idp1126417260">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-drm-probe-ddc.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">drm_edid_is_valid</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_probe_ddc</span></td></tr></table></div></body></html>
22