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