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 * smapi.h
26 *
27 * Abstract: This module contains function prototype of the SAT
28 * Module (SM) API for initiator.
29 *******************************************************************************/
30
31 #ifndef SMAPI_H
32 #define SMAPI_H
33
34 #include <dev/pms/RefTisa/sat/api/sm.h>
35 #include <dev/pms/RefTisa/sallsdk/api/sa.h>
36
37 osGLOBAL bit32
38 smRegisterDevice(
39 smRoot_t *smRoot,
40 agsaDevHandle_t *agDevHandle,
41 smDeviceHandle_t *smDeviceHandle,
42 agsaDevHandle_t *agExpDevHandle,
43 bit32 phyID,
44 bit32 DeviceType
45 );
46
47 osGLOBAL bit32
48 smDeregisterDevice(
49 smRoot_t *smRoot,
50 agsaDevHandle_t *agDevHandle,
51 smDeviceHandle_t *smDeviceHandle
52 );
53
54 osGLOBAL void
55 smGetRequirements(
56 smRoot_t *smRoot,
57 smSwConfig_t *swConfig,
58 smMemoryRequirement_t *memoryRequirement,
59 bit32 *usecsPerTick,
60 bit32 *maxNumLocks
61 );
62
63 osGLOBAL bit32
64 smIDStart(
65 smRoot_t *smRoot,
66 smIORequest_t *smIORequest,
67 smDeviceHandle_t *smDeviceHandle
68 );
69
70 osGLOBAL bit32
71 smInitialize(
72 smRoot_t *smRoot,
73 agsaRoot_t *agRoot,
74 smMemoryRequirement_t *memoryAllocated,
75 smSwConfig_t *swConfig,
76 bit32 usecsPerTick
77 );
78
79 osGLOBAL bit32
80 smIOAbort(
81 smRoot_t *smRoot,
82 smIORequest_t *tasktag
83 );
84
85 osGLOBAL bit32
86 smIOAbortAll(
87 smRoot_t *smRoot,
88 smDeviceHandle_t *smDeviceHandle
89 );
90
91 osGLOBAL FORCEINLINE bit32
92 smIOStart(
93 smRoot_t *smRoot,
94 smIORequest_t *smIORequest,
95 smDeviceHandle_t *smDeviceHandle,
96 smScsiInitiatorRequest_t *smSCSIRequest,
97 bit32 interruptContext
98 );
99
100 osGLOBAL bit32
101 smSuperIOStart(
102 smRoot_t *smRoot,
103 smIORequest_t *smIORequest,
104 smDeviceHandle_t *smDeviceHandle,
105 smSuperScsiInitiatorRequest_t *smSCSIRequest,
106 bit32 AddrHi,
107 bit32 AddrLo,
108 bit32 interruptContext
109 );
110
111 osGLOBAL bit32
112 smTaskManagement(
113 smRoot_t *smRoot,
114 smDeviceHandle_t *smDeviceHandle,
115 bit32 task,
116 smLUN_t *lun,
117 smIORequest_t *taskTag,
118 smIORequest_t *currentTaskTag
119 );
120
121 #endif /* SMAPI_H */
122
Cache object: 7d4d047c0a84109bdbee924880b5bbd2
|