embeddedsw/XilinxProcessorIPLib/drivers/osd/doc/html/xosd__intr_8c.html
Jagannadha Sutradharudu Teki 2c8f92039d embeddesw: Add initial code support
Added initial support Xilinx Embedded Software.

Signed-off-by: Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
2014-06-24 16:45:01 +05:30

160 lines
7.6 KiB
HTML
Executable file

<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&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>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 &quot;xosd.h&quot;</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&nbsp;</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&nbsp;</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">(&nbsp;</td>
<td class="md" nowrap valign="top">void *&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>InstancePtr</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</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>&nbsp;</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">(&nbsp;</td>
<td class="md" nowrap valign="top"><a class="el" href="struct_x_o_s_d.html">XOSD</a> *&nbsp;</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&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
<td class="mdname" nowrap> <em>CallBackRef</em></td>
</tr>
<tr>
<td class="md"></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
&nbsp;
</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>&nbsp;</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>&nbsp;</td><td>specifies which callback is to be attached. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackFunc</em>&nbsp;</td><td>is the address of the callback function. </td></tr>
<tr><td valign="top"></td><td valign="top"><em>CallbackRef</em>&nbsp;</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.