Main Page | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

drvdefs.h

Go to the documentation of this file.
00001 /** ============================================================================
00002  *  @file   drvdefs.h
00003  *
00004  *  @path   $(DSPLINK)/gpp/inc/sys/Linux/
00005  *
00006  *  @brief  Linux module driver interface file.
00007  *
00008  *  @ver    1.65.00.03
00009  *  ============================================================================
00010  *  @copyright Copyright (C) 2002-2009, Texas Instruments Incorporated -
00011  *  http://www.ti.com/
00012  *
00013  *  Redistribution and use in source and binary forms, with or without
00014  *  modification, are permitted provided that the following conditions
00015  *  are met:
00016  *  
00017  *  *  Redistributions of source code must retain the above copyright
00018  *     notice, this list of conditions and the following disclaimer.
00019  *  
00020  *  *  Redistributions in binary form must reproduce the above copyright
00021  *     notice, this list of conditions and the following disclaimer in the
00022  *     documentation and/or other materials provided with the distribution.
00023  *  
00024  *  *  Neither the name of Texas Instruments Incorporated nor the names of
00025  *     its contributors may be used to endorse or promote products derived
00026  *     from this software without specific prior written permission.
00027  *  
00028  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00029  *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
00030  *  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00031  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00032  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00033  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00034  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
00035  *  OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
00036  *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
00037  *  OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
00038  *  EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00039  *  ============================================================================
00040  */
00041 
00042 
00043 #if !defined (DRV_PMGR_H)
00044 #define DRV_PMGR_H
00045 
00046 
00047 #if defined (__cplusplus)
00048 extern "C" {
00049 #endif /* defined (__cplusplus) */
00050 
00051 
00052 #include <linux/ioctl.h>
00053 
00054 /*  ----------------------------------- DSP/BIOS LINK Headers       */
00055 #include <dsplink.h>
00056 #include <_dsplink.h>
00057 #include <procdefs.h>
00058 #include <linkcfgdefs.h>
00059 #include <_idm_usr.h>
00060 #if defined (POOL_COMPONENT)
00061 #include <pooldefs.h>
00062 #endif /* if defined (POOL_COMPONENT) */
00063 #if defined (MSGQ_COMPONENT)
00064 #include <msgqdefs.h>
00065 #endif /* if defined (MSGQ_COMPONENT) */
00066 #if defined (CHNL_COMPONENT)
00067 #include <chnldefs.h>
00068 #endif /* if defined (CHNL_COMPONENT) */
00069 #if defined (RINGIO_COMPONENT)
00070 #include <_ringiodefs.h>
00071 #include <ringiodefs.h>
00072 #endif /* if defined (RINGIO_COMPONENT) */
00073 #if defined (MPCS_COMPONENT)
00074 #include <mpcsdefs.h>
00075 #endif /* if defined (MPCS_COMPONENT) */
00076 #if defined (MPLIST_COMPONENT)
00077 #include <mplistdefs.h>
00078 #endif /* if defined (MPLIST_COMPONENT) */
00079 
00080 /*  ----------------------------------- Profiling                   */
00081 #if defined (DDSP_PROFILE)
00082 #include <profile.h>
00083 #endif /* #if defined (DDSP_PROFILE) */
00084 
00085 /*  ============================================================================
00086  *  @const  GROUP_BASE_CMD
00087  *
00088  *  @brief  Base command id to be used for trap/ioctl.
00089  *  ============================================================================
00090  */
00091 #define GROUP_BASE_CMD                     0xe0
00092 
00093 /*  ============================================================================
00094  *  @const  BASE_CMD
00095  *
00096  *  @brief  Base command id to be used for trap/ioctl.
00097  *  ============================================================================
00098  */
00099 #define BASE_CMD                           0x10
00100 
00101 /*  ============================================================================
00102  *  @macro  CMD_PROC_XXXX
00103  *
00104  *  @brief  Command ids for PROC functions.
00105  *  ============================================================================
00106  */
00107 #define CMD_PROC_SETUP                     _IOWR(GROUP_BASE_CMD,\
00108                                             BASE_CMD + 1u,\
00109                                             CMD_Args)
00110 
00111 #define CMD_PROC_DESTROY                   _IOWR(GROUP_BASE_CMD,\
00112                                             BASE_CMD + 2u,\
00113                                             CMD_Args)
00114 
00115 
00116 #define CMD_PROC_START                     _IOWR(GROUP_BASE_CMD,\
00117                                             BASE_CMD + 3u,\
00118                                             CMD_Args)
00119 
00120 #define CMD_PROC_STOP                      _IOWR(GROUP_BASE_CMD,\
00121                                             BASE_CMD + 4u,\
00122                                             CMD_Args)
00123 
00124 #define CMD_PROC_LOAD                      _IOWR(GROUP_BASE_CMD,\
00125                                             BASE_CMD + 5u,\
00126                                             CMD_Args)
00127 
00128 #define CMD_PROC_LOADSECTION               _IOWR(GROUP_BASE_CMD,\
00129                                             BASE_CMD + 6u,\
00130                                             CMD_Args)
00131 
00132 #define CMD_PROC_DETACH                    _IOWR(GROUP_BASE_CMD,\
00133                                             BASE_CMD + 7u,\
00134                                             CMD_Args)
00135 
00136 #define CMD_PROC_ATTACH                    _IOWR(GROUP_BASE_CMD,\
00137                                             BASE_CMD + 8u,\
00138                                             CMD_Args)
00139 
00140 #define CMD_PROC_GETSTATE                  _IOWR(GROUP_BASE_CMD,\
00141                                             BASE_CMD + 9u,\
00142                                             CMD_Args)
00143 
00144 #define CMD_PROC_CONTROL                   _IOWR(GROUP_BASE_CMD,\
00145                                             BASE_CMD + 10u,\
00146                                             CMD_Args)
00147 
00148 #define CMD_PROC_READ                      _IOWR(GROUP_BASE_CMD,\
00149                                             BASE_CMD + 11u,\
00150                                             CMD_Args)
00151 
00152 #define CMD_PROC_WRITE                     _IOWR(GROUP_BASE_CMD,\
00153                                             BASE_CMD + 12u,\
00154                                             CMD_Args)
00155 
00156 #define CMD_PROC_GETSYMBOLADDRESS          _IOWR(GROUP_BASE_CMD,\
00157                                             BASE_CMD + 13u,\
00158                                             CMD_Args)
00159 
00160 #define CMD_PROC_ISLASTDESTROY             _IOWR(GROUP_BASE_CMD,\
00161                                             BASE_CMD + 14u,\
00162                                             CMD_Args)
00163 
00164 #define CMD_PROC_ISLASTDETACH              _IOWR(GROUP_BASE_CMD,\
00165                                             BASE_CMD + 15u,\
00166                                             CMD_Args)
00167 
00168 
00169 #if defined (DDSP_PROFILE)
00170 #define CMD_PROC_INSTRUMENT                _IOWR(GROUP_BASE_CMD,\
00171                                             BASE_CMD + 16u,\
00172                                             CMD_Args)
00173 
00174 #endif
00175 
00176 #if defined (DDSP_DEBUG)
00177 #define CMD_PROC_DEBUG                     _IOWR(GROUP_BASE_CMD,\
00178                                             BASE_CMD + 17u,\
00179                                             CMD_Args)
00180 
00181 #endif
00182 
00183 #define CMD_PROC_CLEANUP                   _IOWR(GROUP_BASE_CMD,\
00184                                             BASE_CMD + 18u,\
00185                                             CMD_Args)
00186 
00187 #define CMD_PROC_ADDRTRANSLATE             _IOWR(GROUP_BASE_CMD,\
00188                                             BASE_CMD + 19u,\
00189                                             CMD_Args)
00190 
00191 
00192 
00193 #if defined (CHNL_COMPONENT)
00194 /*  ============================================================================
00195  *  @macro  CMD_CHNL_XXXX
00196  *
00197  *  @brief  Command ids for CHNL functions.
00198  *  ============================================================================
00199  */
00200 #define CMD_CHNL_CREATE                    _IOWR(GROUP_BASE_CMD,\
00201                                             BASE_CMD + 20u,\
00202                                             CMD_Args)
00203 
00204 #define CMD_CHNL_DELETE                    _IOWR(GROUP_BASE_CMD,\
00205                                             BASE_CMD + 21u,\
00206                                             CMD_Args)
00207 
00208 #define CMD_CHNL_ISSUE                     _IOWR(GROUP_BASE_CMD,\
00209                                             BASE_CMD + 22u,\
00210                                             CMD_Args)
00211 
00212 #define CMD_CHNL_RECLAIM                   _IOWR(GROUP_BASE_CMD,\
00213                                             BASE_CMD + 23u,\
00214                                             CMD_Args)
00215 
00216 #define CMD_CHNL_ALLOCATEBUFFER            _IOWR(GROUP_BASE_CMD,\
00217                                             BASE_CMD + 24u,\
00218                                             CMD_Args)
00219 
00220 #define CMD_CHNL_FREEBUFFER                _IOWR(GROUP_BASE_CMD,\
00221                                             BASE_CMD + 25u,\
00222                                             CMD_Args)
00223 
00224 #define CMD_CHNL_IDLE                      _IOWR(GROUP_BASE_CMD,\
00225                                             BASE_CMD + 26u,\
00226                                             CMD_Args)
00227 
00228 #define CMD_CHNL_FLUSH                     _IOWR(GROUP_BASE_CMD,\
00229                                             BASE_CMD + 27u,\
00230                                             CMD_Args)
00231 
00232 #define CMD_CHNL_CONTROL                   _IOWR(GROUP_BASE_CMD,\
00233                                             BASE_CMD + 28u,\
00234                                             CMD_Args)
00235 
00236 
00237 
00238 #if defined (DDSP_PROFILE)
00239 #define CMD_CHNL_INSTRUMENT                _IOWR(GROUP_BASE_CMD,\
00240                                             BASE_CMD + 29u,\
00241                                             CMD_Args)
00242 
00243 #endif /* if defined (DDSP_PROFILE) */
00244 
00245 
00246 #if defined (DDSP_DEBUG)
00247 #define CMD_CHNL_DEBUG                     _IOWR(GROUP_BASE_CMD,\
00248                                             BASE_CMD + 30u,\
00249                                             CMD_Args)
00250 
00251 #endif /* if defined (DDSP_DEBUG) */
00252 #endif /* if defined (CHNL_COMPONENT) */
00253 
00254 
00255 /*  ============================================================================
00256  *  @macro  CMD_DRV_XXXX
00257  *
00258  *  @brief  Command ids for DRV specific calls.
00259  *  ============================================================================
00260  */
00261 #if defined (CHNL_COMPONENT)
00262 #define CMD_DRV_GETCHNLMAPTABLE_ADDRESS    _IOWR(GROUP_BASE_CMD,\
00263                                             BASE_CMD + 31u,\
00264                                             CMD_Args)
00265 
00266 #endif /* if defined (CHNL_COMPONENT) */
00267 
00268 
00269 #if defined (MSGQ_COMPONENT)
00270 /*  ============================================================================
00271  *  @macro  CMD_MSGQ_XXXX
00272  *
00273  *  @brief  Command ids for CHNL functions.
00274  *  ============================================================================
00275  */
00276 #define CMD_MSGQ_TRANSPORTOPEN             _IOWR(GROUP_BASE_CMD,\
00277                                             BASE_CMD + 32u,\
00278                                             CMD_Args)
00279 
00280 #define CMD_MSGQ_TRANSPORTCLOSE            _IOWR(GROUP_BASE_CMD,\
00281                                             BASE_CMD + 33u,\
00282                                             CMD_Args)
00283 
00284 #define CMD_MSGQ_OPEN                      _IOWR(GROUP_BASE_CMD,\
00285                                             BASE_CMD + 34u,\
00286                                             CMD_Args)
00287 
00288 #define CMD_MSGQ_CLOSE                     _IOWR(GROUP_BASE_CMD,\
00289                                             BASE_CMD + 35u,\
00290                                             CMD_Args)
00291 
00292 #define CMD_MSGQ_LOCATE                    _IOWR(GROUP_BASE_CMD,\
00293                                             BASE_CMD + 36u,\
00294                                             CMD_Args)
00295 
00296 #define CMD_MSGQ_LOCATEASYNC               _IOWR(GROUP_BASE_CMD,\
00297                                             BASE_CMD + 37u,\
00298                                             CMD_Args)
00299 
00300 #define CMD_MSGQ_RELEASE                   _IOWR(GROUP_BASE_CMD,\
00301                                             BASE_CMD + 38u,\
00302                                             CMD_Args)
00303 
00304 #define CMD_MSGQ_ALLOC                     _IOWR(GROUP_BASE_CMD,\
00305                                             BASE_CMD + 39u,\
00306                                             CMD_Args)
00307 
00308 #define CMD_MSGQ_FREE                      _IOWR(GROUP_BASE_CMD,\
00309                                             BASE_CMD + 40u,\
00310                                             CMD_Args)
00311 
00312 #define CMD_MSGQ_PUT                       _IOWR(GROUP_BASE_CMD,\
00313                                             BASE_CMD + 41u,\
00314                                             CMD_Args)
00315 
00316 #define CMD_MSGQ_GET                       _IOWR(GROUP_BASE_CMD,\
00317                                             BASE_CMD + 42u,\
00318                                             CMD_Args)
00319 
00320 #define CMD_MSGQ_SETERRORHANDLER           _IOWR(GROUP_BASE_CMD,\
00321                                             BASE_CMD + 43u,\
00322                                             CMD_Args)
00323 
00324 #define CMD_MSGQ_COUNT                     _IOWR(GROUP_BASE_CMD,\
00325                                             BASE_CMD + 44u,\
00326                                             CMD_Args)
00327 
00328 
00329 
00330 #if defined (DDSP_PROFILE)
00331 #define CMD_MSGQ_INSTRUMENT                _IOWR(GROUP_BASE_CMD,\
00332                                             BASE_CMD + 45u,\
00333                                             CMD_Args)
00334 
00335 #endif /* if defined (DDSP_PROFILE) */
00336 
00337 
00338 #if defined (DDSP_DEBUG)
00339 #define CMD_MSGQ_DEBUG                     _IOWR(GROUP_BASE_CMD,\
00340                                             BASE_CMD + 46u,\
00341                                             CMD_Args)
00342 
00343 #endif /* if defined (DDSP_DEBUG) */
00344 
00345 
00346 #endif /* if defined (MSGQ_COMPONENT) */
00347 
00348 /*  ============================================================================
00349  *  @macro  CMD_POOL_XXXX
00350  *
00351  *  @brief  Command ids for POOL.
00352  *  ============================================================================
00353  */
00354 #define CMD_POOL_OPEN                      _IOWR(GROUP_BASE_CMD,\
00355                                             BASE_CMD + 47u,\
00356                                             CMD_Args)
00357 
00358 #define CMD_POOL_CLOSE                     _IOWR(GROUP_BASE_CMD,\
00359                                             BASE_CMD + 48u,\
00360                                             CMD_Args)
00361 
00362 #define CMD_POOL_ALLOC                     _IOWR(GROUP_BASE_CMD,\
00363                                             BASE_CMD + 49u,\
00364                                             CMD_Args)
00365 
00366 #define CMD_POOL_FREE                      _IOWR(GROUP_BASE_CMD,\
00367                                             BASE_CMD + 50u,\
00368                                             CMD_Args)
00369 
00370 #define CMD_POOL_TRANSLATEADDR             _IOWR(GROUP_BASE_CMD,\
00371                                             BASE_CMD + 51u,\
00372                                             CMD_Args)
00373 
00374 #define CMD_POOL_RECONFIGURE               _IOWR(GROUP_BASE_CMD,\
00375                                             BASE_CMD + 52u,\
00376                                             CMD_Args)
00377 
00378 #define CMD_POOL_WRITEBACK                 _IOWR(GROUP_BASE_CMD,\
00379                                             BASE_CMD + 53u,\
00380                                             CMD_Args)
00381 
00382 #define CMD_POOL_INVALIDATE                _IOWR(GROUP_BASE_CMD,\
00383                                             BASE_CMD + 54u,\
00384                                             CMD_Args)
00385 
00386 
00387 #if defined (MPCS_COMPONENT)
00388 /*  ============================================================================
00389  *  @macro  CMD_MPCS_XXXX
00390  *
00391  *  @brief  Command ids for MPCS.
00392  *  ============================================================================
00393  */
00394 #define CMD_MPCS_MAPREGION                 _IOWR(GROUP_BASE_CMD,\
00395                                             BASE_CMD + 55u,\
00396                                             CMD_Args)
00397 
00398 #define CMD_MPCS_UNMAPREGION               _IOWR(GROUP_BASE_CMD,\
00399                                             BASE_CMD + 56u,\
00400                                             CMD_Args)
00401 
00402 #endif /* if defined (MPCS_COMPONENT) */
00403 
00404 /*  ============================================================================
00405  *  @macro  CMD_NOTIFY_XXXX
00406  *
00407  *  @brief  Command ids for NOTIFY.
00408  *  ============================================================================
00409  */
00410 #define CMD_NOTIFY_INITIALIZE              _IOWR(GROUP_BASE_CMD,\
00411                                             BASE_CMD + 57u,\
00412                                             CMD_Args)
00413 
00414 #define CMD_NOTIFY_FINALIZE                _IOWR(GROUP_BASE_CMD,\
00415                                             BASE_CMD + 58u,\
00416                                             CMD_Args)
00417 
00418 #define CMD_NOTIFY_REGISTER                _IOWR(GROUP_BASE_CMD,\
00419                                             BASE_CMD + 59u,\
00420                                             CMD_Args)
00421 
00422 #define CMD_NOTIFY_UNREGISTER              _IOWR(GROUP_BASE_CMD,\
00423                                             BASE_CMD + 60u,\
00424                                             CMD_Args)
00425 
00426 #define CMD_NOTIFY_NOTIFY                  _IOWR(GROUP_BASE_CMD,\
00427                                             BASE_CMD + 61u,\
00428                                             CMD_Args)
00429 
00430 
00431 #if defined (DDSP_PROFILE)
00432 #define CMD_NOTIFY_INSTRUMENT              _IOWR(GROUP_BASE_CMD,\
00433                                             BASE_CMD + 62u,\
00434                                             CMD_Args)
00435 
00436 #endif
00437 
00438 /*  ============================================================================
00439  *  @macro  CMD_RINGIO_XXXX
00440  *
00441  *  @brief  Command ids for RINGIO.
00442  *  ============================================================================
00443  */
00444 #define CMD_RINGIO_MAPREGION               _IOWR(GROUP_BASE_CMD,\
00445                                             BASE_CMD + 63u,\
00446                                             CMD_Args)
00447 
00448 #define CMD_RINGIO_UNMAPREGION             _IOWR(GROUP_BASE_CMD,\
00449                                             BASE_CMD + 64u,\
00450                                             CMD_Args)
00451 
00452 
00453 /*  ============================================================================
00454  *  @macro  CMD_MPLIST_XXXX
00455  *
00456  *  @brief  Command ids for MPLIST.
00457  *  ============================================================================
00458  */
00459 #define CMD_MPLIST_MAPREGION               _IOWR(GROUP_BASE_CMD,\
00460                                             BASE_CMD + 65u,\
00461                                             CMD_Args)
00462 
00463 #define CMD_MPLIST_UNMAPREGION             _IOWR(GROUP_BASE_CMD,\
00464                                             BASE_CMD + 66u,\
00465                                             CMD_Args)
00466 
00467 
00468 /*  ============================================================================
00469  *  @macro  CMD_IDM_XXXX
00470  *
00471  *  @brief  Command ids for IDM component.
00472  *  ============================================================================
00473  */
00474 #define CMD_IDM_INIT                       _IOWR(GROUP_BASE_CMD,\
00475                                             BASE_CMD + 67u,\
00476                                             CMD_Args)
00477 
00478 #define CMD_IDM_EXIT                       _IOWR(GROUP_BASE_CMD,\
00479                                             BASE_CMD + 68u,\
00480                                             CMD_Args)
00481 
00482 #define CMD_IDM_CREATE                     _IOWR(GROUP_BASE_CMD,\
00483                                             BASE_CMD + 69u,\
00484                                             CMD_Args)
00485 
00486 #define CMD_IDM_DELETE                     _IOWR(GROUP_BASE_CMD,\
00487                                             BASE_CMD + 70u,\
00488                                             CMD_Args)
00489 
00490 #define CMD_IDM_ACQUIREID                  _IOWR(GROUP_BASE_CMD,\
00491                                             BASE_CMD + 71u,\
00492                                             CMD_Args)
00493 
00494 #define CMD_IDM_RELEASEID                  _IOWR(GROUP_BASE_CMD,\
00495                                             BASE_CMD + 72u,\
00496                                             CMD_Args)
00497 
00498 
00499 /** ============================================================================
00500  *  @macro  DRV_INITIALIZE
00501  *
00502  *  @brief  OS dependent definition of initialization function.
00503  *  ============================================================================
00504  */
00505 #define DRV_INITIALIZE(handle)         DRV_Initialize (handle, NULL)
00506 
00507 /** ============================================================================
00508  *  @macro  DRV_FINALIZE
00509  *
00510  *  @brief  OS dependent definition of finalization function.
00511  *  ============================================================================
00512  */
00513 #define DRV_FINALIZE(handle)           DRV_Finalize (handle, NULL)
00514 
00515 /** ============================================================================
00516  *  @macro  DRV_INVOKE
00517  *
00518  *  @brief  OS dependent definition to call functions through ioctl's.
00519  *  ============================================================================
00520  */
00521 #define DRV_INVOKE(handle,cmd,arg1)    DRV_Invoke (handle, cmd, arg1, NULL)
00522 
00523 
00524 /** ============================================================================
00525  *  @name   CMD_Args
00526  *
00527  *  @brief  Union defining arguments to be passed to ioctl calls. For the
00528  *          explanation of individual field please see the corresponding APIs.
00529 
00530  *  @param  apiStatus
00531  *              Status returned by this API.
00532  *          apiArgs
00533  *              Union representing arguments for different APIs.
00534  *  ============================================================================
00535  */
00536 typedef struct CMD_Args_tag {
00537     DSP_STATUS apiStatus ;
00538     union {
00539         struct {
00540             LINKCFG_Object * linkCfg ;
00541         } procSetupArgs ;
00542 
00543         struct {
00544             Char8 dummy ;
00545         } procDestroyArgs ;
00546 
00547         struct {
00548             ProcessorId     procId ;
00549         } procStartArgs ;
00550 
00551         struct {
00552             ProcessorId     procId ;
00553         } procStopArgs ;
00554 
00555         struct {
00556             ProcessorId     procId     ;
00557             Char8 *         symbolName ;
00558             Uint32 *        dspAddr    ;
00559         } procGetSymbolAddressArgs ;
00560 
00561         struct {
00562             ProcessorId     procId ;
00563             PROC_Attrs *    attr   ;
00564         } procAttachArgs ;
00565 
00566         struct {
00567             ProcessorId    procId ;
00568         } procDetachArgs ;
00569 
00570         struct {
00571             ProcessorId    procId    ;
00572             Char8 *        imagePath ;
00573             Uint32         argc      ;
00574             Char8 **       argv      ;
00575         } procLoadArgs ;
00576 
00577         struct {
00578             ProcessorId    procId   ;
00579             Uint32         dspAddr  ;
00580             Uint32         numBytes ;
00581             Pvoid          buffer   ;
00582         } procReadArgs ;
00583 
00584         struct {
00585             ProcessorId    procId   ;
00586             Uint32         dspAddr  ;
00587             Uint32         numBytes ;
00588             Pvoid          buffer   ;
00589         } procWriteArgs ;
00590 
00591         struct {
00592             ProcessorId     procId    ;
00593             PROC_State *    procState ;
00594         } procGetStateArgs ;
00595 
00596         struct {
00597             ProcessorId     procId ;
00598             Int32           cmd    ;
00599             Pvoid           arg    ;
00600         } procControlArgs ;
00601 
00602         struct {
00603             ProcessorId     procId    ;
00604             Char8 *         imagePath ;
00605             Uint32          sectID    ;
00606         } procLoadSectionArgs ;
00607 
00608         struct {
00609             Bool            lastDestroy ;
00610         } procIsLastDestroyArgs ;
00611 
00612         struct {
00613             ProcessorId     procId     ;
00614             Bool            lastDetach ;
00615         } procIsLastDetachArgs ;
00616 
00617 #if defined (DDSP_PROFILE)
00618         struct {
00619             ProcessorId        procId    ;
00620             PROC_Instrument *  procStats ;
00621         } procInstrumentArgs ;
00622 #endif
00623 
00624 #if defined (DDSP_DEBUG)
00625         struct {
00626             ProcessorId       procId ;
00627         } procDebugArgs ;
00628 #endif
00629 
00630         struct {
00631             ProcessorId     procId  ;
00632             Uint32          bufAddr ;
00633             Uint32 *        physAddr ;
00634         } procAddrTranslateArgs ;
00635 
00636 #if defined (CHNL_COMPONENT)
00637         struct {
00638             ProcessorId     procId ;
00639             ChannelId       chnlId ;
00640             ChannelAttrs *  attrs  ;
00641         } chnlCreateArgs ;
00642 
00643         struct {
00644             ProcessorId     procId ;
00645             ChannelId       chnlId ;
00646         } chnlDeleteArgs ;
00647 
00648         struct {
00649             ProcessorId     procId ;
00650             ChannelId       chnlId ;
00651             ChannelIOInfo * ioReq  ;
00652         } chnlIssueArgs ;
00653 
00654         struct {
00655             ProcessorId     procId  ;
00656             ChannelId       chnlId  ;
00657             Uint32          timeout ;
00658             ChannelIOInfo * ioReq   ;
00659         } chnlReclaimArgs ;
00660 
00661         struct {
00662             ProcessorId     procId   ;
00663             ChannelId       chnlId   ;
00664             Char8 **        bufArray ;
00665             Uint32          size     ;
00666             Uint32          numBufs  ;
00667         } chnlAllocateBufferArgs ;
00668 
00669         struct {
00670             ProcessorId     procId   ;
00671             ChannelId       chnlId   ;
00672             Char8 **        bufArray ;
00673             Uint32          numBufs  ;
00674         } chnlFreeBufferArgs ;
00675 
00676         struct {
00677             ProcessorId     procId ;
00678             ChannelId       chnlId ;
00679         } chnlFlushArgs ;
00680 
00681         struct {
00682             ProcessorId     procId ;
00683             ChannelId       chnlId ;
00684         } chnlIdleArgs ;
00685 
00686         struct {
00687             ProcessorId     procId ;
00688             ChannelId       chnlId ;
00689             Int32           cmd    ;
00690             Pvoid           arg    ;
00691         } chnlControlArgs ;
00692 
00693 #if defined (DDSP_PROFILE)
00694         struct {
00695             ProcessorId       procId    ;
00696             ChannelId         chnlId    ;
00697             CHNL_Instrument * chnlStats ;
00698         } chnlInstrumentArgs ;
00699 #endif
00700 
00701 #if defined (DDSP_DEBUG)
00702         struct {
00703             ProcessorId       procId ;
00704             ChannelId         chnlId ;
00705         } chnlDebugArgs ;
00706 #endif
00707 #endif /* if defined (CHNL_COMPONENT) */
00708 
00709         struct {
00710             Void * phyAddr ;
00711         } drvPhyAddrArgs ;
00712 
00713 #if defined (MSGQ_COMPONENT)
00714         struct {
00715             ProcessorId procId ;
00716             Pvoid       attrs ;
00717         } msgqTransportOpenArgs ;
00718 
00719         struct {
00720             ProcessorId procId ;
00721         } msgqTransportCloseArgs ;
00722 
00723         struct {
00724             Pstr         queueName ;
00725             MSGQ_Queue * msgqQueue ;
00726             MSGQ_Attrs * attrs ;
00727         } msgqOpenArgs ;
00728 
00729         struct {
00730             MSGQ_Queue   msgqQueue ;
00731         } msgqCloseArgs ;
00732 
00733         struct {
00734             Pstr                 queueName ;
00735             MSGQ_Queue *         msgqQueue ;
00736             MSGQ_LocateAttrs *   attrs ;
00737         } msgqLocateArgs ;
00738 
00739         struct {
00740             Pstr                     queueName ;
00741             MSGQ_Queue               replyQueue ;
00742             MSGQ_LocateAsyncAttrs *  attrs ;
00743         } msgqLocateAsyncArgs ;
00744 
00745         struct {
00746             MSGQ_Queue   msgqQueue ;
00747         } msgqReleaseArgs ;
00748 
00749         struct {
00750             PoolId      poolId ;
00751             Uint16      size ;
00752             Uint32      msgAddr ;
00753         } msgqAllocArgs ;
00754 
00755         struct {
00756             MSGQ_Msg     msg ;
00757         } msgqFreeArgs ;
00758 
00759         struct {
00760             MSGQ_Queue   msgqQueue ;
00761             MSGQ_Msg     msg ;
00762         } msgqPutArgs ;
00763 
00764         struct {
00765             Uint32      poolId ;
00766             MSGQ_Queue  msgqQueue ;
00767             Uint32      timeout ;
00768             Uint32      msgAddr ;
00769         } msgqGetArgs ;
00770 
00771         struct {
00772             MSGQ_Queue  errorQueue ;
00773             PoolId      poolId  ;
00774         } msgqSetErrorHandlerArgs ;
00775 
00776         struct {
00777             MSGQ_Queue  msgqQueue ;
00778             Uint16 *    count  ;
00779         } msgqCountArgs ;
00780 
00781 #if defined (DDSP_PROFILE)
00782         struct {
00783             MSGQ_Queue          msgqQueue ;
00784             MSGQ_Instrument *   retVal ;
00785         } msgqInstrumentArgs ;
00786 #endif /* if defined (DDSP_PROFILE) */
00787 
00788 #if defined (DDSP_DEBUG)
00789         struct {
00790             MSGQ_Queue msgqQueue ;
00791         } msgqDebugArgs ;
00792 #endif /* if defined (DDSP_DEBUG) */
00793 #endif /* if defined (MSGQ_COMPONENT) */
00794 
00795         struct {
00796             PoolId poolId ;
00797             Pvoid  params ;
00798         } poolOpenArgs ;
00799 
00800         struct {
00801             PoolId poolId ;
00802         } poolCloseArgs ;
00803 
00804 #if defined (POOL_COMPONENT)
00805         struct {
00806             PoolId  poolId ;
00807             Uint32  size ;
00808             Pvoid * bufPtr ;
00809         } poolAllocArgs ;
00810 
00811         struct {
00812             PoolId  poolId ;
00813             Uint32  size ;
00814             Pvoid   bufPtr ;
00815         } poolFreeArgs ;
00816 
00817         struct {
00818             PoolId           poolId ;
00819             Pvoid *          dstAddr ;
00820             AddrType         dstAddrType ;
00821             Pvoid            srcAddr ;
00822             AddrType         srcAddrType ;
00823         } poolTranslateAddrArgs ;
00824 
00825         struct {
00826             PoolId  poolId ;
00827             Uint32  size ;
00828             Pvoid   bufPtr ;
00829         } poolWBArgs ;
00830 
00831         struct {
00832             PoolId  poolId ;
00833             Uint32  size ;
00834             Pvoid   bufPtr ;
00835         } poolInvArgs ;
00836 #endif /* #if defined (POOL_COMPONENT) */
00837 
00838 #if defined (RINGIO_COMPONENT)
00839         struct {
00840             RingIO_MemInfo ringioRegionArgs ;
00841         } ringIoArgs ;
00842 #endif /* if defined (RINGIO_COMPONENT) */
00843 
00844 #if defined (MPLIST_COMPONENT)
00845         struct {
00846             MPLIST_MemInfo mplistRegionArgs ;
00847         } mplistArgs ;
00848 #endif /* if defined (MPLIST_COMPONENT) */
00849 
00850 #if defined (MPCS_COMPONENT)
00851         struct {
00852             MPCS_MemInfo  mpcsRegionArgs ;
00853         } mpcsMapArgs ;
00854 #endif /* if defined (MPCS_COMPONENT) */
00855 
00856 #if defined (NOTIFY_COMPONENT)
00857         struct {
00858             ProcessorId dspId ;
00859         } notifyInitializeArgs ;
00860 
00861         struct {
00862             ProcessorId dspId ;
00863         } notifyFinalizeArgs ;
00864 
00865         struct {
00866             ProcessorId dspId ;
00867             Uint32      ipsId ;
00868             Uint32      eventNo ;
00869             Pvoid       fnNotifyCbck ;
00870             Pvoid       cbckArg ;
00871         } notifyRegisterArgs ;
00872 
00873         struct {
00874             ProcessorId dspId ;
00875             Uint32      ipsId ;
00876             Uint32      eventNo ;
00877             Pvoid       fnNotifyCbck ;
00878             Pvoid       cbckArg ;
00879         } notifyUnregisterArgs ;
00880 
00881         struct {
00882             ProcessorId dspId ;
00883             Uint32      ipsId ;
00884             Uint32      eventNo ;
00885             Uint32      payload ;
00886         } notifyNotifyArgs ;
00887 #endif /* #if defined (NOTIFY_COMPONENT) */
00888 
00889 #if defined (DDSP_PROFILE)
00890         struct {
00891             ProcessorId       dspId    ;
00892             Uint32            ipsId    ;
00893             IPS_Instrument *  ipsStats ;
00894         } ipsInstrumentArgs ;
00895 #endif
00896 
00897         struct {
00898             Uint32      key ;
00899             IDM_Attrs * attrs ;
00900         } idmCreateArgs ;
00901 
00902         struct {
00903             Uint32      key ;
00904         } idmDeleteArgs ;
00905 
00906         struct {
00907             Uint32      key ;
00908             Pstr        idKey ;
00909             Uint32 *    id ;
00910         } idmAcquireIdArgs ;
00911 
00912         struct {
00913             Uint32      key ;
00914             Uint32      id ;
00915         } idmReleaseIdArgs ;
00916     } apiArgs ;
00917 } CMD_Args ;
00918 
00919 
00920 #if defined (__cplusplus)
00921 }
00922 #endif /* defined (__cplusplus) */
00923 
00924 
00925 #endif /* !define (DRV_PMGR_H) */

Generated on Fri Jul 16 14:34:02 2010 for DSP/BIOSLink by  doxygen 1.4.4