xref: /freebsd/sys/dev/pms/RefTisa/sallsdk/api/saapi.h (revision 4e1bc9a039df516be13abb902ab76677fef81b1d)
1*4e1bc9a0SAchim Leubner /*******************************************************************************
2*4e1bc9a0SAchim Leubner *Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved.
3*4e1bc9a0SAchim Leubner *
4*4e1bc9a0SAchim Leubner *Redistribution and use in source and binary forms, with or without modification, are permitted provided
5*4e1bc9a0SAchim Leubner *that the following conditions are met:
6*4e1bc9a0SAchim Leubner *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7*4e1bc9a0SAchim Leubner *following disclaimer.
8*4e1bc9a0SAchim Leubner *2. Redistributions in binary form must reproduce the above copyright notice,
9*4e1bc9a0SAchim Leubner *this list of conditions and the following disclaimer in the documentation and/or other materials provided
10*4e1bc9a0SAchim Leubner *with the distribution.
11*4e1bc9a0SAchim Leubner *
12*4e1bc9a0SAchim Leubner *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13*4e1bc9a0SAchim Leubner *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14*4e1bc9a0SAchim Leubner *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15*4e1bc9a0SAchim Leubner *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16*4e1bc9a0SAchim Leubner *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17*4e1bc9a0SAchim Leubner *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18*4e1bc9a0SAchim Leubner *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19*4e1bc9a0SAchim Leubner *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20*4e1bc9a0SAchim Leubner *
21*4e1bc9a0SAchim Leubner * $FreeBSD$
22*4e1bc9a0SAchim Leubner *
23*4e1bc9a0SAchim Leubner ********************************************************************************/
24*4e1bc9a0SAchim Leubner /*******************************************************************************/
25*4e1bc9a0SAchim Leubner /*! \file saapi.h
26*4e1bc9a0SAchim Leubner  *  \brief The file defines the declaration of tSDK APIs
27*4e1bc9a0SAchim Leubner  *
28*4e1bc9a0SAchim Leubner  *
29*4e1bc9a0SAchim Leubner  *
30*4e1bc9a0SAchim Leubner  *
31*4e1bc9a0SAchim Leubner  */
32*4e1bc9a0SAchim Leubner /******************************************************************************/
33*4e1bc9a0SAchim Leubner 
34*4e1bc9a0SAchim Leubner #ifndef  __SSDKAPI_H__
35*4e1bc9a0SAchim Leubner #define __SSDKAPI_H__
36*4e1bc9a0SAchim Leubner 
37*4e1bc9a0SAchim Leubner /********************************************************************************
38*4e1bc9a0SAchim Leubner  *                             SA LL Function Declaration                       *
39*4e1bc9a0SAchim Leubner  ********************************************************************************/
40*4e1bc9a0SAchim Leubner 
41*4e1bc9a0SAchim Leubner /***************************************************************************
42*4e1bc9a0SAchim Leubner  * Definition of interrupt related functions start                         *
43*4e1bc9a0SAchim Leubner  ***************************************************************************/
44*4e1bc9a0SAchim Leubner 
45*4e1bc9a0SAchim Leubner 
46*4e1bc9a0SAchim Leubner GLOBAL bit32 FORCEINLINE saDelayedInterruptHandler(
47*4e1bc9a0SAchim Leubner                               agsaRoot_t  *agRoot,
48*4e1bc9a0SAchim Leubner                               bit32       interruptVectorIndex,
49*4e1bc9a0SAchim Leubner                               bit32       count
50*4e1bc9a0SAchim Leubner                               );
51*4e1bc9a0SAchim Leubner 
52*4e1bc9a0SAchim Leubner GLOBAL bit32 FORCEINLINE saInterruptHandler(
53*4e1bc9a0SAchim Leubner                               agsaRoot_t  *agRoot,
54*4e1bc9a0SAchim Leubner                               bit32       interruptVectorIndex
55*4e1bc9a0SAchim Leubner                               );
56*4e1bc9a0SAchim Leubner 
57*4e1bc9a0SAchim Leubner GLOBAL void saSystemInterruptsActive(
58*4e1bc9a0SAchim Leubner                               agsaRoot_t  *agRoot,
59*4e1bc9a0SAchim Leubner                               agBOOLEAN     sysIntsActive
60*4e1bc9a0SAchim Leubner                               );
61*4e1bc9a0SAchim Leubner 
62*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE void saSystemInterruptsEnable(
63*4e1bc9a0SAchim Leubner                               agsaRoot_t  *agRoot,
64*4e1bc9a0SAchim Leubner                               bit32       interruptVectorIndex
65*4e1bc9a0SAchim Leubner                               );
66*4e1bc9a0SAchim Leubner /***************************************************************************
67*4e1bc9a0SAchim Leubner  * Definition of interrupt related functions end                           *
68*4e1bc9a0SAchim Leubner  ***************************************************************************/
69*4e1bc9a0SAchim Leubner 
70*4e1bc9a0SAchim Leubner 
71*4e1bc9a0SAchim Leubner /***************************************************************************
72*4e1bc9a0SAchim Leubner  * Definition of timer related functions start                             *
73*4e1bc9a0SAchim Leubner  ***************************************************************************/
74*4e1bc9a0SAchim Leubner GLOBAL void saTimerTick(agsaRoot_t  *agRoot);
75*4e1bc9a0SAchim Leubner /***************************************************************************
76*4e1bc9a0SAchim Leubner  * Definition of timer related functions end                               *
77*4e1bc9a0SAchim Leubner  ***************************************************************************/
78*4e1bc9a0SAchim Leubner 
79*4e1bc9a0SAchim Leubner /***************************************************************************
80*4e1bc9a0SAchim Leubner  * Definition of initialization related functions start                    *
81*4e1bc9a0SAchim Leubner  ***************************************************************************/
82*4e1bc9a0SAchim Leubner GLOBAL void saGetRequirements(
83*4e1bc9a0SAchim Leubner                               agsaRoot_t              *agRoot,
84*4e1bc9a0SAchim Leubner                               agsaSwConfig_t          *swConfig,
85*4e1bc9a0SAchim Leubner                               agsaMemoryRequirement_t *memoryRequirement,
86*4e1bc9a0SAchim Leubner                               bit32                   *usecsPerTick,
87*4e1bc9a0SAchim Leubner                               bit32                   *maxNumLocks
88*4e1bc9a0SAchim Leubner                               );
89*4e1bc9a0SAchim Leubner 
90*4e1bc9a0SAchim Leubner GLOBAL bit32 saInitialize(
91*4e1bc9a0SAchim Leubner                           agsaRoot_t                  *agRoot,
92*4e1bc9a0SAchim Leubner                           agsaMemoryRequirement_t     *memoryAllocated,
93*4e1bc9a0SAchim Leubner                           agsaHwConfig_t              *hwConfig,
94*4e1bc9a0SAchim Leubner                           agsaSwConfig_t              *swConfig,
95*4e1bc9a0SAchim Leubner                           bit32                       usecsPerTick
96*4e1bc9a0SAchim Leubner                           );
97*4e1bc9a0SAchim Leubner /***************************************************************************
98*4e1bc9a0SAchim Leubner  * Definition of initialization related functions end                      *
99*4e1bc9a0SAchim Leubner  ***************************************************************************/
100*4e1bc9a0SAchim Leubner 
101*4e1bc9a0SAchim Leubner /***************************************************************************
102*4e1bc9a0SAchim Leubner  * Definition of hardware related functions start                          *
103*4e1bc9a0SAchim Leubner  ***************************************************************************/
104*4e1bc9a0SAchim Leubner GLOBAL void saHwReset(
105*4e1bc9a0SAchim Leubner                       agsaRoot_t  *agRoot,
106*4e1bc9a0SAchim Leubner                       bit32       resetType,
107*4e1bc9a0SAchim Leubner                       bit32       resetParm
108*4e1bc9a0SAchim Leubner                       );
109*4e1bc9a0SAchim Leubner 
110*4e1bc9a0SAchim Leubner GLOBAL void saHwShutdown(agsaRoot_t *agRoot);
111*4e1bc9a0SAchim Leubner 
112*4e1bc9a0SAchim Leubner /***************************************************************************
113*4e1bc9a0SAchim Leubner  * Definition of hardware related functions end                            *
114*4e1bc9a0SAchim Leubner  ***************************************************************************/
115*4e1bc9a0SAchim Leubner 
116*4e1bc9a0SAchim Leubner /***************************************************************************
117*4e1bc9a0SAchim Leubner  * Definition of phy related functions start                               *
118*4e1bc9a0SAchim Leubner  ***************************************************************************/
119*4e1bc9a0SAchim Leubner GLOBAL bit32 saPhyStart(
120*4e1bc9a0SAchim Leubner                         agsaRoot_t          *agRoot,
121*4e1bc9a0SAchim Leubner                         agsaContext_t       *agContext,
122*4e1bc9a0SAchim Leubner                         bit32               queueNum,
123*4e1bc9a0SAchim Leubner                         bit32               phyId,
124*4e1bc9a0SAchim Leubner                         agsaPhyConfig_t     *agPhyConfig,
125*4e1bc9a0SAchim Leubner                         agsaSASIdentify_t   *agSASIdentify
126*4e1bc9a0SAchim Leubner                         );
127*4e1bc9a0SAchim Leubner 
128*4e1bc9a0SAchim Leubner GLOBAL bit32 saPhyStop(
129*4e1bc9a0SAchim Leubner                       agsaRoot_t            *agRoot,
130*4e1bc9a0SAchim Leubner                       agsaContext_t         *agContext,
131*4e1bc9a0SAchim Leubner                       bit32                 queueNum,
132*4e1bc9a0SAchim Leubner                       bit32                 phyId
133*4e1bc9a0SAchim Leubner                       );
134*4e1bc9a0SAchim Leubner 
135*4e1bc9a0SAchim Leubner 
136*4e1bc9a0SAchim Leubner GLOBAL bit32 saLocalPhyControl(
137*4e1bc9a0SAchim Leubner                       agsaRoot_t             *agRoot,
138*4e1bc9a0SAchim Leubner                       agsaContext_t          *agContext,
139*4e1bc9a0SAchim Leubner                       bit32                   queueNum,
140*4e1bc9a0SAchim Leubner                       bit32                   phyId,
141*4e1bc9a0SAchim Leubner                       bit32                   phyOperation,
142*4e1bc9a0SAchim Leubner                       ossaLocalPhyControlCB_t agCB
143*4e1bc9a0SAchim Leubner                       );
144*4e1bc9a0SAchim Leubner 
145*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetPhyProfile(
146*4e1bc9a0SAchim Leubner                       agsaRoot_t               *agRoot,
147*4e1bc9a0SAchim Leubner                       agsaContext_t            *agContext,
148*4e1bc9a0SAchim Leubner                       bit32                    queueNum,
149*4e1bc9a0SAchim Leubner                       bit32                    ppc,
150*4e1bc9a0SAchim Leubner                       bit32                    phyID
151*4e1bc9a0SAchim Leubner                       );
152*4e1bc9a0SAchim Leubner 
153*4e1bc9a0SAchim Leubner GLOBAL bit32 saSetPhyProfile (
154*4e1bc9a0SAchim Leubner                       agsaRoot_t               *agRoot,
155*4e1bc9a0SAchim Leubner                       agsaContext_t            *agContext,
156*4e1bc9a0SAchim Leubner                       bit32                    queueNum,
157*4e1bc9a0SAchim Leubner                       bit32                    ppc,
158*4e1bc9a0SAchim Leubner                       bit32                    length,
159*4e1bc9a0SAchim Leubner                       void                     *buffer,
160*4e1bc9a0SAchim Leubner                       bit32                    phyID
161*4e1bc9a0SAchim Leubner                       );
162*4e1bc9a0SAchim Leubner 
163*4e1bc9a0SAchim Leubner GLOBAL bit32 saHwEventAck(
164*4e1bc9a0SAchim Leubner                       agsaRoot_t        *agRoot,
165*4e1bc9a0SAchim Leubner                       agsaContext_t     *agContext,
166*4e1bc9a0SAchim Leubner                       bit32              queueNum,
167*4e1bc9a0SAchim Leubner                       agsaEventSource_t *eventSource,
168*4e1bc9a0SAchim Leubner                       bit32              param0,
169*4e1bc9a0SAchim Leubner                       bit32              param1
170*4e1bc9a0SAchim Leubner                       );
171*4e1bc9a0SAchim Leubner 
172*4e1bc9a0SAchim Leubner 
173*4e1bc9a0SAchim Leubner /***************************************************************************
174*4e1bc9a0SAchim Leubner  * Definition of phy related functions end                                 *
175*4e1bc9a0SAchim Leubner  ***************************************************************************/
176*4e1bc9a0SAchim Leubner 
177*4e1bc9a0SAchim Leubner /***************************************************************************
178*4e1bc9a0SAchim Leubner  * Definition of discovery related functions start                         *
179*4e1bc9a0SAchim Leubner  ***************************************************************************/
180*4e1bc9a0SAchim Leubner GLOBAL bit32 saDiscover(
181*4e1bc9a0SAchim Leubner                         agsaRoot_t          *agRoot,
182*4e1bc9a0SAchim Leubner                         agsaPortContext_t   *agPortContext,
183*4e1bc9a0SAchim Leubner                         bit32               type,
184*4e1bc9a0SAchim Leubner                         bit32               option
185*4e1bc9a0SAchim Leubner                         );
186*4e1bc9a0SAchim Leubner /***************************************************************************
187*4e1bc9a0SAchim Leubner  * Definition of discovery related functions end                           *
188*4e1bc9a0SAchim Leubner  ***************************************************************************/
189*4e1bc9a0SAchim Leubner 
190*4e1bc9a0SAchim Leubner /***************************************************************************
191*4e1bc9a0SAchim Leubner  * Definition of frame related functions start                             *
192*4e1bc9a0SAchim Leubner  ***************************************************************************/
193*4e1bc9a0SAchim Leubner GLOBAL bit32 saFrameReadBit32(
194*4e1bc9a0SAchim Leubner                         agsaRoot_t          *agRoot,
195*4e1bc9a0SAchim Leubner                         agsaFrameHandle_t   agFrame,
196*4e1bc9a0SAchim Leubner                         bit32               frameOffset
197*4e1bc9a0SAchim Leubner                         );
198*4e1bc9a0SAchim Leubner 
199*4e1bc9a0SAchim Leubner GLOBAL void saFrameReadBlock(
200*4e1bc9a0SAchim Leubner                         agsaRoot_t          *agRoot,
201*4e1bc9a0SAchim Leubner                         agsaFrameHandle_t   agFrame,
202*4e1bc9a0SAchim Leubner                         bit32               frameOffset,
203*4e1bc9a0SAchim Leubner                         void                *frameBuffer,
204*4e1bc9a0SAchim Leubner                         bit32               frameBufLen
205*4e1bc9a0SAchim Leubner                         );
206*4e1bc9a0SAchim Leubner /***************************************************************************
207*4e1bc9a0SAchim Leubner  * Definition of frame related functions end                               *
208*4e1bc9a0SAchim Leubner  ***************************************************************************/
209*4e1bc9a0SAchim Leubner 
210*4e1bc9a0SAchim Leubner /***************************************************************************
211*4e1bc9a0SAchim Leubner  * Definition of SATA related functions start                              *
212*4e1bc9a0SAchim Leubner  ***************************************************************************/
213*4e1bc9a0SAchim Leubner GLOBAL bit32 saSATAStart(
214*4e1bc9a0SAchim Leubner                         agsaRoot_t                  *agRoot,
215*4e1bc9a0SAchim Leubner                         agsaIORequest_t             *agIORequest,
216*4e1bc9a0SAchim Leubner                         bit32                       queueNum,
217*4e1bc9a0SAchim Leubner                         agsaDevHandle_t             *agDevHandle,
218*4e1bc9a0SAchim Leubner                         bit32                       agRequestType,
219*4e1bc9a0SAchim Leubner                         agsaSATAInitiatorRequest_t  *agSATAReq,
220*4e1bc9a0SAchim Leubner                         bit8                        agTag,
221*4e1bc9a0SAchim Leubner                         ossaSATACompletedCB_t       agCB
222*4e1bc9a0SAchim Leubner                         );
223*4e1bc9a0SAchim Leubner 
224*4e1bc9a0SAchim Leubner GLOBAL bit32 saSATAAbort(
225*4e1bc9a0SAchim Leubner                         agsaRoot_t                  *agRoot,
226*4e1bc9a0SAchim Leubner                         agsaIORequest_t             *agIORequest,
227*4e1bc9a0SAchim Leubner                         bit32                       queueNum,
228*4e1bc9a0SAchim Leubner                         agsaDevHandle_t             *agDevHandle,
229*4e1bc9a0SAchim Leubner                         bit32                       flag,
230*4e1bc9a0SAchim Leubner                         void                        *abortParam,
231*4e1bc9a0SAchim Leubner                         ossaGenericAbortCB_t        agCB
232*4e1bc9a0SAchim Leubner                         );
233*4e1bc9a0SAchim Leubner 
234*4e1bc9a0SAchim Leubner /***************************************************************************
235*4e1bc9a0SAchim Leubner  * Definition of SATA related functions end                                *
236*4e1bc9a0SAchim Leubner  ***************************************************************************/
237*4e1bc9a0SAchim Leubner 
238*4e1bc9a0SAchim Leubner /***************************************************************************
239*4e1bc9a0SAchim Leubner  * Definition of SAS related functions start                               *
240*4e1bc9a0SAchim Leubner  ***************************************************************************/
241*4e1bc9a0SAchim Leubner 
242*4e1bc9a0SAchim Leubner GLOBAL bit32 saSendSMPIoctl(
243*4e1bc9a0SAchim Leubner 						agsaRoot_t                *agRoot,
244*4e1bc9a0SAchim Leubner 						agsaDevHandle_t           *agDevHandle,
245*4e1bc9a0SAchim Leubner 						bit32                      queueNum,
246*4e1bc9a0SAchim Leubner 						agsaSMPFrame_t            *pSMPFrame,
247*4e1bc9a0SAchim Leubner 						ossaSMPCompletedCB_t       agCB
248*4e1bc9a0SAchim Leubner 						);
249*4e1bc9a0SAchim Leubner 
250*4e1bc9a0SAchim Leubner GLOBAL bit32 saSMPStart(
251*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
252*4e1bc9a0SAchim Leubner                         agsaIORequest_t           *agIORequest,
253*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
254*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
255*4e1bc9a0SAchim Leubner                         bit32                     agRequestType,
256*4e1bc9a0SAchim Leubner                         agsaSASRequestBody_t      *agRequestBody,
257*4e1bc9a0SAchim Leubner                         ossaSMPCompletedCB_t      agCB
258*4e1bc9a0SAchim Leubner                         );
259*4e1bc9a0SAchim Leubner 
260*4e1bc9a0SAchim Leubner GLOBAL bit32 saSMPAbort(
261*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
262*4e1bc9a0SAchim Leubner                         agsaIORequest_t           *agIORequest,
263*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
264*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
265*4e1bc9a0SAchim Leubner                         bit32                     flag,
266*4e1bc9a0SAchim Leubner                         void                      *abortParam,
267*4e1bc9a0SAchim Leubner                         ossaGenericAbortCB_t      agCB
268*4e1bc9a0SAchim Leubner                         );
269*4e1bc9a0SAchim Leubner 
270*4e1bc9a0SAchim Leubner GLOBAL bit32 saSSPStart(
271*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
272*4e1bc9a0SAchim Leubner                         agsaIORequest_t           *agIORequest,
273*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
274*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
275*4e1bc9a0SAchim Leubner                         bit32                     agRequestType,
276*4e1bc9a0SAchim Leubner                         agsaSASRequestBody_t      *agRequestBody,
277*4e1bc9a0SAchim Leubner                         agsaIORequest_t           *agTMRequest,
278*4e1bc9a0SAchim Leubner                         ossaSSPCompletedCB_t      agCB
279*4e1bc9a0SAchim Leubner                         );
280*4e1bc9a0SAchim Leubner 
281*4e1bc9a0SAchim Leubner #ifdef FAST_IO_TEST
282*4e1bc9a0SAchim Leubner GLOBAL void *saFastSSPPrepare(
283*4e1bc9a0SAchim Leubner                         void                 *ioHandle,
284*4e1bc9a0SAchim Leubner                         agsaFastCommand_t    *fc,
285*4e1bc9a0SAchim Leubner                         ossaSSPCompletedCB_t cb,
286*4e1bc9a0SAchim Leubner                         void                 *cbArg);
287*4e1bc9a0SAchim Leubner 
288*4e1bc9a0SAchim Leubner GLOBAL bit32 saFastSSPSend(void    *ioHandle);
289*4e1bc9a0SAchim Leubner GLOBAL bit32 saFastSSPCancel(void  *ioHandle);
290*4e1bc9a0SAchim Leubner #endif
291*4e1bc9a0SAchim Leubner 
292*4e1bc9a0SAchim Leubner GLOBAL bit32 saSSPAbort(
293*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
294*4e1bc9a0SAchim Leubner                         agsaIORequest_t           *agIORequest,
295*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
296*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
297*4e1bc9a0SAchim Leubner                         bit32                     flag,
298*4e1bc9a0SAchim Leubner                         void                      *abortParam,
299*4e1bc9a0SAchim Leubner                         ossaGenericAbortCB_t      agCB
300*4e1bc9a0SAchim Leubner                         );
301*4e1bc9a0SAchim Leubner 
302*4e1bc9a0SAchim Leubner GLOBAL void saGetDifErrorDetails(
303*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
304*4e1bc9a0SAchim Leubner                         agsaIORequest_t           *agIORequest,
305*4e1bc9a0SAchim Leubner                         agsaDifDetails_t          *difDetails
306*4e1bc9a0SAchim Leubner                         );
307*4e1bc9a0SAchim Leubner 
308*4e1bc9a0SAchim Leubner GLOBAL bit32 saRegisterEventCallback(
309*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
310*4e1bc9a0SAchim Leubner                         bit32                     eventSourceType,
311*4e1bc9a0SAchim Leubner                         ossaGenericCB_t           callbackPtr
312*4e1bc9a0SAchim Leubner                         );
313*4e1bc9a0SAchim Leubner 
314*4e1bc9a0SAchim Leubner /***************************************************************************
315*4e1bc9a0SAchim Leubner  * Definition of SAS related functions end                                 *
316*4e1bc9a0SAchim Leubner  ***************************************************************************/
317*4e1bc9a0SAchim Leubner 
318*4e1bc9a0SAchim Leubner /***************************************************************************
319*4e1bc9a0SAchim Leubner  * Definition of Device related functions start                            *
320*4e1bc9a0SAchim Leubner  ***************************************************************************/
321*4e1bc9a0SAchim Leubner GLOBAL bit32 saRegisterNewDevice(
322*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
323*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
324*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
325*4e1bc9a0SAchim Leubner                         agsaDeviceInfo_t          *agDeviceInfo,
326*4e1bc9a0SAchim Leubner                         agsaPortContext_t         *agPortContext,
327*4e1bc9a0SAchim Leubner                         bit16                     hostAssignedDeviceId
328*4e1bc9a0SAchim Leubner                         );
329*4e1bc9a0SAchim Leubner 
330*4e1bc9a0SAchim Leubner GLOBAL bit32 saDeregisterDeviceHandle(
331*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
332*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
333*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
334*4e1bc9a0SAchim Leubner                         bit32                     queueNum
335*4e1bc9a0SAchim Leubner                         );
336*4e1bc9a0SAchim Leubner 
337*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetDeviceHandles(
338*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
339*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
340*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
341*4e1bc9a0SAchim Leubner                         agsaPortContext_t         *agPortContext,
342*4e1bc9a0SAchim Leubner                         bit32                     flags,
343*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDev[],
344*4e1bc9a0SAchim Leubner                         bit32                     skipCount,
345*4e1bc9a0SAchim Leubner                         bit32                     maxDevs
346*4e1bc9a0SAchim Leubner                         );
347*4e1bc9a0SAchim Leubner 
348*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetDeviceInfo(
349*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
350*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
351*4e1bc9a0SAchim Leubner                         bit32                     option,
352*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
353*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle
354*4e1bc9a0SAchim Leubner                         );
355*4e1bc9a0SAchim Leubner 
356*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetDeviceState(
357*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
358*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
359*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
360*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle
361*4e1bc9a0SAchim Leubner                         );
362*4e1bc9a0SAchim Leubner 
363*4e1bc9a0SAchim Leubner GLOBAL bit32 saSetDeviceInfo(
364*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
365*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
366*4e1bc9a0SAchim Leubner                         bit32                     queueNum ,
367*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
368*4e1bc9a0SAchim Leubner                         bit32                     option,
369*4e1bc9a0SAchim Leubner                         bit32                     param,
370*4e1bc9a0SAchim Leubner                         ossaSetDeviceInfoCB_t   agCB
371*4e1bc9a0SAchim Leubner                         );
372*4e1bc9a0SAchim Leubner 
373*4e1bc9a0SAchim Leubner GLOBAL bit32 saSetDeviceState(
374*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
375*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
376*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
377*4e1bc9a0SAchim Leubner                         agsaDevHandle_t           *agDevHandle,
378*4e1bc9a0SAchim Leubner                         bit32                     newDeviceState
379*4e1bc9a0SAchim Leubner                         );
380*4e1bc9a0SAchim Leubner 
381*4e1bc9a0SAchim Leubner /***************************************************************************
382*4e1bc9a0SAchim Leubner  * Definition of Device related functions end                              *
383*4e1bc9a0SAchim Leubner  ***************************************************************************/
384*4e1bc9a0SAchim Leubner 
385*4e1bc9a0SAchim Leubner /***************************************************************************
386*4e1bc9a0SAchim Leubner  * Definition of Misc related functions start                              *
387*4e1bc9a0SAchim Leubner  ***************************************************************************/
388*4e1bc9a0SAchim Leubner GLOBAL bit32 saFwFlashUpdate(
389*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
390*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
391*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
392*4e1bc9a0SAchim Leubner                         agsaUpdateFwFlash_t       *flashUpdateInfo
393*4e1bc9a0SAchim Leubner                         );
394*4e1bc9a0SAchim Leubner 
395*4e1bc9a0SAchim Leubner GLOBAL bit32 saFlashExtExecute (
396*4e1bc9a0SAchim Leubner                         agsaRoot_t            *agRoot,
397*4e1bc9a0SAchim Leubner                         agsaContext_t         *agContext,
398*4e1bc9a0SAchim Leubner                         bit32                 queueNum,
399*4e1bc9a0SAchim Leubner                         agsaFlashExtExecute_t *agFlashExtExe
400*4e1bc9a0SAchim Leubner                         );
401*4e1bc9a0SAchim Leubner 
402*4e1bc9a0SAchim Leubner #ifdef SPC_ENABLE_PROFILE
403*4e1bc9a0SAchim Leubner GLOBAL bit32 saFwProfile(
404*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
405*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
406*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
407*4e1bc9a0SAchim Leubner                         agsaFwProfile_t           *fwProfileInfo
408*4e1bc9a0SAchim Leubner                         );
409*4e1bc9a0SAchim Leubner #endif
410*4e1bc9a0SAchim Leubner 
411*4e1bc9a0SAchim Leubner GLOBAL bit32 saEchoCommand(
412*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
413*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
414*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
415*4e1bc9a0SAchim Leubner                         void                      *echoPayload
416*4e1bc9a0SAchim Leubner                         );
417*4e1bc9a0SAchim Leubner 
418*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetControllerInfo(
419*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
420*4e1bc9a0SAchim Leubner                         agsaControllerInfo_t      *controllerInfo
421*4e1bc9a0SAchim Leubner                         );
422*4e1bc9a0SAchim Leubner 
423*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetControllerStatus(
424*4e1bc9a0SAchim Leubner                           agsaRoot_t              *agRoot,
425*4e1bc9a0SAchim Leubner                           agsaControllerStatus_t  *controllerStatus
426*4e1bc9a0SAchim Leubner                         );
427*4e1bc9a0SAchim Leubner 
428*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetControllerEventLogInfo(
429*4e1bc9a0SAchim Leubner                         agsaRoot_t                 *agRoot,
430*4e1bc9a0SAchim Leubner                           agsaControllerEventLog_t *eventLogInfo
431*4e1bc9a0SAchim Leubner                         );
432*4e1bc9a0SAchim Leubner 
433*4e1bc9a0SAchim Leubner GLOBAL bit32 saGpioEventSetup(
434*4e1bc9a0SAchim Leubner                         agsaRoot_t                 *agRoot,
435*4e1bc9a0SAchim Leubner                         agsaContext_t              *agContext,
436*4e1bc9a0SAchim Leubner                         bit32                      queueNum,
437*4e1bc9a0SAchim Leubner                         agsaGpioEventSetupInfo_t   *gpioEventSetupInfo
438*4e1bc9a0SAchim Leubner                         );
439*4e1bc9a0SAchim Leubner 
440*4e1bc9a0SAchim Leubner GLOBAL bit32 saGpioPinSetup(
441*4e1bc9a0SAchim Leubner                         agsaRoot_t                 *agRoot,
442*4e1bc9a0SAchim Leubner                         agsaContext_t              *agContext,
443*4e1bc9a0SAchim Leubner                         bit32                      queueNum,
444*4e1bc9a0SAchim Leubner                         agsaGpioPinSetupInfo_t     *gpioPinSetupInfo
445*4e1bc9a0SAchim Leubner                         );
446*4e1bc9a0SAchim Leubner 
447*4e1bc9a0SAchim Leubner GLOBAL bit32 saGpioRead(
448*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
449*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
450*4e1bc9a0SAchim Leubner                         bit32                     queueNum
451*4e1bc9a0SAchim Leubner                         );
452*4e1bc9a0SAchim Leubner 
453*4e1bc9a0SAchim Leubner GLOBAL bit32 saGpioWrite(
454*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
455*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
456*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
457*4e1bc9a0SAchim Leubner                         bit32                     gpioWriteMask,
458*4e1bc9a0SAchim Leubner                         bit32                     gpioWriteValue
459*4e1bc9a0SAchim Leubner                         );
460*4e1bc9a0SAchim Leubner 
461*4e1bc9a0SAchim Leubner GLOBAL bit32 saSASDiagExecute(
462*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
463*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
464*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
465*4e1bc9a0SAchim Leubner                         agsaSASDiagExecute_t      *diag
466*4e1bc9a0SAchim Leubner                         );
467*4e1bc9a0SAchim Leubner 
468*4e1bc9a0SAchim Leubner GLOBAL bit32 saSASDiagStartEnd(
469*4e1bc9a0SAchim Leubner                         agsaRoot_t                *agRoot,
470*4e1bc9a0SAchim Leubner                         agsaContext_t             *agContext,
471*4e1bc9a0SAchim Leubner                         bit32                     queueNum,
472*4e1bc9a0SAchim Leubner                         bit32                     phyId,
473*4e1bc9a0SAchim Leubner                         bit32                     operation
474*4e1bc9a0SAchim Leubner                         );
475*4e1bc9a0SAchim Leubner 
476*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetTimeStamp(
477*4e1bc9a0SAchim Leubner                         agsaRoot_t    *agRoot,
478*4e1bc9a0SAchim Leubner                         agsaContext_t *agContext,
479*4e1bc9a0SAchim Leubner                         bit32         queueNum
480*4e1bc9a0SAchim Leubner                         );
481*4e1bc9a0SAchim Leubner 
482*4e1bc9a0SAchim Leubner GLOBAL bit32 saPortControl(
483*4e1bc9a0SAchim Leubner                         agsaRoot_t        *agRoot,
484*4e1bc9a0SAchim Leubner                         agsaContext_t     *agContext,
485*4e1bc9a0SAchim Leubner                         bit32             queueNum,
486*4e1bc9a0SAchim Leubner                         agsaPortContext_t *agPortContext,
487*4e1bc9a0SAchim Leubner                         bit32             portOperation,
488*4e1bc9a0SAchim Leubner                         bit32             param0,
489*4e1bc9a0SAchim Leubner                         bit32             param1
490*4e1bc9a0SAchim Leubner                         );
491*4e1bc9a0SAchim Leubner 
492*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetRegisterDump(
493*4e1bc9a0SAchim Leubner                         agsaRoot_t        *agRoot,
494*4e1bc9a0SAchim Leubner                         agsaContext_t     *agContext,
495*4e1bc9a0SAchim Leubner                         bit32             queueNum,
496*4e1bc9a0SAchim Leubner                         agsaRegDumpInfo_t *regDumpInfo
497*4e1bc9a0SAchim Leubner                         );
498*4e1bc9a0SAchim Leubner 
499*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetForensicData(
500*4e1bc9a0SAchim Leubner                         agsaRoot_t          *agRoot,
501*4e1bc9a0SAchim Leubner                         agsaContext_t       *agContext,
502*4e1bc9a0SAchim Leubner                         agsaForensicData_t  *forensicData
503*4e1bc9a0SAchim Leubner                         );
504*4e1bc9a0SAchim Leubner 
505*4e1bc9a0SAchim Leubner bit32 saGetIOErrorStats(
506*4e1bc9a0SAchim Leubner                          agsaRoot_t        *agRoot,
507*4e1bc9a0SAchim Leubner                          agsaContext_t     *agContext,
508*4e1bc9a0SAchim Leubner                          bit32              flag
509*4e1bc9a0SAchim Leubner                          );
510*4e1bc9a0SAchim Leubner 
511*4e1bc9a0SAchim Leubner bit32 saGetIOEventStats(
512*4e1bc9a0SAchim Leubner                          agsaRoot_t        *agRoot,
513*4e1bc9a0SAchim Leubner                          agsaContext_t     *agContext,
514*4e1bc9a0SAchim Leubner                          bit32              flag
515*4e1bc9a0SAchim Leubner                          );
516*4e1bc9a0SAchim Leubner 
517*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetNVMDCommand(
518*4e1bc9a0SAchim Leubner                         agsaRoot_t        *agRoot,
519*4e1bc9a0SAchim Leubner                         agsaContext_t     *agContext,
520*4e1bc9a0SAchim Leubner                         bit32             queueNum,
521*4e1bc9a0SAchim Leubner                         agsaNVMDData_t    *NVMDInfo
522*4e1bc9a0SAchim Leubner                         );
523*4e1bc9a0SAchim Leubner 
524*4e1bc9a0SAchim Leubner GLOBAL bit32 saSetNVMDCommand(
525*4e1bc9a0SAchim Leubner                         agsaRoot_t        *agRoot,
526*4e1bc9a0SAchim Leubner                         agsaContext_t     *agContext,
527*4e1bc9a0SAchim Leubner                         bit32             queueNum,
528*4e1bc9a0SAchim Leubner                         agsaNVMDData_t    *NVMDInfo
529*4e1bc9a0SAchim Leubner                         );
530*4e1bc9a0SAchim Leubner 
531*4e1bc9a0SAchim Leubner GLOBAL bit32 saReconfigSASParams(
532*4e1bc9a0SAchim Leubner                         agsaRoot_t        *agRoot,
533*4e1bc9a0SAchim Leubner                         agsaContext_t     *agContext,
534*4e1bc9a0SAchim Leubner                         bit32             queueNum ,
535*4e1bc9a0SAchim Leubner                         agsaSASReconfig_t *agSASConfig
536*4e1bc9a0SAchim Leubner                         );
537*4e1bc9a0SAchim Leubner 
538*4e1bc9a0SAchim Leubner GLOBAL bit32 saSgpio(
539*4e1bc9a0SAchim Leubner                 agsaRoot_t              *agRoot,
540*4e1bc9a0SAchim Leubner                 agsaContext_t           *agContext,
541*4e1bc9a0SAchim Leubner                 bit32                   queueNum,
542*4e1bc9a0SAchim Leubner                 agsaSGpioReqResponse_t  *pSGpioReq
543*4e1bc9a0SAchim Leubner                 );
544*4e1bc9a0SAchim Leubner 
545*4e1bc9a0SAchim Leubner GLOBAL bit32 saPCIeDiagExecute(
546*4e1bc9a0SAchim Leubner                         agsaRoot_t             *agRoot,
547*4e1bc9a0SAchim Leubner                         agsaContext_t          *agContext,
548*4e1bc9a0SAchim Leubner                         bit32                   queueNum,
549*4e1bc9a0SAchim Leubner                         agsaPCIeDiagExecute_t  *diag);
550*4e1bc9a0SAchim Leubner 
551*4e1bc9a0SAchim Leubner 
552*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptSelftestExecute(
553*4e1bc9a0SAchim Leubner                         agsaRoot_t    *agRoot,
554*4e1bc9a0SAchim Leubner                         agsaContext_t *agContext,
555*4e1bc9a0SAchim Leubner                         bit32          queueNum,
556*4e1bc9a0SAchim Leubner                         bit32          type,
557*4e1bc9a0SAchim Leubner                         bit32          length,
558*4e1bc9a0SAchim Leubner                         void          *TestDescriptor);
559*4e1bc9a0SAchim Leubner 
560*4e1bc9a0SAchim Leubner GLOBAL bit32 saSetOperator(
561*4e1bc9a0SAchim Leubner                   agsaRoot_t     *agRoot,
562*4e1bc9a0SAchim Leubner                   agsaContext_t  *agContext,
563*4e1bc9a0SAchim Leubner                   bit32           queueNum,
564*4e1bc9a0SAchim Leubner                   bit32           flag,
565*4e1bc9a0SAchim Leubner                   void           *cert);
566*4e1bc9a0SAchim Leubner 
567*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetOperator(
568*4e1bc9a0SAchim Leubner                   agsaRoot_t     *agRoot,
569*4e1bc9a0SAchim Leubner                   agsaContext_t  *agContext,
570*4e1bc9a0SAchim Leubner                   bit32           queueNum,
571*4e1bc9a0SAchim Leubner                   bit32           option,
572*4e1bc9a0SAchim Leubner                   bit32           AddrHi,
573*4e1bc9a0SAchim Leubner                   bit32           AddrLo);
574*4e1bc9a0SAchim Leubner 
575*4e1bc9a0SAchim Leubner GLOBAL bit32 saOperatorManagement(
576*4e1bc9a0SAchim Leubner                         agsaRoot_t           *agRoot,
577*4e1bc9a0SAchim Leubner                         agsaContext_t        *agContext,
578*4e1bc9a0SAchim Leubner                         bit32                 queueNum,
579*4e1bc9a0SAchim Leubner                         bit32                 flag,
580*4e1bc9a0SAchim Leubner                         bit8                  role,
581*4e1bc9a0SAchim Leubner                         agsaID_t              *id,
582*4e1bc9a0SAchim Leubner                         agsaEncryptKekBlob_t  *kblob);
583*4e1bc9a0SAchim Leubner 
584*4e1bc9a0SAchim Leubner 
585*4e1bc9a0SAchim Leubner /***************************************************************************
586*4e1bc9a0SAchim Leubner  * Definition of Misc. related functions end                               *
587*4e1bc9a0SAchim Leubner  ***************************************************************************/
588*4e1bc9a0SAchim Leubner 
589*4e1bc9a0SAchim Leubner GLOBAL bit32 saSetControllerConfig(
590*4e1bc9a0SAchim Leubner                       agsaRoot_t        *agRoot,
591*4e1bc9a0SAchim Leubner                       bit32             queueNum,
592*4e1bc9a0SAchim Leubner                       bit32             modePage,
593*4e1bc9a0SAchim Leubner                       bit32             length,
594*4e1bc9a0SAchim Leubner                       void              *buffer,
595*4e1bc9a0SAchim Leubner                       agsaContext_t     *agContext
596*4e1bc9a0SAchim Leubner                       );
597*4e1bc9a0SAchim Leubner 
598*4e1bc9a0SAchim Leubner 
599*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetControllerConfig(
600*4e1bc9a0SAchim Leubner                       agsaRoot_t        *agRoot,
601*4e1bc9a0SAchim Leubner                       bit32             queueNum,
602*4e1bc9a0SAchim Leubner                       bit32             modePage,
603*4e1bc9a0SAchim Leubner                       bit32             flag0,
604*4e1bc9a0SAchim Leubner                       bit32             flag1,
605*4e1bc9a0SAchim Leubner                       agsaContext_t     *agContext
606*4e1bc9a0SAchim Leubner                       );
607*4e1bc9a0SAchim Leubner 
608*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptDekCacheUpdate(
609*4e1bc9a0SAchim Leubner                      agsaRoot_t        *agRoot,
610*4e1bc9a0SAchim Leubner                      agsaContext_t     *agContext,
611*4e1bc9a0SAchim Leubner                      bit32             queueNum,
612*4e1bc9a0SAchim Leubner                      bit32             kekIndex,
613*4e1bc9a0SAchim Leubner                      bit32             dekTableSelect,
614*4e1bc9a0SAchim Leubner                      bit32             dekAddrHi,
615*4e1bc9a0SAchim Leubner                      bit32             dekAddrLo,
616*4e1bc9a0SAchim Leubner                      bit32             dekIndex,
617*4e1bc9a0SAchim Leubner                      bit32             dekNumberOfEntries,
618*4e1bc9a0SAchim Leubner                      bit32             dekBlobFormat,
619*4e1bc9a0SAchim Leubner                      bit32             dekTableKeyEntrySize
620*4e1bc9a0SAchim Leubner                      );
621*4e1bc9a0SAchim Leubner 
622*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptDekCacheInvalidate(
623*4e1bc9a0SAchim Leubner                     agsaRoot_t         *agRoot,
624*4e1bc9a0SAchim Leubner                     agsaContext_t      *agContext,
625*4e1bc9a0SAchim Leubner                     bit32              queueNum,
626*4e1bc9a0SAchim Leubner                     bit32              dekTable,
627*4e1bc9a0SAchim Leubner                     bit32              dekIndex
628*4e1bc9a0SAchim Leubner                     );
629*4e1bc9a0SAchim Leubner 
630*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptGetMode(
631*4e1bc9a0SAchim Leubner                     agsaRoot_t         *agRoot,
632*4e1bc9a0SAchim Leubner                     agsaContext_t      *agContext,
633*4e1bc9a0SAchim Leubner                     agsaEncryptInfo_t  *encryptInfo
634*4e1bc9a0SAchim Leubner                     );
635*4e1bc9a0SAchim Leubner 
636*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptSetMode (
637*4e1bc9a0SAchim Leubner                       agsaRoot_t        *agRoot,
638*4e1bc9a0SAchim Leubner                       agsaContext_t     *agContext,
639*4e1bc9a0SAchim Leubner                       bit32             queueNum,
640*4e1bc9a0SAchim Leubner                       agsaEncryptInfo_t *mode
641*4e1bc9a0SAchim Leubner                       );
642*4e1bc9a0SAchim Leubner 
643*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptKekInvalidate(
644*4e1bc9a0SAchim Leubner                     agsaRoot_t         *agRoot,
645*4e1bc9a0SAchim Leubner                      agsaContext_t     *agContext,
646*4e1bc9a0SAchim Leubner                     bit32              queueNum,
647*4e1bc9a0SAchim Leubner                     bit32              kekIndex
648*4e1bc9a0SAchim Leubner                     );
649*4e1bc9a0SAchim Leubner 
650*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptKekUpdate(
651*4e1bc9a0SAchim Leubner                     agsaRoot_t         *agRoot,
652*4e1bc9a0SAchim Leubner                     agsaContext_t     *agContext,
653*4e1bc9a0SAchim Leubner                     bit32              queueNum,
654*4e1bc9a0SAchim Leubner                     bit32              flags,
655*4e1bc9a0SAchim Leubner                     bit32              newKekIndex,
656*4e1bc9a0SAchim Leubner                     bit32              wrapperKekIndex,
657*4e1bc9a0SAchim Leubner                     bit32              blobFormat,
658*4e1bc9a0SAchim Leubner                     agsaEncryptKekBlob_t *encryptKekBlob
659*4e1bc9a0SAchim Leubner                     );
660*4e1bc9a0SAchim Leubner 
661*4e1bc9a0SAchim Leubner #ifdef HIALEAH_ENCRYPTION
662*4e1bc9a0SAchim Leubner GLOBAL bit32 saEncryptHilUpdate(
663*4e1bc9a0SAchim Leubner                     agsaRoot_t         *agRoot,
664*4e1bc9a0SAchim Leubner                     agsaContext_t      *agContext,
665*4e1bc9a0SAchim Leubner                     bit32              queueNum
666*4e1bc9a0SAchim Leubner                     );
667*4e1bc9a0SAchim Leubner #endif /* HIALEAH_ENCRYPTION */
668*4e1bc9a0SAchim Leubner 
669*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetDFEData(
670*4e1bc9a0SAchim Leubner                           agsaRoot_t    *agRoot,
671*4e1bc9a0SAchim Leubner                           agsaContext_t   *agContext,
672*4e1bc9a0SAchim Leubner                           bit32     queueNum,
673*4e1bc9a0SAchim Leubner                           bit32                 interface,
674*4e1bc9a0SAchim Leubner                           bit32                 laneNumber,
675*4e1bc9a0SAchim Leubner                           bit32                 interations,
676*4e1bc9a0SAchim Leubner                           agsaSgl_t             *agSgl);
677*4e1bc9a0SAchim Leubner 
678*4e1bc9a0SAchim Leubner 
679*4e1bc9a0SAchim Leubner GLOBAL bit32 saFatalInterruptHandler(
680*4e1bc9a0SAchim Leubner                           agsaRoot_t  *agRoot,
681*4e1bc9a0SAchim Leubner                           bit32       interruptVectorIndex
682*4e1bc9a0SAchim Leubner   );
683*4e1bc9a0SAchim Leubner 
684*4e1bc9a0SAchim Leubner 
685*4e1bc9a0SAchim Leubner GLOBAL bit32 saDIFEncryptionOffloadStart(
686*4e1bc9a0SAchim Leubner                           agsaRoot_t         *agRoot,
687*4e1bc9a0SAchim Leubner                           agsaContext_t      *agContext,
688*4e1bc9a0SAchim Leubner                           bit32               queueNum,
689*4e1bc9a0SAchim Leubner                           bit32               op,
690*4e1bc9a0SAchim Leubner                           agsaDifEncPayload_t *agsaDifEncPayload,
691*4e1bc9a0SAchim Leubner                           ossaDIFEncryptionOffloadStartCB_t agCB);
692*4e1bc9a0SAchim Leubner 
693*4e1bc9a0SAchim Leubner 
694*4e1bc9a0SAchim Leubner GLOBAL bit32 saVhistCapture(
695*4e1bc9a0SAchim Leubner                           agsaRoot_t    *agRoot,
696*4e1bc9a0SAchim Leubner                           agsaContext_t *agContext,
697*4e1bc9a0SAchim Leubner                           bit32         queueNum,
698*4e1bc9a0SAchim Leubner                           bit32         Channel,
699*4e1bc9a0SAchim Leubner                           bit32         NumBitLo,
700*4e1bc9a0SAchim Leubner                           bit32         NumBitHi,
701*4e1bc9a0SAchim Leubner                           bit32         PcieAddrLo,
702*4e1bc9a0SAchim Leubner                           bit32         PcieAddrHi,
703*4e1bc9a0SAchim Leubner                           bit32         ByteCount );
704*4e1bc9a0SAchim Leubner 
705*4e1bc9a0SAchim Leubner 
706*4e1bc9a0SAchim Leubner GLOBAL void saCountActiveIORequests(  agsaRoot_t              *agRoot);
707*4e1bc9a0SAchim Leubner 
708*4e1bc9a0SAchim Leubner #ifdef SA_64BIT_TIMESTAMP
709*4e1bc9a0SAchim Leubner osGLOBAL bit64  osTimeStamp64(void);
710*4e1bc9a0SAchim Leubner #endif /* SA_64BIT_TIMESTAMP */
711*4e1bc9a0SAchim Leubner 
712*4e1bc9a0SAchim Leubner #ifdef SALL_API_TEST
713*4e1bc9a0SAchim Leubner /***************************************************************************
714*4e1bc9a0SAchim Leubner  * Definition of LL Test related API functions start                       *
715*4e1bc9a0SAchim Leubner  ***************************************************************************/
716*4e1bc9a0SAchim Leubner GLOBAL bit32 saGetLLCounters(
717*4e1bc9a0SAchim Leubner                       agsaRoot_t          *agRoot,
718*4e1bc9a0SAchim Leubner                       bit32               counters,
719*4e1bc9a0SAchim Leubner                       agsaLLCountInfo_t   *LLCountInfo
720*4e1bc9a0SAchim Leubner                       );
721*4e1bc9a0SAchim Leubner 
722*4e1bc9a0SAchim Leubner GLOBAL bit32 saResetLLCounters(
723*4e1bc9a0SAchim Leubner                       agsaRoot_t     *agRoot,
724*4e1bc9a0SAchim Leubner                       bit32          counters
725*4e1bc9a0SAchim Leubner                       );
726*4e1bc9a0SAchim Leubner #endif
727*4e1bc9a0SAchim Leubner 
728*4e1bc9a0SAchim Leubner #endif  /*__SSDKAPI_H__ */
729