11573Srgrimes/******************************************************************************* 214287Spst*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. 31573Srgrimes* 41573Srgrimes*Redistribution and use in source and binary forms, with or without modification, are permitted provided 51573Srgrimes*that the following conditions are met: 61573Srgrimes*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 71573Srgrimes*following disclaimer. 81573Srgrimes*2. Redistributions in binary form must reproduce the above copyright notice, 91573Srgrimes*this list of conditions and the following disclaimer in the documentation and/or other materials provided 101573Srgrimes*with the distribution. 111573Srgrimes* 121573Srgrimes*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 131573Srgrimes*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 141573Srgrimes*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 151573Srgrimes*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 161573Srgrimes*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 171573Srgrimes*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 181573Srgrimes*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 191573Srgrimes*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 201573Srgrimes* 211573Srgrimes* $FreeBSD: releng/11.0/sys/dev/pms/RefTisa/sallsdk/api/saosapi.h 285242 2015-07-07 13:17:02Z achim $ 221573Srgrimes* 231573Srgrimes********************************************************************************/ 241573Srgrimes/*******************************************************************************/ 251573Srgrimes/*! \file saosapi.h 261573Srgrimes * \brief The file defines the declaration of OS APIs 271573Srgrimes * 281573Srgrimes */ 291573Srgrimes/*******************************************************************************/ 301573Srgrimes 311573Srgrimes#ifndef __SSDKOSAPI_H__ 321573Srgrimes#define __SSDKOSAPI_H__ 331573Srgrimes 3414287Spst#ifdef LINUX 351573Srgrimes#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,18) 3692986Sobrien 3792986Sobrien#ifdef FORCEINLINE 381573Srgrimes#undef FORCEINLINE 391573Srgrimes#define FORCEINLINE 401573Srgrimes#endif 411573Srgrimes 421573Srgrimes#endif 431573Srgrimes#endif 441573Srgrimes 451573Srgrimes/*************************************************************************** 461573Srgrimes * Definition of register access related functions start * 4771579Sdeischen ***************************************************************************/ 481573Srgrimes#ifndef ossaHwRegRead 491573SrgrimesGLOBAL FORCEINLINE 501573Srgrimesbit32 ossaHwRegRead( 511573Srgrimes agsaRoot_t *agRoot, 521573Srgrimes bit32 regOffset 531573Srgrimes ); 541573Srgrimes#endif 551573Srgrimes 561573Srgrimes#ifndef ossaHwRegWrite 571573SrgrimesGLOBAL FORCEINLINE 581573Srgrimesvoid ossaHwRegWrite( 5971579Sdeischen agsaRoot_t *agRoot, 601573Srgrimes bit32 regOffset, 611573Srgrimes bit32 regValue 621573Srgrimes ); 631573Srgrimes#endif 6414287Spst 6514287Spst#ifndef ossaHwRegReadExt 6614287SpstGLOBAL FORCEINLINE 6714287Spstbit32 ossaHwRegReadExt( 6814287Spst agsaRoot_t *agRoot, 6992905Sobrien bit32 busBaseNumber, 7092905Sobrien bit32 regOffset 7192905Sobrien ); 721573Srgrimes#endif 731573Srgrimes 741573Srgrimes#ifndef ossaHwRegWriteExt 751573SrgrimesGLOBAL FORCEINLINE 761573Srgrimesvoid ossaHwRegWriteExt( 771573Srgrimes agsaRoot_t *agRoot, 781573Srgrimes bit32 busBaseNumber, 791573Srgrimes bit32 regOffset, 801573Srgrimes bit32 regValue 811573Srgrimes ); 821573Srgrimes#endif 831573Srgrimes 841573Srgrimes#ifndef ossaHwRegReadConfig32 851573SrgrimesosGLOBAL bit32 ossaHwRegReadConfig32( 861573Srgrimes agsaRoot_t *agRoot, 871573Srgrimes bit32 regOffset 881573Srgrimes ); 891573Srgrimes#endif 90189291Sdelphij 911573Srgrimes 921573Srgrimes/*************************************************************************** 931573Srgrimes * Definition of register access related functions end * 941573Srgrimes ***************************************************************************/ 951573Srgrimes 961573Srgrimes/*************************************************************************** 971573Srgrimes * Definition of thread related functions start * 981573Srgrimes ***************************************************************************/ 99190344Sdelphij#ifndef ossaSingleThreadedEnter 1001573SrgrimesGLOBAL FORCEINLINE void ossaSingleThreadedEnter( 1011573Srgrimes agsaRoot_t *agRoot, 1021573Srgrimes bit32 syncLockId 1031573Srgrimes ); 1041573Srgrimes#endif 1051573Srgrimes 1061573Srgrimes#ifndef ossaSingleThreadedLeave 1071573SrgrimesGLOBAL FORCEINLINE void ossaSingleThreadedLeave( 1081573Srgrimes agsaRoot_t *agRoot, 1091573Srgrimes bit32 syncLockId 1101573Srgrimes ); 1111573Srgrimes#endif 1121573Srgrimes 1131573Srgrimes#ifndef ossaStallThread 1141573SrgrimesGLOBAL void ossaStallThread( 1151573Srgrimes agsaRoot_t *agRoot, 1161573Srgrimes bit32 microseconds 1171573Srgrimes ); 1181573Srgrimes#endif 1191573Srgrimes/*************************************************************************** 1201573Srgrimes * Definition of thread related functions end * 1211573Srgrimes ***************************************************************************/ 1221573Srgrimes 1231573Srgrimes/*************************************************************************** 1241573Srgrimes * Definition of interrupt related functions start * 12517141Sjkh ***************************************************************************/ 1261573Srgrimes#ifndef ossaDisableInterrupts 1271573Srgrimes#define ossaDisableInterrupts(agRoot, interruptVectorIndex) \ 1281573Srgrimesdo \ 1291573Srgrimes{ \ 1301573Srgrimes agsaLLRoot_t *saROOT = (agsaLLRoot_t *)(agRoot->sdkData);\ 1311573Srgrimes saROOT->DisableInterrupts(agRoot, interruptVectorIndex); \ 1321573Srgrimes} while(0) 1331573Srgrimes#endif 1341573Srgrimes 1351573Srgrimes#ifndef ossaReenableInterrupts 1361573Srgrimes#define ossaReenableInterrupts(agRoot, interruptVectorIndex) \ 1371573Srgrimesdo \ 1381573Srgrimes{ \ 1391573Srgrimes agsaLLRoot_t *saROOT = (agsaLLRoot_t *)(agRoot->sdkData); \ 1401573Srgrimes saROOT->ReEnableInterrupts(agRoot, interruptVectorIndex); \ 1411573Srgrimes} while(0) 1421573Srgrimes#endif 1431573Srgrimes 1441573Srgrimes/*************************************************************************** 1451573Srgrimes * Definition of interrupt related functions end * 1461573Srgrimes ***************************************************************************/ 1471573Srgrimes 1481573Srgrimes/*************************************************************************** 1491573Srgrimes * Definition of cache related functions start * 1501573Srgrimes ***************************************************************************/ 1511573Srgrimes#ifndef ossaCacheInvalidate 1521573SrgrimesGLOBAL FORCEINLINE void ossaCacheInvalidate( 1531573Srgrimes agsaRoot_t *agRoot, 1541573Srgrimes void *osMemHandle, 1551573Srgrimes void *virtPtr, 1561573Srgrimes bit32 length 1571573Srgrimes ); 1581573Srgrimes#endif 1591573Srgrimes 1601573Srgrimes#ifndef ossaCacheFlush 1611573SrgrimesGLOBAL FORCEINLINE void ossaCacheFlush( 1621573Srgrimes agsaRoot_t *agRoot, 1631573Srgrimes void *osMemHandle, 1641573Srgrimes void *virtPtr, 1651573Srgrimes bit32 length 1661573Srgrimes ); 1671573Srgrimes#endif 1681573Srgrimes 1691573Srgrimes#ifndef ossaCachePreFlush 1701573SrgrimesGLOBAL FORCEINLINE void ossaCachePreFlush( 17114287Spst agsaRoot_t *agRoot, 1721573Srgrimes void *osMemHandle, 17314287Spst void *virtPtr, 1741573Srgrimes bit32 length 1751573Srgrimes ); 1761573Srgrimes#endif 1771573Srgrimes 1781573Srgrimes/*************************************************************************** 1791573Srgrimes * Definition of cache related functions end * 1801573Srgrimes ***************************************************************************/ 1811573Srgrimes 1821573Srgrimes/*************************************************************************** 1831573Srgrimes * Definition of hardware related functions start * 1841573Srgrimes ***************************************************************************/ 1851573Srgrimes#ifndef ossaHwCB 1861573SrgrimesGLOBAL void ossaHwCB( 1871573Srgrimes agsaRoot_t *agRoot, 1881573Srgrimes agsaPortContext_t *agPortContext, 1891573Srgrimes bit32 event, 19014287Spst bit32 eventParm1, 1911573Srgrimes void *eventParm2, 19214287Spst void *eventParm3 1931573Srgrimes ); 1941573Srgrimes#endif 1951573Srgrimes 1961573Srgrimes#ifndef ossaHwEventAckCB 1971573SrgrimesGLOBAL void ossaHwEventAckCB( 1981573Srgrimes agsaRoot_t *agRoot, 1991573Srgrimes agsaContext_t *agContext, 200189327Sdelphij bit32 status 20156698Sjasone ); 2021573Srgrimes#endif 2031573Srgrimes/*************************************************************************** 2041573Srgrimes * Definition of hardware related functions end * 2051573Srgrimes ***************************************************************************/ 2061573Srgrimes 2071573Srgrimes/*************************************************************************** 2081573Srgrimes * Definition of SATA related functions start * 20914287Spst ***************************************************************************/ 2101573Srgrimes#ifndef ossaSATACompleted 2111573SrgrimesGLOBAL void ossaSATACompleted( 21256698Sjasone agsaRoot_t *agRoot, 2131573Srgrimes agsaIORequest_t *agIORequest, 2141573Srgrimes bit32 agIOStatus, 21571579Sdeischen void *agFirstDword, 2161573Srgrimes bit32 agIOInfoLen, 2171573Srgrimes void *agParam 21856698Sjasone ); 2191573Srgrimes 2201573Srgrimes#endif 2211573Srgrimes 2221573Srgrimes#ifndef ossaSATAEvent 2231573SrgrimesGLOBAL void ossaSATAEvent( 2241573Srgrimes agsaRoot_t *agRoot, 2251573Srgrimes agsaIORequest_t *agIORequest, 2261573Srgrimes agsaPortContext_t *agPortContext, 2271573Srgrimes agsaDevHandle_t *agDevHandle, 2281573Srgrimes bit32 event, 2291573Srgrimes bit32 agIOInfoLen, 2301573Srgrimes void *agParam 23114287Spst ); 23214287Spst#endif 2331573Srgrimes 23414287Spst#ifndef ossaSATAAbortCB 23514287Spst GLOBAL void ossaSATAAbortCB( 23614287Spst agsaRoot_t *agRoot, 23714287Spst agsaIORequest_t *agIORequest, 23814287Spst bit32 flag, 23914287Spst bit32 status 24014287Spst ); 2411573Srgrimes#endif 24214287Spst 2431573Srgrimes/*************************************************************************** 24414287Spst * Definition of SATA related functions end * 24517141Sjkh ***************************************************************************/ 2461573Srgrimes 24714287Spst 2481573Srgrimes/*************************************************************************** 24914287Spst * Definition of SAS related functions start * 25014287Spst ***************************************************************************/ 25114287Spst#ifndef ossaSSPEvent 25214287SpstGLOBAL void ossaSSPEvent( 2531573Srgrimes agsaRoot_t *agRoot, 2541573Srgrimes agsaIORequest_t *agIORequest, 2551573Srgrimes agsaPortContext_t *agPortContext, 2561573Srgrimes agsaDevHandle_t *agDevHandle, 2571573Srgrimes bit32 event, 2581573Srgrimes bit16 sspTag, 2591573Srgrimes bit32 agIOInfoLen, 2601573Srgrimes void *agParam 2611573Srgrimes ); 2621573Srgrimes#endif 2631573Srgrimes 2641573SrgrimesosGLOBAL void 2651573SrgrimesossaSMPIoctlCompleted( 2661573Srgrimes agsaRoot_t *agRoot, 2671573Srgrimes agsaIORequest_t *agIORequest, 26814287Spst bit32 agIOStatus, 2691573Srgrimes bit32 agIOInfoLen, 2701573Srgrimes agsaFrameHandle_t agFrameHandle 2711573Srgrimes ); 27214287Spst 2731573Srgrimes#ifndef ossaSMPCompleted 2741573SrgrimesGLOBAL void ossaSMPCompleted( 2751573Srgrimes agsaRoot_t *agRoot, 2761573Srgrimes agsaIORequest_t *agIORequest, 2771573Srgrimes bit32 agIOStatus, 27817141Sjkh bit32 agIOInfoLen, 27917141Sjkh agsaFrameHandle_t agFrameHandle 2801573Srgrimes ); 2811573Srgrimes#endif 2821573Srgrimes 2831573Srgrimes#ifndef ossaSMPReqReceived 2841573SrgrimesGLOBAL void ossaSMPReqReceived( 2851573Srgrimes agsaRoot_t *agRoot, 2861573Srgrimes agsaDevHandle_t *agDevHandle, 2871573Srgrimes agsaFrameHandle_t agFrameHandle, 2881573Srgrimes bit32 agFrameLength, 2891573Srgrimes bit32 phyId 2901573Srgrimes ); 2911573Srgrimes#endif 2921573Srgrimes 2931573Srgrimes#ifndef ossaSSPCompleted 2941573SrgrimesGLOBAL FORCEINLINE void ossaSSPCompleted( 2951573Srgrimes agsaRoot_t *agRoot, 2961573Srgrimes agsaIORequest_t *agIORequest, 2971573Srgrimes bit32 agIOStatus, 2981573Srgrimes bit32 agIOInfoLen, 2991573Srgrimes void *agParam, 3001573Srgrimes bit16 sspTag, 3011573Srgrimes bit32 agOtherInfo 3021573Srgrimes ); 3031573Srgrimes#endif 3041573Srgrimes 3051573Srgrimes#ifdef FAST_IO_TEST 3061573SrgrimesGLOBAL void ossaFastSSPCompleted( 30714287Spst agsaRoot_t *agRoot, 3081573Srgrimes agsaIORequest_t *cbArg, 3091573Srgrimes bit32 agIOStatus, 3101573Srgrimes bit32 agIOInfoLen, 3111573Srgrimes void *agParam, 3121573Srgrimes bit16 sspTag, 3131573Srgrimes bit32 agOtherInfo 3141573Srgrimes ); 3151573Srgrimes#endif 31614287Spst 3171573Srgrimes#ifndef ossaSSPReqReceived 31814287SpstGLOBAL void ossaSSPReqReceived( 3191573Srgrimes agsaRoot_t *agRoot, 32014287Spst agsaDevHandle_t *agDevHandle, 3211573Srgrimes agsaFrameHandle_t agFrameHandle, 3221573Srgrimes bit16 agInitiatorTag, 3231573Srgrimes bit32 parameter, 3241573Srgrimes bit32 agFrameLen 3251573Srgrimes ); 3261573Srgrimes#endif 3271573Srgrimes 3281573SrgrimesosGLOBAL void 3291573SrgrimesossaSSPIoctlCompleted( 330190344Sdelphij agsaRoot_t *agRoot, 331190344Sdelphij agsaIORequest_t *agIORequest, 3321573Srgrimes bit32 agIOStatus, 3331573Srgrimes bit32 agIOInfoLen, 3341573Srgrimes void *agParam, 33556698Sjasone bit16 sspTag, 3361573Srgrimes bit32 agOtherInfo 3371573Srgrimes ); 338190344Sdelphij 3391573Srgrimes 3401573Srgrimes#ifndef ossaSSPAbortCB 3411573SrgrimesGLOBAL void ossaSSPAbortCB( 3421573Srgrimes agsaRoot_t *agRoot, 3431573Srgrimes agsaIORequest_t *agIORequest, 3441573Srgrimes bit32 flag, 3451573Srgrimes bit32 status 3461573Srgrimes ); 3471573Srgrimes#endif 3481573Srgrimes 3491573Srgrimes#ifndef ossaSMPAbortCB 3501573SrgrimesGLOBAL void ossaSMPAbortCB( 3511573Srgrimes agsaRoot_t *agRoot, 352189291Sdelphij agsaIORequest_t *agIORequest, 3531573Srgrimes bit32 flag, 3541573Srgrimes bit32 status 3551573Srgrimes ); 3561573Srgrimes#endif 3571573Srgrimes 3581573Srgrimes#ifndef ossaReconfigSASParamsCB 3591573SrgrimesGLOBAL void ossaReconfigSASParamsCB( 3601573Srgrimes agsaRoot_t *agRoot, 36114287Spst agsaContext_t *agContext, 3621573Srgrimes bit32 status, 36314287Spst agsaSASReconfig_t *agSASConfig 3641573Srgrimes); 3651573Srgrimes#endif 3661573Srgrimes 3671573Srgrimes/*************************************************************************** 3681573Srgrimes * Definition of SAS related functions end * 3691573Srgrimes ***************************************************************************/ 3701573Srgrimes 3711573Srgrimes/*************************************************************************** 3721573Srgrimes * Definition of Discovery related functions start * 3731573Srgrimes ***************************************************************************/ 3741573Srgrimes#ifndef ossaDiscoverSataCB 3751573SrgrimesGLOBAL void ossaDiscoverSataCB( 3761573Srgrimes agsaRoot_t *agRoot, 3771573Srgrimes agsaPortContext_t *agPortContext, 3781573Srgrimes bit32 event, 3791573Srgrimes void *pParm1, 3801573Srgrimes void *pParm2 3811573Srgrimes ); 3821573Srgrimes#endif 3831573Srgrimes 3841573Srgrimes#ifndef ossaDiscoverSasCB 385189291SdelphijGLOBAL void ossaDiscoverSasCB( 3861573Srgrimes agsaRoot_t *agRoot, 3871573Srgrimes agsaPortContext_t *agPortContext, 3881573Srgrimes bit32 event, 38939058Simp void *pParm1, 3901573Srgrimes void *pParm2 3911573Srgrimes ); 39239058Simp#endif 39339058Simp 3941573Srgrimes#ifndef ossaDeviceHandleAccept 39568234SkrisGLOBAL bit32 ossaDeviceHandleAccept( 3961573Srgrimes agsaRoot_t *agRoot, 3971573Srgrimes agsaDevHandle_t *agDevHandle, 39871579Sdeischen agsaSASDeviceInfo_t *agDeviceInfo, 3991573Srgrimes agsaPortContext_t *agPortContext, 4001573Srgrimes bit32 *hostAssignedDeviceId 40171579Sdeischen ); 4021573Srgrimes#endif 4031573Srgrimes 4041573Srgrimes#ifndef ossaGetDeviceHandlesCB 4051573SrgrimesGLOBAL void ossaGetDeviceHandlesCB( 406189291Sdelphij agsaRoot_t *agRoot, 4071573Srgrimes agsaContext_t *agContext, 4081573Srgrimes agsaPortContext_t *agPortContext, 4091573Srgrimes agsaDevHandle_t *agDev[], 4101573Srgrimes bit32 validDevs 4111573Srgrimes ); 4121573Srgrimes#endif 4131573Srgrimes 4141573Srgrimes#ifndef ossaGetDeviceInfoCB 4151573SrgrimesGLOBAL void ossaGetDeviceInfoCB( 4161573Srgrimes agsaRoot_t *agRoot, 4171573Srgrimes agsaContext_t *agContext, 4181573Srgrimes agsaDevHandle_t *agDevHandle, 4191573Srgrimes bit32 status, 4201573Srgrimes void *agInfo 4211573Srgrimes ); 4221573Srgrimes#endif 4231573Srgrimes 424189291Sdelphij#ifndef ossaDeviceHandleRemovedEvent 4251573SrgrimesGLOBAL void ossaDeviceHandleRemovedEvent ( 4261573Srgrimes agsaRoot_t *agRoot, 4271573Srgrimes agsaDevHandle_t *agDevHandle, 4281573Srgrimes agsaPortContext_t *agPortContext 4291573Srgrimes ); 4301573Srgrimes#endif 4311573Srgrimes 4321573Srgrimes#ifndef ossaGetDeviceStateCB 4331573SrgrimesGLOBAL void ossaGetDeviceStateCB( 4341573Srgrimes agsaRoot_t *agRoot, 4351573Srgrimes agsaContext_t *agContext, 4361573Srgrimes agsaDevHandle_t *agDevHandle, 43714287Spst bit32 status, 4381573Srgrimes bit32 deviceState 4391573Srgrimes ); 4401573Srgrimes#endif 4411573Srgrimes 4421573Srgrimes#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