1    /*
     2     *  Copyright 2013 by Texas Instruments Incorporated.
     3     *
     4     */
     5    
     6    /*
     7     * Copyright (c) 2013, Texas Instruments Incorporated
     8     * All rights reserved.
     9     *
    10     * Redistribution and use in source and binary forms, with or without
    11     * modification, are permitted provided that the following conditions
    12     * are met:
    13     *
    14     * *  Redistributions of source code must retain the above copyright
    15     *    notice, this list of conditions and the following disclaimer.
    16     *
    17     * *  Redistributions in binary form must reproduce the above copyright
    18     *    notice, this list of conditions and the following disclaimer in the
    19     *    documentation and/or other materials provided with the distribution.
    20     *
    21     * *  Neither the name of Texas Instruments Incorporated nor the names of
    22     *    its contributors may be used to endorse or promote products derived
    23     *    from this software without specific prior written permission.
    24     *
    25     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    26     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    27     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    28     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    29     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    30     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    31     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    32     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    33     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    34     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    35     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    36     *
    37     */
    38    
    39    /*!
    40     *  ======== Settings ========
    41     *  Dsplink ipc Settings.
    42     */
    43    @Template("./Ipc.xdt")
    44    
    45    metaonly module Ipc inherits ti.sdo.ce.ipc.IIpc {
    46    
    47        /*!
    48         *  ======== maxTimeout ========
    49         *  Maximum timeout allowed.
    50         *
    51         *  Users can specify a value here to indicate a 'cap' on the time
    52         *  which the IPC APIs in this package will wait before timing out.
    53         *  If the 'maxTimeout' value is encountered in a running system, it
    54         *  is treated as a system error.  Resources will be unlocked (e.g.
    55         *  MSGQ_pend() will return, releasing any DSP Link resources), and
    56         *  the thread that exceeded its maxTimeout will spin forever, never
    57         *  returning.  It will need to be deleted by another "monitor process".
    58         *
    59         *  This can be used in a system to detect if a remote processor has
    60         *  become unresponsive.
    61         *
    62         *  The default is 0xffffffff, which indicates that there is no cap and
    63         *  the underyling APIs can wait forever if so instructed.
    64         */
    65        config UInt32 maxTimeout = 0xffffffff;
    66    
    67        /*!
    68         *  ======== armCommMsgSize ========
    69         *  Default size for the Arm-DSP communication messages (MSGQ messages).
    70         */
    71        config UInt32 armCommMsgSize = 4 * 1024;
    72    
    73        /*!
    74         *  ======== armCommNumMsgs ========
    75         *  Number of <commMsgSize>-sized messages used for Arm-DSP communication.
    76         */
    77        config UInt32 armCommNumMsgs = 64;
    78    
    79        /*!
    80         *  ======== commLocateRetries ========
    81         *  number of times to retry Comm_locate() -- to find DSP server's MSGQ --
    82         *  before giving up.
    83         */
    84        config int commLocateRetries = 20;
    85    
    86        /*!
    87         *  ======== useLinkArbiter ========
    88         *  Control flag to indicate if Codec Engine should use the Link Arbiter
    89         *  Daemon (LAD) to arbitrate DSPLINK APIs that need arbitration.  Set to
    90         *  false means LAD should not be used; set to true means LAD should be
    91         *  used.
    92         *
    93         *  This feature may not be available on all devices.
    94         */
    95        config Bool useLinkArbiter = false;
    96    
    97        /*!
    98         *  ======== usePowerManagement ========
    99         *  If set to true, will attempt to include power-management code
   100         *  where applicable. If left undefined, an appropriate default value
   101         *  will be assigned based on the device type.
   102         *
   103         *  This feature may not be available on all devices.
   104         */
   105        config bool usePowerManagement;
   106    
   107    
   108        /*!
   109         *  ======== debug ========
   110         *  Enable the debug profile of the dsplink ipc module.
   111         */
   112        config Bool debug = false;
   113    }
   114    /*
   115     *  @(#) ti.sdo.ce.ipc.dsplink; 2, 0, 1,3; 6-13-2013 00:16:13; /db/atree/library/trees/ce/ce-w08/src/ xlibrary
   116    
   117     */
   118