embeddedsw/XilinxProcessorIPLib/drivers/dp/doc/html/api/xdprx_8h.html
Andrei-Liviu Simion 97b327b727 dp: Added Doxygen documentation.
Signed-off-by: Andrei-Liviu Simion <andrei.simion@xilinx.com>
2015-04-26 10:34:26 +05:30

1165 lines
60 KiB
HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>
xdprx.h File Reference
</title>
<link href="$DriverApiDocsCssPath" rel="stylesheet" type="text/css">
</head>
<h3 class="PageHeader">Xilinx Processor IP Library</h3>
<hl>Software Drivers</hl>
<hr class="whs1">
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li id="current"><a href="files.html"><span>Files</span></a></li>
</ul></div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
</ul></div>
<h1>xdprx.h File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
The Xilinx DisplayPort receiver (DPRX) driver. This driver supports the Xilinx DisplayPort soft IP core in receive (RX) mode.<p>
<b>Driver description</b><p>
The device driver enables higher-level software (e.g., an application) to configure and control a DisplayPort RX soft IP.<p>
This driver gives applications the ability to configure the RX using various settings, handle and issue interrupts, and modify a subset of its DisplayPort Configuration Data (DPCD) fields.<p>
<b>Interrupt processing</b><p>
The DisplayPort RX driver may generate a pulse on the hot-plug-detect (HPD) signal line using the XDprx_GenerateHpdInterrupt function. This allows the RX to send an interrupt to the upstream TX device, useful for signaling the TX that it needs to do some checks for changes in downstream devices or a loss of link training.<p>
For RX interrupt handling of HPD events or events that happen internal to the RX, the user hardware design must contain an interrupt controller which the DisplayPort RX instance's interrupt signal is connected to. The user application must enable interrupts in the system and set up the interrupt controller such that the XDprx_InterruptHandler handler will service interrupts. When the XDprx_InterruptHandler function is invoked, the handler will identify what type of interrupt has occurred, and will call the appropriate interrupt handler.<p>
The DisplayPort RX's XDPRX_INTERRUPT_CAUSE register indicates the type of interrupt that has occured, and the XDprx_InterruptHandler will use this information to decide which handler to call.<p>
The handlers are set up using the XDprx_SetIntr* functions.<p>
Specific interrupts may be enabled or disabled using the XDprx_InterruptEnable and XDprx_InterruptDisable functions.<p>
<b>Multi-stream transport (MST) mode</b><p>
The DisplayPort RX driver does not support MST functionality in 2015.1.<p>
<b>Audio</b><p>
The driver does not handle audio.<p>
<dl compact><dt><b>Note:</b></dt><dd>None.</dd></dl>
<pre>
MODIFICATION HISTORY:</pre><p>
<pre> Ver Who Date Changes
----- ---- -------- -----------------------------------------------
1.0 als 01/20/14 Initial release.
</pre>
<p>
<code>#include &quot;<a class="el" href="xdp_8h.html">xdp.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="xdprx__hw_8h.html">xdprx_hw.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dprx___link_config.html">XDprx_LinkConfig</a></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_dprx.html">XDprx</a></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> (void *InstancePtr)</td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#bcccfaff08a86c7c9dcb021457d97e8f">XDprx_CfgInitialize</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="struct_x_dp___config.html">XDp_Config</a> *ConfigPtr, u32 EffectiveAddr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#1cbc5cd2400f422b152271c3c4e771ce">XDprx_InitializeRx</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#cde778795d716815d43ce5166e7ebf38">XDprx_CheckLinkStatus</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#8c2acf2eed3f2c829ab943b626d79d91">XDprx_DtgEn</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#f0d8ec6701744a023b12158633b0dc84">XDprx_DtgDis</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#ad78f1951da1be560ff5286601e3fab2">XDprx_SetLinkRate</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u8 LinkRate)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#e3e69667dede66128aac5c2788f9a9eb">XDprx_SetLaneCount</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u8 LaneCount)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#4cabca03e6a328c433dc21302a49ba69">XDprx_SetUserPixelWidth</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u8 UserPixelWidth)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#1e67d4a2a6f504663e8c3471219cc9ca">XDprx_SetUserTimerHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdp_8h.html#b2ee8cde914736409c4b04146aa84462">XDp_TimerHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#6d13f667c29e0352d44f652dc7142ae8">XDprx_WaitUs</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u32 MicroSeconds)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#0f16e888a335b721ad35af75b1c927b0">XDprx_InterruptHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#7519b6d3be1cf9dbcbaaaf753d0cc4e4">XDprx_GenerateHpdInterrupt</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u16 DurationUs)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#d44ab332cd344cd35aeaeb2f738d7027">XDprx_InterruptEnable</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u32 Mask)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#346009242ae8924c0587df4e2382aa41">XDprx_InterruptDisable</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, u32 Mask)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#4f068f33a9da7410e593eea3562113e4">XDprx_SetIntrVmChangeHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#015ea312ec395ff91d6a12f0008602cd">XDprx_SetIntrPowerStateHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#264ecb2d714c5f6af4a15a8d897c2f4b">XDprx_SetIntrNoVideoHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#d719c033fc753492eae92affc99a90ca">XDprx_SetIntrVBlankHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#9b09c31537edd9cceaa7387da30ddebd">XDprx_SetIntrTrainingLostHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#03f8f414783f9d471c6f2466d4eb3808">XDprx_SetIntrVideoHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#1b353b6afed518574999cb7d126b127a">XDprx_SetIntrTrainingDoneHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#1fc53f0e986a10ac31f616c23315276e">XDprx_SetIntrBwChangeHandler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#40b5392d737020cdada329ca387403ca">XDprx_SetIntrTp1Handler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#0e882d28a6c94f4306b87b85b55a090d">XDprx_SetIntrTp2Handler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#8fc84d7df58e78f437a67961ccfaaffb">XDprx_SetIntrTp3Handler</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr, <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a> CallbackFunc, void *CallbackRef)</td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">u32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="xdprx_8h.html#4743f74019179ad1731221754bed1d5c">XDprx_SelfTest</a> (<a class="el" href="struct_x_dprx.html">XDprx</a> *InstancePtr)</td></tr>
</table>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="96ac17c948fe7c1ece8d7711e005d18d"></a><!-- doxytag: member="xdprx.h::XDprx_IntrHandler" ref="96ac17c948fe7c1ece8d7711e005d18d" args="(void *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(*) <a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>(void *InstancePtr) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Callback type which represents the handler for interrupts.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="bcccfaff08a86c7c9dcb021457d97e8f"></a><!-- doxytag: member="xdprx.h::XDprx_CfgInitialize" ref="bcccfaff08a86c7c9dcb021457d97e8f" args="(XDprx *InstancePtr, XDp_Config *ConfigPtr, u32 EffectiveAddr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_CfgInitialize </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_dp___config.html">XDp_Config</a> *&nbsp;</td>
<td class="paramname"> <em>ConfigPtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>EffectiveAddr</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function retrieves the configuration for this DisplayPort RX instance and fills in the InstancePtr-&gt;Config structure.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>ConfigPtr</em>&nbsp;</td><td>is a pointer to the configuration structure that will be used to copy the settings from. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>EffectiveAddr</em>&nbsp;</td><td>is the device base address in the virtual memory space. If the address translation is not used, then the physical address is passed.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>Unexpected errors may occur if the address mapping is changed after this function is invoked. </dd></dl>
</div>
</div><p>
<a class="anchor" name="cde778795d716815d43ce5166e7ebf38"></a><!-- doxytag: member="xdprx.h::XDprx_CheckLinkStatus" ref="cde778795d716815d43ce5166e7ebf38" args="(XDprx *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XDprx_CheckLinkStatus </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function checks if the reciever's internal registers indicate that link training has complete. That is, training has achieved channel equalization, symbol lock, and interlane alignment for all lanes currently in use.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the RX device has achieved clock recovery, channel equalization, symbol lock, and interlane alignment.</li><li>XST_FAILURE otherwise.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="f0d8ec6701744a023b12158633b0dc84"></a><!-- doxytag: member="xdprx.h::XDprx_DtgDis" ref="f0d8ec6701744a023b12158633b0dc84" args="(XDprx *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_DtgDis </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function disables the display timing generator (DTG).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="8c2acf2eed3f2c829ab943b626d79d91"></a><!-- doxytag: member="xdprx.h::XDprx_DtgEn" ref="8c2acf2eed3f2c829ab943b626d79d91" args="(XDprx *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_DtgEn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function enables the display timing generator (DTG).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="7519b6d3be1cf9dbcbaaaf753d0cc4e4"></a><!-- doxytag: member="xdprx.h::XDprx_GenerateHpdInterrupt" ref="7519b6d3be1cf9dbcbaaaf753d0cc4e4" args="(XDprx *InstancePtr, u16 DurationUs)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_GenerateHpdInterrupt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u16&nbsp;</td>
<td class="paramname"> <em>DurationUs</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function generates a pulse on the hot-plug-detect (HPD) line of the specified duration.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>DurationUs</em>&nbsp;</td><td>is the duration of the HPD pulse, in microseconds.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1cbc5cd2400f422b152271c3c4e771ce"></a><!-- doxytag: member="xdprx.h::XDprx_InitializeRx" ref="1cbc5cd2400f422b152271c3c4e771ce" args="(XDprx *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XDprx_InitializeRx </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function prepares the DisplayPort RX core for use.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the DisplayPort RX core was successfully initialized.</li><li>XST_FAILURE otherwise.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="346009242ae8924c0587df4e2382aa41"></a><!-- doxytag: member="xdprx.h::XDprx_InterruptDisable" ref="346009242ae8924c0587df4e2382aa41" args="(XDprx *InstancePtr, u32 Mask)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_InterruptDisable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Mask</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function disables interrupts associated with the specified mask.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Mask</em>&nbsp;</td><td>specifies which interrupts should be disabled. Bits set to 1 will disable the corresponding interrupts.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="d44ab332cd344cd35aeaeb2f738d7027"></a><!-- doxytag: member="xdprx.h::XDprx_InterruptEnable" ref="d44ab332cd344cd35aeaeb2f738d7027" args="(XDprx *InstancePtr, u32 Mask)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_InterruptEnable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>Mask</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function enables interrupts associated with the specified mask.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>Mask</em>&nbsp;</td><td>specifies which interrupts should be enabled. Bits set to 1 will enable the corresponding interrupts.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="0f16e888a335b721ad35af75b1c927b0"></a><!-- doxytag: member="xdprx.h::XDprx_InterruptHandler" ref="0f16e888a335b721ad35af75b1c927b0" args="(XDprx *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_InterruptHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function is the interrupt handler for the <a class="el" href="struct_x_dprx.html">XDprx</a> driver.<p>
When an interrupt happens, it first detects what kind of interrupt happened, then decides which callback function to invoke.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4743f74019179ad1731221754bed1d5c"></a><!-- doxytag: member="xdprx.h::XDprx_SelfTest" ref="4743f74019179ad1731221754bed1d5c" args="(XDprx *InstancePtr)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">u32 XDprx_SelfTest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em> </td>
<td>&nbsp;)&nbsp;</td>
<td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function runs a self-test on the <a class="el" href="struct_x_dprx.html">XDprx</a> driver/device. The sanity test checks whether or not all tested registers hold their default reset values.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the self-test passed - all tested registers hold their default reset values.</li><li>XST_FAILURE otherwise.</li></ul>
</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1fc53f0e986a10ac31f616c23315276e"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrBwChangeHandler" ref="1fc53f0e986a10ac31f616c23315276e" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrBwChangeHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a bandwidth change interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="264ecb2d714c5f6af4a15a8d897c2f4b"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrNoVideoHandler" ref="264ecb2d714c5f6af4a15a8d897c2f4b" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrNoVideoHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a no video interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="015ea312ec395ff91d6a12f0008602cd"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrPowerStateHandler" ref="015ea312ec395ff91d6a12f0008602cd" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrPowerStateHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when the power state interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="40b5392d737020cdada329ca387403ca"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrTp1Handler" ref="40b5392d737020cdada329ca387403ca" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrTp1Handler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a training pattern 1 interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="0e882d28a6c94f4306b87b85b55a090d"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrTp2Handler" ref="0e882d28a6c94f4306b87b85b55a090d" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrTp2Handler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a training pattern 2 interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="8fc84d7df58e78f437a67961ccfaaffb"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrTp3Handler" ref="8fc84d7df58e78f437a67961ccfaaffb" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrTp3Handler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a training pattern 3 interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1b353b6afed518574999cb7d126b127a"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrTrainingDoneHandler" ref="1b353b6afed518574999cb7d126b127a" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrTrainingDoneHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a training done interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="9b09c31537edd9cceaa7387da30ddebd"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrTrainingLostHandler" ref="9b09c31537edd9cceaa7387da30ddebd" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrTrainingLostHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a training lost interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="d719c033fc753492eae92affc99a90ca"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrVBlankHandler" ref="d719c033fc753492eae92affc99a90ca" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrVBlankHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a vertical blanking interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="03f8f414783f9d471c6f2466d4eb3808"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrVideoHandler" ref="03f8f414783f9d471c6f2466d4eb3808" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrVideoHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a valid video interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4f068f33a9da7410e593eea3562113e4"></a><!-- doxytag: member="xdprx.h::XDprx_SetIntrVmChangeHandler" ref="4f068f33a9da7410e593eea3562113e4" args="(XDprx *InstancePtr, XDprx_IntrHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetIntrVmChangeHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdprx_8h.html#96ac17c948fe7c1ece8d7711e005d18d">XDprx_IntrHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a callback function for when a video mode change interrupt occurs.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item that will be passed to the callback function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="e3e69667dede66128aac5c2788f9a9eb"></a><!-- doxytag: member="xdprx.h::XDprx_SetLaneCount" ref="e3e69667dede66128aac5c2788f9a9eb" args="(XDprx *InstancePtr, u8 LaneCount)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetLaneCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>LaneCount</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the maximum lane count to be exposed in the RX device's DisplayPort Configuration Data (DPCD) registers.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>LaneCount</em>&nbsp;</td><td>is the number of lanes to be used over the main link.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="ad78f1951da1be560ff5286601e3fab2"></a><!-- doxytag: member="xdprx.h::XDprx_SetLinkRate" ref="ad78f1951da1be560ff5286601e3fab2" args="(XDprx *InstancePtr, u8 LinkRate)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetLinkRate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>LinkRate</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function sets the maximum data rate to be exposed in the RX device's DisplayPort Configuration Data (DPCD) registers.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>LinkRate</em>&nbsp;</td><td>is the link rate to be used over the main link based on one of the following selects:<ul>
<li>XDPRX_LINK_BW_SET_162GBPS = 0x06 (for a 1.62 Gbps data rate)</li><li>XDPRX_LINK_BW_SET_270GBPS = 0x0A (for a 2.70 Gbps data rate)</li><li>XDPRX_LINK_BW_SET_540GBPS = 0x14 (for a 5.40 Gbps data rate)</li></ul>
</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="4cabca03e6a328c433dc21302a49ba69"></a><!-- doxytag: member="xdprx.h::XDprx_SetUserPixelWidth" ref="4cabca03e6a328c433dc21302a49ba69" args="(XDprx *InstancePtr, u8 UserPixelWidth)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetUserPixelWidth </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u8&nbsp;</td>
<td class="paramname"> <em>UserPixelWidth</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function configures the number of pixels output through the user data interface.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>UserPixelWidth</em>&nbsp;</td><td>is the user pixel width to be configured.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1e67d4a2a6f504663e8c3471219cc9ca"></a><!-- doxytag: member="xdprx.h::XDprx_SetUserTimerHandler" ref="1e67d4a2a6f504663e8c3471219cc9ca" args="(XDprx *InstancePtr, XDp_TimerHandler CallbackFunc, void *CallbackRef)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_SetUserTimerHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="xdp_8h.html#b2ee8cde914736409c4b04146aa84462">XDp_TimerHandler</a>&nbsp;</td>
<td class="paramname"> <em>CallbackFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>CallbackRef</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function installs a custom delay/sleep function to be used by the <a class="el" href="struct_x_dprx.html">XDprx</a> driver.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address to the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</td><td>is the user data item (microseconds to delay) that will be passed to the custom sleep/delay function when it is invoked.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
<a class="anchor" name="6d13f667c29e0352d44f652dc7142ae8"></a><!-- doxytag: member="xdprx.h::XDprx_WaitUs" ref="6d13f667c29e0352d44f652dc7142ae8" args="(XDprx *InstancePtr, u32 MicroSeconds)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XDprx_WaitUs </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_dprx.html">XDprx</a> *&nbsp;</td>
<td class="paramname"> <em>InstancePtr</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">u32&nbsp;</td>
<td class="paramname"> <em>MicroSeconds</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td width="100%"></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
This function is the delay/sleep function for the <a class="el" href="struct_x_dprx.html">XDprx</a> driver. For the Zynq family, there exists native sleep functionality. For MicroBlaze however, there does not exist such functionality. In the MicroBlaze case, the default method for delaying is to use a predetermined amount of loop iterations. This method is prone to inaccuracy and dependent on system configuration; for greater accuracy, the user may supply their own delay/sleep handler, pointed to by InstancePtr-&gt;UserTimerWaitUs, which may have better accuracy if a hardware timer is used.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>InstancePtr</em>&nbsp;</td><td>is a pointer to the <a class="el" href="struct_x_dprx.html">XDprx</a> instance. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>MicroSeconds</em>&nbsp;</td><td>is the number of microseconds to delay/sleep for.</td></tr>
</table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>None.</dd></dl>
<dl compact><dt><b>Note:</b></dt><dd>None. </dd></dl>
</div>
</div><p>
Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.