<html> <head> <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title> xosd_intr.c 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.5 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main 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 List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul></div> <h1>xosd_intr.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2> This code contains interrupt related functions of Xilinx MVI Video On-Screen-Display device driver. Please see xosd.h for more details of the driver.<p> <pre> MODIFICATION HISTORY:</pre><p> <pre> Ver Who Date Changes ----- ---- -------- ------------------------------------------------------- 1.00a xd 08/18/08 First release 2.00a cjm 12/18/12 Converted from xio.h to xil_io.h, translating basic types, MB cache functions, exceptions and assertions to xil_io format. </pre> <p> <code>#include "xosd.h"</code><br> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="xosd__intr_8c.html#d1d7d477cb1c788ccd6b1eea6b128c68">XOSD_IntrHandler</a> (void *InstancePtr)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="xosd__intr_8c.html#716f31e98703cb87368c7f5e73497a91">XOSD_SetCallBack</a> (<a class="el" href="struct_x_o_s_d.html">XOSD</a> *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)</td></tr> </table> <hr><h2>Function Documentation</h2> <a class="anchor" name="d1d7d477cb1c788ccd6b1eea6b128c68"></a><!-- doxytag: member="xosd_intr.c::XOSD_IntrHandler" ref="d1d7d477cb1c788ccd6b1eea6b128c68" args="(void *InstancePtr)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void XOSD_IntrHandler </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">void * </td> <td class="mdname1" valign="top" nowrap> <em>InstancePtr</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> This function is the interrupt handler for the On-Screen-Display driver.<p> This handler reads the pending interrupt from the IER/ISR, determines the source of the interrupts, calls according callbacks, and finally clears the interrupts.<p> The application is responsible for connecting this function to the interrupt system. Application beyond this driver is also responsible for providing callbacks to handle interrupts and installing the callbacks using <a class="el" href="xosd__intr_8c.html#716f31e98703cb87368c7f5e73497a91">XOSD_SetCallBack()</a> during initialization phase. An example delivered with this driver demonstrates how this could be done.<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> </td><td>is a pointer to the <a class="el" href="struct_x_o_s_d.html">XOSD</a> instance that just interrupted. </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> </td> </tr> </table> <a class="anchor" name="716f31e98703cb87368c7f5e73497a91"></a><!-- doxytag: member="xosd_intr.c::XOSD_SetCallBack" ref="716f31e98703cb87368c7f5e73497a91" args="(XOSD *InstancePtr, u32 HandlerType, void *CallBackFunc, void *CallBackRef)" --><p> <table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">int XOSD_SetCallBack </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="struct_x_o_s_d.html">XOSD</a> * </td> <td class="mdname" nowrap> <em>InstancePtr</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>u32 </td> <td class="mdname" nowrap> <em>HandlerType</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>CallBackFunc</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>void * </td> <td class="mdname" nowrap> <em>CallBackRef</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr> </table> <table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td> <p> This routine installs an asynchronous callback function for the given HandlerType:<p> <pre> HandlerType Callback Function Type ----------------------- --------------------------- XOSD_HANDLER_VBISTART XOSD_CallBack XOSD_HANDLER_VBIEND XOSD_CallBack XOSD_HANDLER_FRAMEDONE XOSD_CallBack XOSD_HANDLER_ERROR XOSD_ErrCallBack</pre><p> <pre> HandlerType Invoked by this driver when: ----------------------- -------------------------------------------------- XOSD_HANDLER_VBISTART A Vertical Blank Interval Start Interrupt happens XOSD_HANDLER_VBIEND A Vertical Blank Interval End Interrupt happens XOSD_HANDLER_FRAMEDONE A Frame Done Interrupt happens XOSD_HANDLER_ERROR An error condition happens</pre><p> <pre> </pre><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> </td><td>is a pointer to the <a class="el" href="struct_x_o_s_d.html">XOSD</a> instance to be worked on. </td></tr> <tr><td valign="top"></td><td valign="top"><em>HandlerType</em> </td><td>specifies which callback is to be attached. </td></tr> <tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em> </td><td>is the address of the callback function. </td></tr> <tr><td valign="top"></td><td valign="top"><em>CallbackRef</em> </td><td>is a 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><ul> <li>XST_SUCCESS when handler is installed.</li><li>XST_INVALID_PARAM when HandlerType is invalid.</li></ul> </dd></dl> <dl compact><dt><b>Note:</b></dt><dd>Invoking this function for a handler that already has been installed replaces it with the new handler. </dd></dl> </td> </tr> </table> Copyright @ 1995-2014 Xilinx, Inc. All rights reserved.