]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - processor_audio_sdk_1_00_00_00/psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/notifyDrivers/IInterrupt-src.html
Move IPC 3.43.00.00 eng and PDK 1.0.1.0 eng to subfolders
[processor-sdk/performance-audio-sr.git] / processor_audio_sdk_1_00_00_00 / psdk_cust / ipc_3_43_00_00_eng / docs / cdoc / ti / sdo / ipc / notifyDrivers / IInterrupt-src.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2 <html><head><title>interface ti.sdo.ipc.notifyDrivers.IInterrupt</title>
3 <meta name="googlebot" content="noindex,nofollow">
4 <link rel="stylesheet" type="text/css" href="../../../../src.css"/>
5 </head>
6 <body>
7 <pre class=src>
8      1    <span class="comment">/*
9 </span>     2    <span class="comment"> * Copyright (c) 2012-2013, Texas Instruments Incorporated
10 </span>     3    <span class="comment"> * All rights reserved.
11 </span>     4    <span class="comment"> *
12 </span>     5    <span class="comment"> * Redistribution and use in source and binary forms, with or without
13 </span>     6    <span class="comment"> * modification, are permitted provided that the following conditions
14 </span>     7    <span class="comment"> * are met:
15 </span>     8    <span class="comment"> *
16 </span>     9    <span class="comment"> * *  Redistributions of source code must retain the above copyright
17 </span>    10    <span class="comment"> *    notice, this list of conditions and the following disclaimer.
18 </span>    11    <span class="comment"> *
19 </span>    12    <span class="comment"> * *  Redistributions in binary form must reproduce the above copyright
20 </span>    13    <span class="comment"> *    notice, this list of conditions and the following disclaimer in the
21 </span>    14    <span class="comment"> *    documentation and/or other materials provided with the distribution.
22 </span>    15    <span class="comment"> *
23 </span>    16    <span class="comment"> * *  Neither the name of Texas Instruments Incorporated nor the names of
24 </span>    17    <span class="comment"> *    its contributors may be used to endorse or promote products derived
25 </span>    18    <span class="comment"> *    from this software without specific prior written permission.
26 </span>    19    <span class="comment"> *
27 </span>    20    <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28 </span>    21    <span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
29 </span>    22    <span class="comment"> * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
30 </span>    23    <span class="comment"> * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
31 </span>    24    <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
32 </span>    25    <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
33 </span>    26    <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
34 </span>    27    <span class="comment"> * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
35 </span>    28    <span class="comment"> * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
36 </span>    29    <span class="comment"> * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
37 </span>    30    <span class="comment"> * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 </span>    31    <span class="comment"> */</span>
39     32    <span class="comment">/*
40 </span>    33    <span class="comment"> *  ======== IInterrupt.xdc ========
41 </span>    34    <span class="comment"> *
42 </span>    35    <span class="comment"> */</span>
43     36    
44     37    <span class="xdoc">/*!
45 </span>    38    <span class="xdoc"> *  ======== IInterrupt ========
46 </span>    39    <span class="xdoc"> *  Interface for the inter-processor interrupts
47 </span>    40    <span class="xdoc"> */</span>
48     41    <span class=key>interface</span> IInterrupt {
49     42    
50     43        <span class=key>struct</span> IntInfo {
51     44            UInt  localIntId;
52     45            UInt  remoteIntId;
53     46            UInt  intVectorId;
54     47        }
55     48    
56     49        <span class="xdoc">/*!
57 </span>    50    <span class="xdoc">     *  ======== intEnable ========
58 </span>    51    <span class="xdoc">     *  Enables the interrupt corresponding to intId
59 </span>    52    <span class="xdoc">     *
60 </span>    53    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Remote MultiProc Id
61 </span>    54    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
62 </span>    55    <span class="xdoc">     */</span>
63     56        @DirectCall
64     57        Void intEnable(UInt16 remoteProcId, IntInfo *intInfo);
65     58    
66     59        <span class="xdoc">/*!
67 </span>    60    <span class="xdoc">     *  ======== intDisable ========
68 </span>    61    <span class="xdoc">     *  Disables the interrupt corresponding to intId
69 </span>    62    <span class="xdoc">     *
70 </span>    63    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Remote MultiProc Id
71 </span>    64    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
72 </span>    65    <span class="xdoc">     */</span>
73     66        @DirectCall
74     67        Void intDisable(UInt16 remoteProcId, IntInfo *intInfo);
75     68    
76     69        <span class="xdoc">/*!
77 </span>    70    <span class="xdoc">     *  ======== intRegister ========
78 </span>    71    <span class="xdoc">     *  Register an interrupt line to a remote processor
79 </span>    72    <span class="xdoc">     *
80 </span>    73    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Remote MultiProc Id
81 </span>    74    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
82 </span>    75    <span class="xdoc">     *  <b>@param(func)</b>          Function to register.
83 </span>    76    <span class="xdoc">     *  <b>@param(arg)</b>           Argument that will be passed to func
84 </span>    77    <span class="xdoc">     */</span>
85     78        @DirectCall
86     79        Void intRegister(UInt16 remoteProcId, IntInfo *intInfo, Fxn func, UArg arg);
87     80    
88     81        <span class="xdoc">/*!
89 </span>    82    <span class="xdoc">     *  ======== intUnregister ========
90 </span>    83    <span class="xdoc">     *  Unregister an interrupt line to a remote processor
91 </span>    84    <span class="xdoc">     *
92 </span>    85    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Remote MultiProc Id
93 </span>    86    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
94 </span>    87    <span class="xdoc">     */</span>
95     88        @DirectCall
96     89        Void intUnregister(UInt16 remoteProcId, IntInfo *intInfo);
97     90    
98     91        <span class="xdoc">/*!
99 </span>    92    <span class="xdoc">     *  ======== intSend ========
100 </span>    93    <span class="xdoc">     *  Send interrupt to the remote processor
101 </span>    94    <span class="xdoc">     *
102 </span>    95    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Remote MultiProc Id
103 </span>    96    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
104 </span>    97    <span class="xdoc">     *  <b>@param(arg)</b>           Argument for sending interrupt.
105 </span>    98    <span class="xdoc">     */</span>
106     99        @DirectCall
107    100        Void intSend(UInt16 remoteProcId, IntInfo *intInfo, UArg arg);
108    101    
109    102        <span class="xdoc">/*!
110 </span>   103    <span class="xdoc">     *  <b>@_nodoc</b>
111 </span>   104    <span class="xdoc">     *  Post an interrupt locally.
112 </span>   105    <span class="xdoc">     *
113 </span>   106    <span class="xdoc">     *  Used to simulate receiving an interrupt from a remote (source)
114 </span>   107    <span class="xdoc">     *  processor
115 </span>   108    <span class="xdoc">     *
116 </span>   109    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Source MultiProc Id
117 </span>   110    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
118 </span>   111    <span class="xdoc">     *  <b>@param(arg)</b>           Argument for sending interrupt.
119 </span>   112    <span class="xdoc">     */</span>
120    113        @DirectCall
121    114        Void intPost(UInt16 srcProcId, IntInfo *intInfo, UArg arg);
122    115    
123    116        <span class="xdoc">/*!
124 </span>   117    <span class="xdoc">     *  ======== intClear ========
125 </span>   118    <span class="xdoc">     *  Clear interrupt
126 </span>   119    <span class="xdoc">     *
127 </span>   120    <span class="xdoc">     *  <b>@param(remoteProcId)</b>  Remote MultiProc Id
128 </span>   121    <span class="xdoc">     *  <b>@param(intInfo)</b>       Information needed to configure interrupt line
129 </span>   122    <span class="xdoc">     *
130 </span>   123    <span class="xdoc">     *  <b>@b(returns)</b>           Value (if any) of the interrupt before
131 </span>   124    <span class="xdoc">     *                        it was cleared
132 </span>   125    <span class="xdoc">     */</span>
133    126        @DirectCall
134    127        UInt intClear(UInt16 remoteProcId, IntInfo *intInfo);
135    128    }
136 </pre>
137 </body></html>