FreeBSD kernel pms device code
|
#include <osenv.h>
#include <ostypes.h>
#include <osdebug.h>
#include <sa.h>
#include <saapi.h>
#include <saosapi.h>
#include <titypes.h>
#include <ostiapi.h>
#include <tiapi.h>
#include <tiglobal.h>
#include <tdtypes.h>
#include <osstring.h>
#include <tdutil.h>
#include <tdsatypes.h>
#include <tdproto.h>
Go to the source code of this file.
Functions | |
void | TDTraceInit (void) |
osGLOBAL bit32 | ttdssInit (tiRoot_t *tiRoot, tiTargetResource_t *targetResource, tiTdSharedMem_t *tdSharedMem) |
osGLOBAL void | ttdssGetOperatingOptionParams (tiRoot_t *tiRoot, ttdssOperatingOption_t *OperatingOption) |
osGLOBAL void | ttdssGetResource (tiRoot_t *tiRoot, tiTargetResource_t *targetResource) |
osGLOBAL void | ttdssGetTargetParams (tiRoot_t *tiRoot) |
osGLOBAL agBOOLEAN | ttdsaXchgInit (tiRoot_t *tiRoot, ttdsaXchgData_t *ttdsaXchgData, tiTargetMem_t *tgtMem, bit32 maxNumXchgs) |
osGLOBAL void | ttdsaXchgLinkInit (tiRoot_t *tiRoot, ttdsaXchg_t *ttdsaXchg) |
osGLOBAL void | ttdsaXchgFreeStruct (tiRoot_t *tiRoot, ttdsaXchg_t *ttdsaXchg) |
osGLOBAL ttdsaXchg_t * | ttdsaXchgGetStruct (agsaRoot_t *agRoot) |
osGLOBAL void | ttdsaDumpallXchg (tiRoot_t *tiRoot) |
Copyright 2006 PMC-Sierra, Inc.
This file contains initiator IO related functions in TD layer
Definition in file ttdinit.c.
void TDTraceInit | ( | void | ) |
Definition at line 99 of file ttdio.c.
References osti_memset, and TraceData.
Referenced by ttdsaXchgInit().
Definition at line 810 of file ttdinit.c.
References agNULL, TD_XCHG_GET_STATE, tiRoot::tdData, TDLIST_EMPTY, TDLIST_OBJECT_BASE, tdsaRoot_s::tdsaAllShared, tdsaSingleThreadedEnter(), tdsaSingleThreadedLeave(), TI_DBG1, and tdsaContext_s::ttdsaTgt.
osGLOBAL void ttdsaXchgFreeStruct | ( | tiRoot_t * | tiRoot, |
ttdsaXchg_t * | ttdsaXchg | ||
) |
Definition at line 687 of file ttdinit.c.
References agFALSE, tdIORequestBody_s::agIORequest, tdssSMPRequestBody_s::agIORequest, agNULL, agTRUE, ttdsaXchg_s::DeviceData, ttdsaXchg_s::id, ttdsaXchg_s::io_found, ttdsaXchg_s::IORequestBody, ttdsaXchg_s::isAborting, ttdsaXchg_s::isTMRequest, ttdsaDmaMemoryArea_t::length, ttdsaXchg_s::oslayerAborting, osti_memset, ttdsaXchg_s::oustandingIos, ttdsaXchg_s::pTMResp, ttdsaXchg_s::readRspCollapsed, ttdsaXchg_s::resp, ttdsaXchg_s::respLen, ttdsaXchg_s::responseSent, agsaContext_s::sdkData, ttdsaXchg_s::SMPRequestBody, ttdsaXchg_s::smpresp, ttdsaXchg_s::smprespLen, ttdsaXchg_s::statusSent, ttdsaXchg_s::tag, TD_XCHG_CONTEXT_NO_FREED, TD_XCHG_GET_STATE, TD_XCHG_SET_STATE, TD_XCHG_STATE_INACTIVE, tiRoot::tdData, TDLIST_DEQUEUE_THIS, TDLIST_ENQUEUE_AT_TAIL, tdsaRoot_s::tdsaAllShared, tdsaSingleThreadedEnter(), tdsaSingleThreadedLeave(), TI_DBG1, TI_DBG5, ttdsaXchg_s::tiIOToBeAbortedRequest, tdsaContext_s::ttdsaTgt, ttdsaDmaMemoryArea_t::virtAddr, ttdsaXchg_s::wrtRspCollapsed, ttdsaXchg_s::XchgLinks, and ttdsaXchg_s::XchgToBeAborted.
Referenced by tiTGTIOAbort(), ttdsaIOCompleted(), and ttdsaSMPCompleted().
osGLOBAL ttdsaXchg_t * ttdsaXchgGetStruct | ( | agsaRoot_t * | agRoot | ) |
Definition at line 758 of file ttdinit.c.
References agNULL, agsaContext_s::osData, TD_XCHG_CONTEXT_NO_USED, TD_XCHG_GET_STATE, TD_XCHG_SET_STATE, TD_XCHG_STATE_ACTIVE, TD_XCHG_STATE_INACTIVE, TDLIST_DEQUEUE_FROM_HEAD, TDLIST_DEQUEUE_THIS, TDLIST_EMPTY, TDLIST_ENQUEUE_AT_TAIL, TDLIST_OBJECT_BASE, tdsaSingleThreadedEnter(), tdsaSingleThreadedLeave(), TI_DBG1, TI_DBG3, TI_DBG5, tdsaRootOsData_s::tiRoot, and tdsaRootOsData_s::ttdsaTgt.
Referenced by tiTGTIOAbort(), ttdsaSMPReqReceived(), and ttdsaSSPReqReceived().
osGLOBAL agBOOLEAN ttdsaXchgInit | ( | tiRoot_t * | tiRoot, |
ttdsaXchgData_t * | ttdsaXchgData, | ||
tiTargetMem_t * | tgtMem, | ||
bit32 | maxNumXchgs | ||
) |
Definition at line 468 of file ttdinit.c.
References agFALSE, tdIORequestBody_s::agIORequest, tdssSMPRequestBody_s::agIORequest, agNULL, ttdsaXchg_s::agSSPCmndIU, agTRUE, agsaSSPCmdInfoUnit_s::cdb, ttdsaXchg_s::DeviceData, ttdsaXchg_s::id, ttdsaXchg_s::index, ttdsaXchg_s::io_found, tdIORequestBody_s::IOCompletionFunc, ttdsaXchg_s::IORequestBody, tdIORequestBody_s::IOType, ttdsaDmaMemoryArea_t::length, agsaSSPCmdInfoUnit_s::lun, ttdsaXchgData_s::maxNumXchgs, agsaContext_s::osData, ttdsaDmaMemoryArea_t::phyAddrLower, ttdsaDmaMemoryArea_t::phyAddrUpper, tiMem::physAddrLower, tiMem::physAddrUpper, tiTargetScsiCmnd_t::reqCDB, ttdsaXchg_s::resp, ttdsaXchg_s::respLen, ttdsaXchg_s::retries, tiTargetScsiCmnd_t::scsiLun, tiMem::singleElementLength, tdssSMPRequestBody_s::SMPCompletionFunc, ttdsaXchg_s::SMPRequestBody, ttdsaXchg_s::smpresp, ttdsaXchg_s::smprespLen, tdIORequestBody_s::TargetIO, TD_XCHG_CONTEXT_NO_CMD_RCVD, TD_XCHG_CONTEXT_NO_FREED, TD_XCHG_CONTEXT_NO_IO_COMPLETED, TD_XCHG_CONTEXT_NO_SEND_RSP, TD_XCHG_CONTEXT_NO_START_IO, TD_XCHG_CONTEXT_NO_USED, TD_XCHG_SET_STATE, TD_XCHG_STATE_INACTIVE, tiIORequest::tdData, TDLIST_INIT_ELEMENT, TDLIST_INIT_HDR, tiTargetMem::tdMem, TDTraceInit(), TI_DBG5, tdIORequestBody_s::tiIORequest, ttdsaXchg_s::tiTgtScsiCmnd, ttdsaXchg_s::TLR, ttdsaIOCompleted(), ttdsaSMPCompleted(), ttdsaXchgLinkInit(), ttdsaXchg_s::usedEsgl, ttdsaDmaMemoryArea_t::virtAddr, tiMem::virtPtr, ttdsaXchgData_s::xchgBusyList, ttdsaXchgData_s::xchgFreeList, and ttdsaXchg_s::XchgLinks.
Referenced by ttdssInit().
osGLOBAL void ttdsaXchgLinkInit | ( | tiRoot_t * | tiRoot, |
ttdsaXchg_t * | ttdsaXchg | ||
) |
Definition at line 616 of file ttdinit.c.
References agFALSE, tdIORequestBody_s::agIORequest, tdssSMPRequestBody_s::agIORequest, agNULL, agTRUE, ttdsaXchg_s::DeviceData, ttdsaXchg_s::id, ttdsaXchg_s::io_found, ttdsaXchg_s::IORequestBody, ttdsaXchg_s::isAborting, ttdsaXchg_s::isTMRequest, ttdsaDmaMemoryArea_t::length, ttdsaXchg_s::oslayerAborting, osti_memset, ttdsaXchg_s::oustandingIos, ttdsaXchg_s::pTMResp, ttdsaXchg_s::readRspCollapsed, ttdsaXchg_s::resp, ttdsaXchg_s::respLen, ttdsaXchg_s::responseSent, agsaContext_s::sdkData, ttdsaXchg_s::SMPRequestBody, ttdsaXchg_s::smpresp, ttdsaXchg_s::smprespLen, ttdsaXchg_s::statusSent, ttdsaXchg_s::tag, TD_XCHG_CONTEXT_NO_FREED, TD_XCHG_GET_STATE, TD_XCHG_SET_STATE, TD_XCHG_STATE_ACTIVE, TD_XCHG_STATE_INACTIVE, tiRoot::tdData, TDLIST_ENQUEUE_AT_TAIL, tdsaRoot_s::tdsaAllShared, tdsaSingleThreadedEnter(), tdsaSingleThreadedLeave(), TI_DBG1, TI_DBG5, ttdsaXchg_s::tiIOToBeAbortedRequest, tdsaContext_s::ttdsaTgt, ttdsaDmaMemoryArea_t::virtAddr, ttdsaXchg_s::wrtRspCollapsed, ttdsaXchg_s::XchgLinks, and ttdsaXchg_s::XchgToBeAborted.
Referenced by ttdsaXchgInit().
osGLOBAL void ttdssGetOperatingOptionParams | ( | tiRoot_t * | tiRoot, |
ttdssOperatingOption_t * | OperatingOption | ||
) |
Definition at line 170 of file ttdinit.c.
References agNULL, ttdssOperatingOption_s::BlockSize, DEFAULT_BLOCK_SIZE, DEFAULT_KEY_BUFFER_SIZE, DEFAULT_MAX_TARGETS, DEFAULT_TGT_TIMER_TICK, DEFAULT_XCHGS, ttdssOperatingOption_s::MaxTargets, ttdssOperatingOption_s::numXchgs, osti_memset, osti_strncmp, osti_strtoul, ostiGetTransportParam(), TI_DBG5, tiSuccess, and ttdssOperatingOption_s::UsecsPerTick.
Referenced by ttdssGetResource(), and ttdssInit().
osGLOBAL void ttdssGetResource | ( | tiRoot_t * | tiRoot, |
tiTargetResource_t * | targetResource | ||
) |
Definition at line 307 of file ttdinit.c.
References AG_ALIGNSIZE, AG_WORD_ALIGN_ADD, AG_WORD_ALIGN_MASK, agNULL, tiMem::alignment, tiTargetMem::count, tiTargetOption::dynamicCachedMem, tiTargetOption::dynamicDmaMem, tiMem::numElements, tiTargetOption::numLgns, tiTargetOption::numSessions, tiTargetOption::numXchgs, ttdssOperatingOption_s::numXchgs, tiMem::osHandle, tiTargetOption::pageSize, tiMem::physAddrLower, tiMem::physAddrUpper, tiMem::reserved, tiMem::singleElementLength, tiTargetResource_t::targetMem, tiTargetResource_t::targetOption, tiTargetMem::tdMem, TI_CACHED_MEM, TI_DBG4, TI_DMA_MEM, tiMem::totalLength, ttdssGetOperatingOptionParams(), tiMem::type, tiTargetOption::usecsPerTick, ttdssOperatingOption_s::UsecsPerTick, and tiMem::virtPtr.
Referenced by tiCOMGetResource().
Definition at line 459 of file ttdinit.c.
References TI_DBG6.
Referenced by tiCOMPortInit().
osGLOBAL bit32 ttdssInit | ( | tiRoot_t * | tiRoot, |
tiTargetResource_t * | targetResource, | ||
tiTdSharedMem_t * | tdSharedMem | ||
) |
Definition at line 73 of file ttdinit.c.
References agFALSE, agNULL, tdsaRoot_s::autoGoodRSP, DEFAULT_KEY_BUFFER_SIZE, osti_memset, osti_strncmp, osti_strtoul, ostiGetTransportParam(), tiTargetResource_t::targetMem, tiTargetResource_t::targetOption, tiRoot::tdData, tiTargetMem::tdMem, TI_DBG1, TI_DBG5, tiError, tiSuccess, ttdsaXchgInit(), ttdssGetOperatingOptionParams(), tiTargetOption::usecsPerTick, and tiMem::virtPtr.
Referenced by tiCOMInit().