69 DM_DBG3((
"dmCreatePort: start\n"));
73 DM_DBG1((
"dmCreatePort: dmRoot is NULL, wrong!!!\n"));
77 if (dmPortContext ==
agNULL)
79 DM_DBG1((
"dmCreatePort: dmPortContext is NULL, wrong!!!\n"));
86 DM_DBG1((
"dmCreatePort: dmPortContext->dmData is not NULL, wrong, Already created!!!\n"));
92 DM_DBG1((
"dmCreatePort: dmPortInfo is NULL, wrong!!!\n"));
100 DM_DBG1((
"dmCreatePort: dmIntRoot is NULL, wrong!!!\n"));
106 if (dmAllShared ==
agNULL)
108 DM_DBG1((
"dmCreatePort: dmAllShared is NULL, wrong!!!\n"));
118 if (onePortContext ==
agNULL)
120 DM_DBG1((
"dmCreatePort: onePortContext is NULL in allocation, wrong!!!\n"));
124 dmPortContext->
dmData = onePortContext;
128 onePortContext->
dmRoot = dmRoot;
140 DM_DBG3((
"dmCreatePort: pid %d\n", onePortContext->
id));
151 DM_DBG1((
"dmCreatePort: Attention. no more free PortContext!!!\n"));
183 DM_DBG1((
"dmDestroyPort: start\n"));
186 DM_DBG1((
"dmDestroyPort: dmRoot is NULL, wrong!!!\n"));
190 if (dmPortContext ==
agNULL)
192 DM_DBG1((
"dmDestroyPort: dmPortContext is NULL, wrong!!!\n"));
198 DM_DBG1((
"dmDestroyPort: dmPortInfo is NULL, wrong!!!\n"));
206 DM_DBG1((
"dmDestroyPort: dmIntRoot is NULL, wrong!!!\n"));
212 if (dmAllShared ==
agNULL)
214 DM_DBG1((
"dmDestroyPort: dmAllShared is NULL, wrong!!!\n"));
225 if (onePortContext ==
agNULL)
227 DM_DBG1((
"dmDestroyPort: onePortContext is NULL, wrong!!!\n"));
253 DM_DBG3((
"dmDestroyPort: before dmDiscoveryExpanderCleanUp\n"));
259 DM_DBG3((
"dmDestroyPort: after dmDiscoveryExpanderCleanUp\n"));
262 DM_DBG3((
"dmDestroyPort: before dmDiscoveryDeviceCleanUp\n"));
267 DM_DBG3((
"dmDestroyPort: after dmDiscoveryDeviceCleanUp\n"));
280 DM_DBG1((
"dmDestroyPort: onePortContext->MainLink is NULL, wrong!!!\n"));
289 DM_DBG1((
"dmDestroyPort: onePortContext->FreeLink or dmAllShared->FreePortContextList is NULL, wrong!!!\n"));
#define DM_DISCOVERY_OPTION_FULL_START
osGLOBAL bit32 dmCreatePort(dmRoot_t *dmRoot, dmPortContext_t *dmPortContext, dmPortInfo_t *dmPortInfo)
osGLOBAL bit32 dmDestroyPort(dmRoot_t *dmRoot, dmPortContext_t *dmPortContext, dmPortInfo_t *dmPortInfo)
#define DM_DSTATE_COMPLETED
#define DM_DSTATE_NOT_STARTED
#define DM_GET_SAS_ADDRESSLO(sasAddressLo)
#define DM_GET_SAS_ADDRESSHI(sasAddressHi)
#define DM_GET_LINK_RATE(input)
#define DMLIST_DEQUEUE_FROM_HEAD(atHeadHdr, listHdr)
#define DMLIST_NOT_EMPTY(listHdr)
#define DMLIST_DEQUEUE_THIS(hdr)
#define DMLIST_OBJECT_BASE(baseType, fieldName, fieldPtr)
#define DMLIST_ENQUEUE_AT_TAIL(toAddHdr, listHdr)
osGLOBAL void dmPortContextReInit(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDumpAllMainExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoveryDeviceCleanUp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoveryExpanderCleanUp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDumpAllMainDevice(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmCleanAllExp(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
osGLOBAL void dmDiscoverAbort(dmRoot_t *dmRoot, dmIntPortContext_t *onePortContext)
The file defines the constants, data structure, and functions defined by LL API.
The file defines the declaration of tSDK APIs.
The file defines the declaration of OS APIs.
dmList_t FreePortContextList
dmList_t MainPortContextList
dmPortContext_t * dmPortContext
dmIntContext_t dmAllShared
bit8 sasRemoteAddressHi[4]
bit8 sasRemoteAddressLo[4]
bit8 sasLocalAddressHi[4]
bit8 sasLocalAddressLo[4]
osGLOBAL void tddmSingleThreadedLeave(dmRoot_t *dmRoot, bit32 syncLockId)
osGLOBAL void tddmSingleThreadedEnter(dmRoot_t *dmRoot, bit32 syncLockId)