xref: /freebsd/sys/dev/pms/RefTisa/sallsdk/api/saosapi.h (revision 2008043f386721d58158e37e0d7e50df8095942d)
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 *
22 ********************************************************************************/
23 /*******************************************************************************/
24 /*! \file saosapi.h
25  *  \brief The file defines the declaration of OS APIs
26  *
27  */
28 /*******************************************************************************/
29 
30 #ifndef  __SSDKOSAPI_H__
31 #define __SSDKOSAPI_H__
32 
33 #ifdef LINUX
34 #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18)
35 
36 #ifdef FORCEINLINE
37 #undef FORCEINLINE
38 #define FORCEINLINE
39 #endif
40 
41 #endif
42 #endif
43 
44 /***************************************************************************
45  * Definition of register access related functions start                   *
46  ***************************************************************************/
47 #ifndef ossaHwRegRead
48 GLOBAL FORCEINLINE
49 bit32 ossaHwRegRead(
50                           agsaRoot_t  *agRoot,
51                           bit32       regOffset
52                           );
53 #endif
54 
55 #ifndef ossaHwRegWrite
56 GLOBAL FORCEINLINE
57 void ossaHwRegWrite(
58                           agsaRoot_t  *agRoot,
59                           bit32       regOffset,
60                           bit32       regValue
61                           );
62 #endif
63 
64 #ifndef ossaHwRegReadExt
65 GLOBAL FORCEINLINE
66 bit32 ossaHwRegReadExt(
67                              agsaRoot_t  *agRoot,
68                              bit32       busBaseNumber,
69                              bit32       regOffset
70                              );
71 #endif
72 
73 #ifndef ossaHwRegWriteExt
74 GLOBAL FORCEINLINE
75 void ossaHwRegWriteExt(
76                              agsaRoot_t  *agRoot,
77                              bit32       busBaseNumber,
78                              bit32       regOffset,
79                              bit32       regValue
80                              );
81 #endif
82 
83 #ifndef ossaHwRegReadConfig32
84 osGLOBAL bit32 ossaHwRegReadConfig32(
85               agsaRoot_t  *agRoot,
86               bit32       regOffset
87               );
88 #endif
89 
90 
91 /***************************************************************************
92  * Definition of register access related functions end                     *
93  ***************************************************************************/
94 
95 /***************************************************************************
96  * Definition of thread related functions start                            *
97  ***************************************************************************/
98 #ifndef ossaSingleThreadedEnter
99 GLOBAL FORCEINLINE void ossaSingleThreadedEnter(
100                                     agsaRoot_t  *agRoot,
101                                     bit32       syncLockId
102                                    );
103 #endif
104 
105 #ifndef ossaSingleThreadedLeave
106 GLOBAL FORCEINLINE void ossaSingleThreadedLeave(
107                                     agsaRoot_t  *agRoot,
108                                     bit32       syncLockId
109                                    );
110 #endif
111 
112 #ifndef ossaStallThread
113 GLOBAL void ossaStallThread(
114                             agsaRoot_t  *agRoot,
115                             bit32       microseconds
116                             );
117 #endif
118 /***************************************************************************
119  * Definition of thread related functions end                              *
120  ***************************************************************************/
121 
122 /***************************************************************************
123  * Definition of interrupt related functions start                         *
124  ***************************************************************************/
125 #ifndef ossaDisableInterrupts
126 #define ossaDisableInterrupts(agRoot, interruptVectorIndex) \
127 do                                                          \
128 {                                                           \
129   agsaLLRoot_t  *saROOT = (agsaLLRoot_t *)(agRoot->sdkData);\
130   saROOT->DisableInterrupts(agRoot, interruptVectorIndex); \
131 } while(0)
132 #endif
133 
134 #ifndef ossaReenableInterrupts
135 #define ossaReenableInterrupts(agRoot, interruptVectorIndex) \
136 do                                                           \
137 {                                                            \
138   agsaLLRoot_t  *saROOT = (agsaLLRoot_t *)(agRoot->sdkData); \
139   saROOT->ReEnableInterrupts(agRoot, interruptVectorIndex); \
140 } while(0)
141 #endif
142 
143 /***************************************************************************
144  * Definition of interrupt related functions end                           *
145  ***************************************************************************/
146 
147 /***************************************************************************
148  * Definition of cache related functions start                             *
149  ***************************************************************************/
150 #ifndef ossaCacheInvalidate
151 GLOBAL FORCEINLINE void ossaCacheInvalidate(
152                                 agsaRoot_t  *agRoot,
153                                 void        *osMemHandle,
154                                 void        *virtPtr,
155                                 bit32       length
156                                 );
157 #endif
158 
159 #ifndef ossaCacheFlush
160 GLOBAL FORCEINLINE void ossaCacheFlush(
161                           agsaRoot_t  *agRoot,
162                           void        *osMemHandle,
163                           void        *virtPtr,
164                           bit32       length
165                           );
166 #endif
167 
168 #ifndef ossaCachePreFlush
169 GLOBAL FORCEINLINE void ossaCachePreFlush(
170                               agsaRoot_t  *agRoot,
171                               void        *osMemHandle,
172                               void        *virtPtr,
173                               bit32       length
174                               );
175 #endif
176 
177 /***************************************************************************
178  * Definition of cache related functions end                               *
179  ***************************************************************************/
180 
181 /***************************************************************************
182  * Definition of hardware related functions start                          *
183  ***************************************************************************/
184 #ifndef ossaHwCB
185 GLOBAL void ossaHwCB(
186                     agsaRoot_t        *agRoot,
187                     agsaPortContext_t *agPortContext,
188                     bit32             event,
189                     bit32             eventParm1,
190                     void              *eventParm2,
191                     void              *eventParm3
192                     );
193 #endif
194 
195 #ifndef ossaHwEventAckCB
196 GLOBAL void ossaHwEventAckCB(
197                             agsaRoot_t    *agRoot,
198                             agsaContext_t *agContext,
199                             bit32         status
200                             );
201 #endif
202 /***************************************************************************
203  * Definition of hardware related functions end                            *
204  ***************************************************************************/
205 
206 /***************************************************************************
207  * Definition of SATA related functions start                              *
208  ***************************************************************************/
209 #ifndef ossaSATACompleted
210 GLOBAL void ossaSATACompleted(
211                               agsaRoot_t        *agRoot,
212                               agsaIORequest_t   *agIORequest,
213                               bit32             agIOStatus,
214                               void              *agFirstDword,
215                               bit32             agIOInfoLen,
216                               void              *agParam
217                               );
218 
219 #endif
220 
221 #ifndef ossaSATAEvent
222 GLOBAL void ossaSATAEvent(
223                         agsaRoot_t              *agRoot,
224                         agsaIORequest_t         *agIORequest,
225                         agsaPortContext_t       *agPortContext,
226                         agsaDevHandle_t         *agDevHandle,
227                         bit32                   event,
228                         bit32                   agIOInfoLen,
229                         void                    *agParam
230                         );
231 #endif
232 
233 #ifndef ossaSATAAbortCB
234  GLOBAL void  ossaSATAAbortCB(
235                         agsaRoot_t               *agRoot,
236                         agsaIORequest_t          *agIORequest,
237                         bit32                    flag,
238                         bit32                    status
239                         );
240 #endif
241 
242 /***************************************************************************
243  * Definition of SATA related functions end                                *
244  ***************************************************************************/
245 
246 
247 /***************************************************************************
248  * Definition of SAS related functions start                               *
249  ***************************************************************************/
250 #ifndef ossaSSPEvent
251 GLOBAL void ossaSSPEvent(
252                   agsaRoot_t        *agRoot,
253                   agsaIORequest_t   *agIORequest,
254                   agsaPortContext_t *agPortContext,
255                   agsaDevHandle_t   *agDevHandle,
256                   bit32             event,
257                   bit16             sspTag,
258                   bit32             agIOInfoLen,
259                   void              *agParam
260                   );
261 #endif
262 
263 osGLOBAL void
264 ossaSMPIoctlCompleted(
265 				 agsaRoot_t            *agRoot,
266                  agsaIORequest_t       *agIORequest,
267                  bit32                 agIOStatus,
268                  bit32                 agIOInfoLen,
269                  agsaFrameHandle_t     agFrameHandle
270                  );
271 
272 #ifndef ossaSMPCompleted
273 GLOBAL void ossaSMPCompleted(
274                             agsaRoot_t            *agRoot,
275                             agsaIORequest_t       *agIORequest,
276                             bit32                 agIOStatus,
277                             bit32                 agIOInfoLen,
278                             agsaFrameHandle_t     agFrameHandle
279                             );
280 #endif
281 
282 #ifndef ossaSMPReqReceived
283 GLOBAL void ossaSMPReqReceived(
284                               agsaRoot_t            *agRoot,
285                               agsaDevHandle_t       *agDevHandle,
286                               agsaFrameHandle_t     agFrameHandle,
287                               bit32                 agFrameLength,
288                               bit32                 phyId
289                               );
290 #endif
291 
292 #ifndef ossaSSPCompleted
293 GLOBAL FORCEINLINE void ossaSSPCompleted(
294                             agsaRoot_t          *agRoot,
295                             agsaIORequest_t     *agIORequest,
296                             bit32               agIOStatus,
297                             bit32               agIOInfoLen,
298                             void                *agParam,
299                             bit16               sspTag,
300                             bit32               agOtherInfo
301                             );
302 #endif
303 
304 #ifdef FAST_IO_TEST
305 GLOBAL void ossaFastSSPCompleted(
306                             agsaRoot_t          *agRoot,
307                             agsaIORequest_t     *cbArg,
308                             bit32               agIOStatus,
309                             bit32               agIOInfoLen,
310                             void                *agParam,
311                             bit16               sspTag,
312                             bit32               agOtherInfo
313                             );
314 #endif
315 
316 #ifndef ossaSSPReqReceived
317 GLOBAL void ossaSSPReqReceived(
318                               agsaRoot_t        *agRoot,
319                               agsaDevHandle_t   *agDevHandle,
320                               agsaFrameHandle_t agFrameHandle,
321                               bit16             agInitiatorTag,
322                               bit32             parameter,
323                               bit32             agFrameLen
324                               );
325 #endif
326 
327 osGLOBAL void
328 ossaSSPIoctlCompleted(
329                 agsaRoot_t                        *agRoot,
330                 agsaIORequest_t           *agIORequest,
331                 bit32                             agIOStatus,
332                 bit32                             agIOInfoLen,
333                 void                              *agParam,
334                 bit16                             sspTag,
335                 bit32                             agOtherInfo
336                 );
337 
338 
339 #ifndef ossaSSPAbortCB
340 GLOBAL void ossaSSPAbortCB(
341                         agsaRoot_t              *agRoot,
342                         agsaIORequest_t         *agIORequest,
343                         bit32                   flag,
344                         bit32                   status
345                         );
346 #endif
347 
348 #ifndef ossaSMPAbortCB
349 GLOBAL void ossaSMPAbortCB(
350                         agsaRoot_t              *agRoot,
351                         agsaIORequest_t         *agIORequest,
352                         bit32                   flag,
353                         bit32                   status
354                         );
355 #endif
356 
357 #ifndef ossaReconfigSASParamsCB
358 GLOBAL void ossaReconfigSASParamsCB(
359                         agsaRoot_t        *agRoot,
360                         agsaContext_t     *agContext,
361                         bit32             status,
362                         agsaSASReconfig_t *agSASConfig
363 );
364 #endif
365 
366 /***************************************************************************
367  * Definition of SAS related functions end                                 *
368  ***************************************************************************/
369 
370 /***************************************************************************
371  * Definition of Discovery related functions start                         *
372  ***************************************************************************/
373 #ifndef ossaDiscoverSataCB
374 GLOBAL void ossaDiscoverSataCB(
375                               agsaRoot_t          *agRoot,
376                               agsaPortContext_t   *agPortContext,
377                               bit32               event,
378                               void                *pParm1,
379                               void                *pParm2
380                               );
381 #endif
382 
383 #ifndef ossaDiscoverSasCB
384 GLOBAL void ossaDiscoverSasCB(
385                               agsaRoot_t          *agRoot,
386                               agsaPortContext_t   *agPortContext,
387                               bit32               event,
388                               void                *pParm1,
389                               void                *pParm2
390                               );
391 #endif
392 
393 #ifndef ossaDeviceHandleAccept
394 GLOBAL bit32 ossaDeviceHandleAccept(
395                                     agsaRoot_t          *agRoot,
396                                     agsaDevHandle_t     *agDevHandle,
397                                     agsaSASDeviceInfo_t *agDeviceInfo,
398                                     agsaPortContext_t   *agPortContext,
399                                     bit32               *hostAssignedDeviceId
400                                     );
401 #endif
402 
403 #ifndef ossaGetDeviceHandlesCB
404 GLOBAL void ossaGetDeviceHandlesCB(
405                                 agsaRoot_t        *agRoot,
406                                 agsaContext_t     *agContext,
407                                 agsaPortContext_t *agPortContext,
408                                 agsaDevHandle_t   *agDev[],
409                                 bit32             validDevs
410                                 );
411 #endif
412 
413 #ifndef ossaGetDeviceInfoCB
414 GLOBAL void ossaGetDeviceInfoCB(
415                                 agsaRoot_t        *agRoot,
416                                 agsaContext_t     *agContext,
417                                 agsaDevHandle_t   *agDevHandle,
418                                 bit32             status,
419                                 void              *agInfo
420                                 );
421 #endif
422 
423 #ifndef ossaDeviceHandleRemovedEvent
424 GLOBAL void ossaDeviceHandleRemovedEvent (
425                                 agsaRoot_t        *agRoot,
426                                 agsaDevHandle_t   *agDevHandle,
427                                 agsaPortContext_t *agPortContext
428                                 );
429 #endif
430 
431 #ifndef ossaGetDeviceStateCB
432 GLOBAL void ossaGetDeviceStateCB(
433                                 agsaRoot_t        *agRoot,
434                                 agsaContext_t     *agContext,
435                                 agsaDevHandle_t   *agDevHandle,
436                                 bit32             status,
437                                 bit32             deviceState
438                                 );
439 #endif
440 
441 #ifndef ossaSetDeviceInfoCB
442 GLOBAL void ossaSetDeviceInfoCB(
443                                 agsaRoot_t        *agRoot,
444                                 agsaContext_t     *agContext,
445                                 agsaDevHandle_t   *agDevHandle,
446                                 bit32             status,
447                                 bit32             option,
448                                 bit32             param
449                                 );
450 #endif
451 
452 #ifndef ossaSetDeviceStateCB
453 GLOBAL void ossaSetDeviceStateCB(
454                                 agsaRoot_t        *agRoot,
455                                 agsaContext_t     *agContext,
456                                 agsaDevHandle_t   *agDevHandle,
457                                 bit32             status,
458                                 bit32             newDeviceState,
459                                 bit32             previousDeviceState
460                                 );
461 #endif
462 
463 /***************************************************************************
464  * Definition of Discovery related functions end                           *
465  ***************************************************************************/
466 
467 /***************************************************************************
468  * Definition of Misc. related functions start                             *
469  ***************************************************************************/
470 
471 #ifndef ossaTimeStamp
472 GLOBAL bit32 ossaTimeStamp(agsaRoot_t     *agRoot);
473 #endif /* ossaTimeStamp */
474 
475 #ifndef ossaTimeStamp64
476 GLOBAL bit64 ossaTimeStamp64(agsaRoot_t     *agRoot);
477 #endif /* ossaTimeStamp64 */
478 
479 
480 #ifndef ossaLocalPhyControlCB
481 GLOBAL void ossaLocalPhyControlCB(
482                       agsaRoot_t     *agRoot,
483                       agsaContext_t  *agContext,
484                       bit32          phyId,
485                       bit32          phyOperation,
486                       bit32          status,
487                       void           *parm);
488 #endif
489 
490 #ifndef ossaGetPhyProfileCB
491 GLOBAL void   ossaGetPhyProfileCB(
492                       agsaRoot_t    *agRoot,
493                       agsaContext_t *agContext,
494                       bit32         status,
495                       bit32         ppc,
496                       bit32         phyID,
497                       void          *parm );
498 #endif
499 
500 #ifndef ossaSetPhyProfileCB
501 GLOBAL void ossaSetPhyProfileCB(
502                      agsaRoot_t    *agRoot,
503                      agsaContext_t *agContext,
504                      bit32         status,
505                      bit32         ppc,
506                      bit32         phyID,
507                      void          *parm );
508 #endif
509 
510 #ifndef ossaFwFlashUpdateCB
511 GLOBAL void ossaFwFlashUpdateCB(
512                       agsaRoot_t    *agRoot,
513                       agsaContext_t *agContext,
514                       bit32         status);
515 #endif
516 
517 #ifndef ossaFlashExtExecuteCB
518 GLOBAL void   ossaFlashExtExecuteCB(
519                       agsaRoot_t               *agRoot,
520                       agsaContext_t            *agContext,
521                       bit32                    status,
522                       bit32                    command,
523                       agsaFlashExtResponse_t  *agFlashExtRsp);
524 
525 #endif
526 
527 #ifdef SPC_ENABLE_PROFILE
528 GLOBAL void ossaFwProfileCB(
529                       agsaRoot_t    *agRoot,
530                       agsaContext_t *agContext,
531                       bit32         status,
532                       bit32         len
533                       );
534 
535 #endif
536 #ifndef ossaEchoCB
537 GLOBAL void ossaEchoCB(
538                       agsaRoot_t    *agRoot,
539                       agsaContext_t *agContext,
540                       void          *echoPayload);
541 #endif
542 
543 #ifndef ossaGpioResponseCB
544 GLOBAL void ossaGpioResponseCB(
545                       agsaRoot_t               *agRoot,
546                       agsaContext_t            *agContext,
547                       bit32                    status,
548                       bit32                    gpioReadValue,
549                       agsaGpioPinSetupInfo_t   *gpioPinSetupInfo,
550                       agsaGpioEventSetupInfo_t *gpioEventSetupInfo);
551 #endif
552 
553 #ifndef ossaGpioEvent
554 GLOBAL void ossaGpioEvent(
555                       agsaRoot_t    *agRoot,
556                       bit32         gpioEvent);
557 #endif
558 
559 #ifndef ossaSASDiagExecuteCB
560 GLOBAL void ossaSASDiagExecuteCB(
561                       agsaRoot_t      *agRoot,
562                       agsaContext_t   *agContext,
563                       bit32           status,
564                       bit32           command,
565                       bit32           reportData);
566 #endif
567 
568 #ifndef ossaSASDiagStartEndCB
569 GLOBAL void ossaSASDiagStartEndCB(
570                       agsaRoot_t      *agRoot,
571                       agsaContext_t   *agContext,
572                       bit32           status);
573 #endif
574 
575 #ifndef ossaGetTimeStampCB
576 GLOBAL void ossaGetTimeStampCB(
577                       agsaRoot_t      *agRoot,
578                       agsaContext_t   *agContext,
579                       bit32           timeStampLower,
580                       bit32           timeStampUpper);
581 #endif
582 
583 #ifndef ossaPortControlCB
584 GLOBAL void ossaPortControlCB(
585                       agsaRoot_t        *agRoot,
586                       agsaContext_t     *agContext,
587                       agsaPortContext_t *agPortContext,
588                       bit32             portOperation,
589                       bit32             status);
590 #endif
591 
592 #ifndef ossaGeneralEvent
593 GLOBAL void ossaGeneralEvent(
594                       agsaRoot_t        *agRoot,
595                       bit32             status,
596                       agsaContext_t     *agContext,
597                       bit32             *msg);
598 #endif
599 
600 #ifndef ossaGetRegisterDumpCB
601 void ossaGetRegisterDumpCB(
602                       agsaRoot_t        *agRoot,
603                       agsaContext_t     *agContext,
604                       bit32             status);
605 #endif
606 
607 GLOBAL void ossaGetForensicDataCB (
608         agsaRoot_t          *agRoot,
609         agsaContext_t       *agContext,
610         bit32                status,
611         agsaForensicData_t  *forensicData
612         );
613 
614 
615 #ifndef ossaGetNVMDResponseCB
616 GLOBAL void ossaGetNVMDResponseCB(
617                       agsaRoot_t        *agRoot,
618                       agsaContext_t     *agContext,
619                       bit32             status,
620                       bit8              indirectPayload,
621                       bit32             agInfoLen,
622                       agsaFrameHandle_t agFrameHandle );
623 #endif
624 
625 #ifndef ossaSetNVMDResponseCB
626 GLOBAL void ossaSetNVMDResponseCB(
627                       agsaRoot_t        *agRoot,
628                       agsaContext_t     *agContext,
629                       bit32             status );
630 #endif
631 
632 #ifndef ossaQueueProcessed
633 #ifdef SALLSDK_TEST_SET_OB_QUEUE
634 GLOBAL void ossaQueueProcessed(agsaRoot_t *agRoot,
635                                           bit32 queue,
636                                           bit32 obpi,
637                                           bit32 obci);
638 #else
639 #define ossaQueueProcessed(agRoot, queue, obpi, obci)
640 #endif
641 #endif
642 
643 #ifndef ossaSGpioCB
644 GLOBAL void ossaSGpioCB(
645                     agsaRoot_t              *agRoot,
646                     agsaContext_t           *agContext,
647                     agsaSGpioReqResponse_t  *pSgpioResponse
648                     );
649 #endif
650 
651 #ifndef ossaPCIeDiagExecuteCB
652 GLOBAL void ossaPCIeDiagExecuteCB(
653             agsaRoot_t             *agRoot,
654             agsaContext_t         *agContext,
655             bit32                  status,
656             bit32                  command,
657             agsaPCIeDiagResponse_t *resp );
658 #endif
659 
660 #ifndef ossaGetDFEDataCB
661 GLOBAL void ossaGetDFEDataCB(
662                              agsaRoot_t     *agRoot,
663                              agsaContext_t  *agContext,
664                              bit32           status,
665                              bit32           agInfoLen
666                              );
667 #endif
668 
669 #ifndef ossaVhistCaptureCB
670 GLOBAL void ossaVhistCaptureCB(
671                             agsaRoot_t    *agRoot,
672                             agsaContext_t *agContext,
673                             bit32         status,
674                             bit32         len);
675 #endif
676 
677 #ifndef ossaGetIOErrorStatsCB
678 GLOBAL void ossaGetIOErrorStatsCB (
679                       agsaRoot_t               *agRoot,
680                       agsaContext_t            *agContext,
681                       bit32                     status,
682                       agsaIOErrorEventStats_t  *stats
683                       );
684 #endif
685 
686 #ifndef ossaGetIOEventStatsCB
687 GLOBAL void ossaGetIOEventStatsCB (
688                       agsaRoot_t               *agRoot,
689                       agsaContext_t            *agContext,
690                       bit32                     status,
691                       agsaIOErrorEventStats_t  *stats
692                       );
693 #endif
694 
695 #ifndef ossaOperatorManagementCB
696 GLOBAL void ossaOperatorManagementCB(
697                   agsaRoot_t    *agRoot,
698                   agsaContext_t *agContext,
699                   bit32          status,
700                   bit32          eq
701                   );
702 #endif
703 
704 
705 #ifndef ossaEncryptSelftestExecuteCB
706 GLOBAL void ossaEncryptSelftestExecuteCB (
707                         agsaRoot_t    *agRoot,
708                         agsaContext_t *agContext,
709                         bit32          status,
710                         bit32          type,
711                         bit32          length,
712                         void          *TestResult
713                         );
714 
715 #endif
716 
717 #ifndef ossaGetOperatorCB
718 GLOBAL void ossaGetOperatorCB(
719                agsaRoot_t    *agRoot,
720                agsaContext_t *agContext,
721                bit32          status,
722                bit32          option,
723                bit32          num,
724                bit32          role,
725                agsaID_t      *id
726                );
727 
728 #endif
729 
730 #ifndef ossaSetOperatorCB
731 GLOBAL void ossaSetOperatorCB(
732               agsaRoot_t    *agRoot,
733               agsaContext_t *agContext,
734               bit32          status,
735               bit32          eq
736               );
737 
738 #endif
739 
740 #ifndef ossaDIFEncryptionOffloadStartCB
741 GLOBAL void ossaDIFEncryptionOffloadStartCB(
742               agsaRoot_t    *agRoot,
743               agsaContext_t *agContext,
744               bit32          status,
745               agsaOffloadDifDetails_t *agsaOffloadDifDetails
746               );
747 #endif
748 
749 /***************************************************************************
750  * Definition of Misc related functions end                                *
751  ***************************************************************************/
752 
753 /***************************************************************************
754  * Definition of Debug related functions start                             *
755  ***************************************************************************/
756 #ifndef ossaLogTrace0
757 GLOBAL void ossaLogTrace0(
758                           agsaRoot_t  *agRoot,
759                           bit32       traceCode
760                           );
761 #endif
762 
763 #ifndef ossaLogTrace1
764 GLOBAL void ossaLogTrace1(
765                           agsaRoot_t  *agRoot,
766                           bit32       traceCode,
767                           bit32       value1
768                           );
769 #endif
770 
771 #ifndef ossaLogTrace2
772 GLOBAL void ossaLogTrace2(
773                           agsaRoot_t  *agRoot,
774                           bit32       traceCode,
775                           bit32       value1,
776                           bit32       value2
777                           );
778 #endif
779 
780 #ifndef ossaLogTrace3
781 GLOBAL void ossaLogTrace3(
782                           agsaRoot_t  *agRoot,
783                           bit32       traceCode,
784                           bit32       value1,
785                           bit32       value2,
786                           bit32       value3
787                           );
788 #endif
789 
790 #ifndef ossaLogTrace4
791 GLOBAL void ossaLogTrace4(
792                           agsaRoot_t  *agRoot,
793                           bit32       traceCode,
794                           bit32       value1,
795                           bit32       value2,
796                           bit32       value3,
797                           bit32       value4
798                           );
799 #endif
800 
801 #ifndef ossaLogDebugString
802 GLOBAL void ossaLogDebugString(
803                          agsaRoot_t   *agRoot,
804                          bit32        level,
805                          char         *string,
806                          void         *ptr1,
807                          void         *ptr2,
808                          bit32        value1,
809                          bit32        value2
810                          );
811 #endif
812 
813 #ifdef SALLSDK_OS_IOMB_LOG_ENABLE
814 GLOBAL void ossaLogIomb(agsaRoot_t  *agRoot,
815                         bit32        queueNum,
816                         agBOOLEAN      isInbound,
817                         void        *pMsg,
818                         bit32        msgLength);
819 #else
820 #define ossaLogIomb(a, b,c,d,e )
821 #endif
822 
823 osGLOBAL void ossaPCI_TRIGGER(agsaRoot_t  *agRoot );
824 
825 #ifdef PERF_COUNT
826 osGLOBAL void ossaEnter(agsaRoot_t *agRoot, int io);
827 osGLOBAL void ossaLeave(agsaRoot_t *agRoot, int io);
828 #define OSSA_INP_ENTER(root) ossaEnter(root, 0)
829 #define OSSA_INP_LEAVE(root) ossaLeave(root, 0)
830 #define OSSA_OUT_ENTER(root) ossaEnter(root, 1)
831 #define OSSA_OUT_LEAVE(root) ossaLeave(root, 1)
832 #else
833 #define OSSA_INP_ENTER(root)
834 #define OSSA_INP_LEAVE(root)
835 #define OSSA_OUT_ENTER(root)
836 #define OSSA_OUT_LEAVE(root)
837 #endif
838 /***************************************************************************
839  * Definition of Debug related functions end                               *
840  ***************************************************************************/
841 
842 #endif  /*__SSDKOSAPI_H__ */
843