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/tisa/sassata/sas/tgt/ttdtxchg.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 ********************************************************************************/
   22 /*******************************************************************************/
   23 /** \file
   24  *
   25  * $RCSfile: ttdtxchg.h,v $
   26  *
   27  * Copyright 2006 PMC-Sierra, Inc.
   28  *
   29  *
   30  * #define and data structures for SAS target in SAS/SATA TD layer
   31  *
   32  */
   33 
   34 typedef struct sas_resp_s
   35 {
   36   agsaSSPResponseInfoUnit_t    agResp;
   37   bit8                         RespData[4];
   38   bit8                         SenseData[64]; 
   39 } sas_resp_t;
   40 
   41 typedef struct smp_resp_s
   42 {
   43   bit8                         RespData[1024]; /* SAS Spec */
   44 } smp_resp_t;
   45 
   46 
   47 typedef struct
   48 {
   49   bit8   *virtAddr;
   50   bit32  phyAddrUpper;
   51   bit32  phyAddrLower;
   52   bit32  length;
   53 } ttdsaDmaMemoryArea_t;
   54 
   55 struct tdsaDeviceData_s;
   56 
   57 /* I/O structurre */
   58 typedef struct ttdsaXchg_s
   59 {
   60 
   61   tdIORequestBody_t              IORequestBody; /* has to be at the top */
   62   tdssSMPRequestBody_t           SMPRequestBody; /* has to be at the second top */
   63 
   64   tdList_t                       XchgLinks;
   65   /* pointer to device(initiator) for which the I/O was initiated */
   66   struct tdsaDeviceData_s        *DeviceData;
   67   struct ttdsaXchg_s             *pTMResp;
   68   bit32                          oustandingIos;
   69   bit32                          isAborting;
   70   bit32                          oslayerAborting;
   71   bit32                          isTMRequest;
   72   bit32                          index;         /* index of structure */
   73   agsaSSPCmdInfoUnit_t           agSSPCmndIU;
   74   agsaSSPScsiTaskMgntReq_t       agTMIU;
   75   /* SSPTargetRead/SSPTargetWrite             */
   76   bit32                          XchType;
   77   bit32                          FrameType; /* cmnd or TM */
   78   agsaRoot_t                     *agRoot;
   79   tiRoot_t                       *tiRoot;
   80   /* indicates that at the completion of this data phase, this
   81      exchange structure will be freed */
   82   bit32                          statusSent;
   83   bit32                          responseSent;
   84   bit32                          readRspCollapsed : 1;
   85   bit32                          wrtRspCollapsed : 1;
   86   bit32                          readWrtCollapsedRes : 30;
   87   tiTargetScsiCmnd_t             tiTgtScsiCmnd;
   88 
   89   /* initiator tag a target received */
   90   bit16                          tag;
   91   bit64                          dataLen;
   92   bit32                          respLen;
   93   bit32                          smprespLen;
   94   ttdsaDmaMemoryArea_t           resp; /* sas response */
   95   ttdsaDmaMemoryArea_t           smpresp; /* sas smp response */
   96   bit32                          usedEsgl;
   97   /* for abort task io which is not founded in TD */
   98   bit32                          io_found;
   99   /* for debugging only */
  100   bit32                          id;
  101   /* PhyId for SMP*/
  102   bit32                          SMPphyId;
  103   bit32                          state;
  104   bit32                          TLR; /* Transport Layer Retransmit bits */
  105   bit32                          retries; /* retries */
  106   tiIORequest_t                  *tiIOToBeAbortedRequest; /* IO to be aborted */
  107   struct ttdsaXchg_s             *XchgToBeAborted; /* Xchg to be aborted */
  108 } ttdsaXchg_t;
  109 
  110 /*************************************************************************
  111 ** now ttdssIOData_t and old tgtXchgData_t -
  112 **************************************************************************/
  113 
  114 typedef struct ttdsaXchgData_s
  115 {
  116   bit32           maxNumXchgs;
  117   tdList_t        xchgFreeList;
  118   tdList_t        xchgBusyList;
  119   bit32           noUsed;
  120   bit32           noFreed;
  121   bit32           noCmdRcvd;
  122   bit32           noStartIo;
  123   bit32           noSendRsp;
  124   bit32           noCompleted;
  125 } ttdsaXchgData_t;
  126 
  127 

Cache object: 480fa0c0dc5b5b30dbca0c251527e26b


[ 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.