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