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> </td><th width="60%" align="center">EDID Helper Functions Reference</th><td width="20%" align="right"> <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 — 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> </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> </td><td>void * <var class="pdparam">data</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </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> </td><td width="20%" align="center"><a accesskey="u" href="ch02s05.html#idp1126417260">Up</a></td><td width="40%" align="right"> <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> </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">drm_probe_ddc</span></td></tr></table></div></body></html> 22