The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/pms/RefTisa/sat/api/tdsmapi.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*******************************************************************************
    2 *Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved. 
    3 *
    4 *Redistribution and use in source and binary forms, with or without modification, are permitted provided 
    5 *that the following conditions are met: 
    6 *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
    7 *following disclaimer. 
    8 *2. Redistributions in binary form must reproduce the above copyright notice, 
    9 *this list of conditions and the following disclaimer in the documentation and/or other materials provided
   10 *with the distribution. 
   11 *
   12 *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 
   13 *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
   14 *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   15 *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
   16 *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 
   17 *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 
   18 *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
   19 *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
   20 *
   21 * $FreeBSD$
   22 *
   23 ********************************************************************************/
   24 /********************************************************************************
   25 *   tmsmapi.h 
   26 *
   27 *   Abstract:   This module contains function prototype of the SAT
   28 *               Module (SM) API callback for initiator.
   29 *******************************************************************************/
   30 
   31 #ifndef TDSMAPI_H
   32 #define TDSMAPI_H
   33 
   34 osGLOBAL void   
   35 tdsmIDCompletedCB(
   36                   smRoot_t   *smRoot,
   37                   smIORequest_t   *smIORequest,
   38                   smDeviceHandle_t   *smDeviceHandle,
   39                   bit32    status,
   40                   void    *IDdata
   41                  );
   42 
   43 osGLOBAL FORCEINLINE void 
   44 tdsmIOCompletedCB(
   45                   smRoot_t   *smRoot,
   46                   smIORequest_t   *smIORequest,
   47                   bit32    status,
   48                   bit32    statusDetail,
   49                   smSenseData_t   *senseData,
   50                   bit32    interruptContext
   51                   );
   52 osGLOBAL void 
   53 tdsmEventCB(
   54                 smRoot_t          *smRoot,
   55                 smDeviceHandle_t  *smDeviceHandle,
   56                 smIntrEventType_t  eventType,
   57                 bit32              eventStatus,
   58                 void              *parm
   59                 );
   60 
   61 osGLOBAL FORCEINLINE void 
   62 tdsmSingleThreadedEnter(
   63                         smRoot_t   *smRoot,
   64                         bit32       syncLockId
   65                        );
   66 
   67 osGLOBAL FORCEINLINE void 
   68 tdsmSingleThreadedLeave(
   69                         smRoot_t   *smRoot,
   70                         bit32       syncLockId
   71                         );
   72 
   73 osGLOBAL FORCEINLINE bit8 
   74 tdsmBitScanForward(
   75                   smRoot_t   *smRoot,
   76                   bit32      *Index,
   77                   bit32       Mask
   78                   );
   79 
   80 #ifdef LINUX_VERSION_CODE
   81 
   82 osGLOBAL FORCEINLINE sbit32 
   83 tdsmInterlockedIncrement(
   84                    smRoot_t        *smRoot,
   85                    sbit32 volatile *Addend
   86                    );
   87 
   88 osGLOBAL FORCEINLINE sbit32 
   89 tdsmInterlockedDecrement(
   90                    smRoot_t         *smRoot,
   91                    sbit32 volatile  *Addend
   92                    );
   93 
   94 osGLOBAL FORCEINLINE sbit32 
   95 tdsmAtomicBitClear(
   96                smRoot_t         *smRoot,
   97                sbit32 volatile  *Destination,
   98                sbit32            Value
   99                );
  100 
  101 osGLOBAL FORCEINLINE sbit32 
  102 tdsmAtomicBitSet(
  103                smRoot_t         *smRoot,
  104                sbit32 volatile  *Destination,
  105                sbit32            Value
  106                );
  107 
  108 osGLOBAL FORCEINLINE sbit32 
  109 tdsmAtomicExchange(
  110                smRoot_t        *smRoot,
  111                sbit32 volatile *Target,
  112                sbit32           Value
  113                );
  114 #else
  115 
  116 osGLOBAL FORCEINLINE sbit32 
  117 tdsmInterlockedIncrement(
  118                    smRoot_t        *smRoot,
  119                    sbit32 volatile *Addend
  120                    );
  121 
  122 osGLOBAL FORCEINLINE sbit32 
  123 tdsmInterlockedDecrement(
  124                    smRoot_t        *smRoot,
  125                    sbit32 volatile *Addend
  126                    );
  127 
  128 osGLOBAL FORCEINLINE sbit32 
  129 tdsmInterlockedAnd(
  130                smRoot_t         *smRoot,
  131                sbit32 volatile  *Destination,
  132                sbit32            Value
  133                );
  134 
  135 osGLOBAL FORCEINLINE sbit32 
  136 tdsmInterlockedOr(
  137                smRoot_t         *smRoot,
  138                sbit32 volatile  *Destination,
  139                sbit32            Value
  140                );
  141 
  142 osGLOBAL FORCEINLINE sbit32 
  143 tdsmInterlockedExchange(
  144                smRoot_t        *smRoot,
  145                sbit32 volatile *Target,
  146                sbit32           Value
  147                );
  148 
  149 #endif /*LINUX_VERSION_CODE*/
  150 
  151 osGLOBAL bit32 
  152 tdsmAllocMemory(
  153                 smRoot_t    *smRoot,
  154                 void        **osMemHandle,
  155                 void        ** virtPtr, 
  156                 bit32       * physAddrUpper,
  157                 bit32       * physAddrLower,
  158                 bit32       alignment,
  159                 bit32       allocLength,
  160                 smBOOLEAN   isCacheable
  161                );
  162 
  163 osGLOBAL bit32 
  164 tdsmFreeMemory(
  165                smRoot_t    *smRoot,
  166                void        *osDMAHandle,
  167                bit32        allocLength
  168               );
  169 
  170 osGLOBAL FORCEINLINE bit32
  171 tdsmRotateQnumber(smRoot_t        *smRoot,
  172                          smDeviceHandle_t *smDeviceHandle
  173                          );
  174 
  175 osGLOBAL bit32
  176 tdsmSetDeviceQueueDepth(smRoot_t      *smRoot,
  177                                  smIORequest_t *smIORequest,
  178                                  bit32          QueueDepth
  179                                  );
  180 
  181 
  182 #ifndef tdsmLogDebugString 
  183 GLOBAL void tdsmLogDebugString(
  184                          smRoot_t     *smRoot,
  185                          bit32        level,
  186                          char         *string,
  187                          void         *ptr1,
  188                          void         *ptr2,
  189                          bit32        value1,
  190                          bit32        value2
  191                          );
  192 #endif
  193 
  194   
  195 
  196 osGLOBAL bit32 tdsmGetTransportParam(
  197                         smRoot_t    *smRoot,
  198                         char        *key,
  199                         char        *subkey1,
  200                         char        *subkey2,
  201                         char        *subkey3,
  202                         char        *subkey4,
  203                         char        *subkey5,
  204                         char        *valueName,
  205                         char        *buffer,
  206                         bit32       bufferLen,
  207                         bit32       *lenReceived
  208                         );
  209 
  210 #endif  /* TDSMAPI_H */
  211 

Cache object: 442600b882492c3d411564f9e30b1cd3


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.