]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blobdiff - psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/family/c6a8149/NotifyDriverMbx-src.html
Merge branch 'pasdk1_3_master' into prsdk_pa_demo_sync_external_git
[processor-sdk/performance-audio-sr.git] / psdk_cust / ipc_3_43_00_00_eng / docs / cdoc / ti / sdo / ipc / family / c6a8149 / NotifyDriverMbx-src.html
diff --git a/psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/family/c6a8149/NotifyDriverMbx-src.html b/psdk_cust/ipc_3_43_00_00_eng/docs/cdoc/ti/sdo/ipc/family/c6a8149/NotifyDriverMbx-src.html
deleted file mode 100644 (file)
index 58b0289..0000000
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html><head><title>module ti.sdo.ipc.family.c6a8149.NotifyDriverMbx</title>
-<meta name="googlebot" content="noindex,nofollow">
-<link rel="stylesheet" type="text/css" href="../../../../../src.css"/>
-</head>
-<body>
-<pre class=src>
-     1    <span class="comment">/*
-</span>     2    <span class="comment"> * Copyright (c) 2012-2013, Texas Instruments Incorporated
-</span>     3    <span class="comment"> * All rights reserved.
-</span>     4    <span class="comment"> *
-</span>     5    <span class="comment"> * Redistribution and use in source and binary forms, with or without
-</span>     6    <span class="comment"> * modification, are permitted provided that the following conditions
-</span>     7    <span class="comment"> * are met:
-</span>     8    <span class="comment"> *
-</span>     9    <span class="comment"> * *  Redistributions of source code must retain the above copyright
-</span>    10    <span class="comment"> *    notice, this list of conditions and the following disclaimer.
-</span>    11    <span class="comment"> *
-</span>    12    <span class="comment"> * *  Redistributions in binary form must reproduce the above copyright
-</span>    13    <span class="comment"> *    notice, this list of conditions and the following disclaimer in the
-</span>    14    <span class="comment"> *    documentation and/or other materials provided with the distribution.
-</span>    15    <span class="comment"> *
-</span>    16    <span class="comment"> * *  Neither the name of Texas Instruments Incorporated nor the names of
-</span>    17    <span class="comment"> *    its contributors may be used to endorse or promote products derived
-</span>    18    <span class="comment"> *    from this software without specific prior written permission.
-</span>    19    <span class="comment"> *
-</span>    20    <span class="comment"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-</span>    21    <span class="comment"> * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-</span>    22    <span class="comment"> * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-</span>    23    <span class="comment"> * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-</span>    24    <span class="comment"> * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-</span>    25    <span class="comment"> * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-</span>    26    <span class="comment"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-</span>    27    <span class="comment"> * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-</span>    28    <span class="comment"> * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-</span>    29    <span class="comment"> * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-</span>    30    <span class="comment"> * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-</span>    31    <span class="comment"> */</span>
-    32    <span class="comment">/*
-</span>    33    <span class="comment"> *  ======== NotifyDriverMbx.xdc ================
-</span>    34    <span class="comment"> */</span>
-    35    
-    36    import ti.sdo.utils.MultiProc;
-    37    import ti.sdo.ipc.interfaces.INotifyDriver;
-    38    import ti.sdo.ipc.Notify;
-    39    
-    40    import ti.sysbios.hal.Hwi;
-    41    
-    42    import xdc.runtime.Assert;
-    43    import xdc.rov.ViewInfo;
-    44    
-    45    <span class="xdoc">/*!
-</span>    46    <span class="xdoc"> *  ======== NotifyDriverMbx ========
-</span>    47    <span class="xdoc"> *  A TI81xx hardware mailbox based driver for the Notify Module.
-</span>    48    <span class="xdoc"> *
-</span>    49    <span class="xdoc"> *  This is a {<b>@link</b> ti.sdo.ipc.Notify} driver that uses hardware mailboxes to
-</span>    50    <span class="xdoc"> *  transmit notifications to remote processors.
-</span>    51    <span class="xdoc"> *
-</span>    52    <span class="xdoc"> *  Unlike the Notify drivers available in the {<b>@link</b> ti.sdo.ipc.notifyDrivers}
-</span>    53    <span class="xdoc"> *  package, this driver is not generic and will only work with the TI81xx
-</span>    54    <span class="xdoc"> *  family of devices.
-</span>    55    <span class="xdoc"> *
-</span>    56    <span class="xdoc"> *  The driver uses no shared memory since the event IDs and payloads that
-</span>    57    <span class="xdoc"> *  comprise notifications are transmitted via the hardware mailbox FIFO.  The
-</span>    58    <span class="xdoc"> *  FIFO can hold up to 4 mailbox messages.  The number of notification that can
-</span>    59    <span class="xdoc"> *  be stored in the FIFO depends on the sizes of the payloads being sent via
-</span>    60    <span class="xdoc"> *  Notify_sendEvent.  If the payload is less than 0x7FFFFFF, then a single
-</span>    61    <span class="xdoc"> *  message will be sent per notification.  Otherwise, if the payload is greater
-</span>    62    <span class="xdoc"> *  than or equal to 0x7FFFFFF, two mailbox messages are needed to send the
-</span>    63    <span class="xdoc"> *  notification.
-</span>    64    <span class="xdoc"> *
-</span>    65    <span class="xdoc"> *  The behavior of Notify_sendEvent when the FIFO is full depends on the value
-</span>    66    <span class="xdoc"> *  of the 'waitClear' argument to the function.  If 'waitClear' is TRUE, then
-</span>    67    <span class="xdoc"> *  Notify_sendEvent will spin waiting for enough room in the FIFO for the
-</span>    68    <span class="xdoc"> *  notification before actually sending it.  If 'waitClear' is FALSE, then
-</span>    69    <span class="xdoc"> *  Notify_sendEvent will return Notify_E_FAIL if there isn't enough room in the
-</span>    70    <span class="xdoc"> *  FIFO to store the notification.
-</span>    71    <span class="xdoc"> *
-</span>    72    <span class="xdoc"> *  The Notify_[enable/disable]Event APIs are not supported by this driver.
-</span>    73    <span class="xdoc"> *
-</span>    74    <span class="xdoc"> */</span>
-    75    @InstanceFinalize
-    76    @ModuleStartup
-    77    <span class=key>module</span> NotifyDriverMbx <span class=key>inherits</span> ti.sdo.ipc.interfaces.INotifyDriver
-    78    {
-    79        <span class="xdoc">/*! <b>@_nodoc</b> */</span>
-    80        <span class=key>metaonly</span> <span class=key>struct</span> BasicView {
-    81            String      remoteProcName;
-    82            UInt        numIncomingPending;
-    83            UInt        numOutgoingPending;
-    84            String      incomingIntStatus;
-    85            String      outgoingIntStatus;
-    86            String      registeredEvents;
-    87        }
-    88    
-    89        <span class="xdoc">/*!
-</span>    90    <span class="xdoc">     *  ======== rovViewInfo ========
-</span>    91    <span class="xdoc">     */</span>
-    92        @Facet
-    93        <span class=key>metaonly</span> <span class=key>config</span> ViewInfo.Instance rovViewInfo =
-    94            ViewInfo.create({
-    95                viewMap: [
-    96                    [<span class="string">'Basic'</span>,
-    97                        {
-    98                            type: ViewInfo.INSTANCE,
-    99                            viewInitFxn: <span class="string">'viewInitBasic'</span>,
-   100                            structName: <span class="string">'BasicView'</span>
-   101                        }
-   102                    ],
-   103                ]
-   104            });
-   105    
-   106        <span class="xdoc">/*!
-</span>   107    <span class="xdoc">     *  Assert raised when trying to use Notify_[enable/disable]Event with
-</span>   108    <span class="xdoc">     *  NotifyDriverMbx
-</span>   109    <span class="xdoc">     */</span>
-   110        <span class=key>config</span> Assert.Id A_notSupported =
-   111            {msg: <span class="string">"A_notSupported: [enable/disable]Event not supported by NotifyDriverMbx"</span>};
-   112    
-   113    
-   114        <span class="xdoc">/*! Base address for the Mailbox subsystem */</span>
-   115        <span class=key>config</span> UInt32 mailboxBaseAddr = 0x480C8000;
-   116    
-   117        <span class="xdoc">/*!
-</span>   118    <span class="xdoc">     *  ======== intVectorId ========
-</span>   119    <span class="xdoc">     *  Interrupt vector ID to be used by the driver.
-</span>   120    <span class="xdoc">     *
-</span>   121    <span class="xdoc">     *  This parameter is only used by the DSP core
-</span>   122    <span class="xdoc">     */</span>
-   123        <span class=key>config</span> UInt intVectorId = ~1u;
-   124    
-   125    <span class=key>instance</span>:
-   126    
-   127        <span class="xdoc">/*!
-</span>   128    <span class="xdoc">     *  ======== remoteProcId ========
-</span>   129    <span class="xdoc">     *  The MultiProc ID corresponding to the remote processor
-</span>   130    <span class="xdoc">     */</span>
-   131        <span class=key>config</span> UInt16 remoteProcId = MultiProc.INVALIDID;
-   132    
-   133    <span class=key>internal</span>:
-   134    
-   135        <span class=key>config</span> UInt16 dspProcId   = MultiProc.INVALIDID;
-   136        <span class=key>config</span> UInt16 hostProcId  = MultiProc.INVALIDID;
-   137        <span class=key>config</span> UInt16 videoProcId = MultiProc.INVALIDID;
-   138        <span class=key>config</span> UInt16 vpssProcId  = MultiProc.INVALIDID;
-   139    
-   140        <span class="xdoc">/*!
-</span>   141    <span class="xdoc">     *  Plugs the interrupt and executes the callback functions according
-</span>   142    <span class="xdoc">     *  to event priority
-</span>   143    <span class="xdoc">     */</span>
-   144        Void isr(UArg arg);
-   145    
-   146        <span class="xdoc">/*! Instance state structure */</span>
-   147        <span class=key>struct</span> Instance_State {
-   148            Bits32           evtRegMask;     <span class="comment">/* local event register mask        */</span>
-   149            Notify.Handle    notifyHandle;   <span class="comment">/* Handle to front-end object       */</span>
-   150            UInt16           remoteProcId;   <span class="comment">/* Remote MultiProc id              */</span>
-   151        }
-   152    
-   153        <span class=key>struct</span> Module_State {
-   154            NotifyDriverMbx.Handle drvHandles[4];
-   155            Hwi.Object hwi;
-   156        };
-   157    }
-</pre>
-</body></html>