xref: /freebsd/sys/dev/pms/RefTisa/sallsdk/spc/saproto.h (revision 2ff63af9b88c7413b7d71715b5532625752a248e)
1*4e1bc9a0SAchim Leubner /*******************************************************************************
2*4e1bc9a0SAchim Leubner *Copyright (c) 2014 PMC-Sierra, Inc.  All rights reserved.
3*4e1bc9a0SAchim Leubner *
4*4e1bc9a0SAchim Leubner *Redistribution and use in source and binary forms, with or without modification, are permitted provided
5*4e1bc9a0SAchim Leubner *that the following conditions are met:
6*4e1bc9a0SAchim Leubner *1. Redistributions of source code must retain the above copyright notice, this list of conditions and the
7*4e1bc9a0SAchim Leubner *following disclaimer.
8*4e1bc9a0SAchim Leubner *2. Redistributions in binary form must reproduce the above copyright notice,
9*4e1bc9a0SAchim Leubner *this list of conditions and the following disclaimer in the documentation and/or other materials provided
10*4e1bc9a0SAchim Leubner *with the distribution.
11*4e1bc9a0SAchim Leubner *
12*4e1bc9a0SAchim Leubner *THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED
13*4e1bc9a0SAchim Leubner *WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
14*4e1bc9a0SAchim Leubner *FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
15*4e1bc9a0SAchim Leubner *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
16*4e1bc9a0SAchim Leubner *NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
17*4e1bc9a0SAchim Leubner *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
18*4e1bc9a0SAchim Leubner *LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19*4e1bc9a0SAchim Leubner *SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
20*4e1bc9a0SAchim Leubner *
21*4e1bc9a0SAchim Leubner *
22*4e1bc9a0SAchim Leubner ********************************************************************************/
23*4e1bc9a0SAchim Leubner /*******************************************************************************/
24*4e1bc9a0SAchim Leubner /*! \file saproto.h
25*4e1bc9a0SAchim Leubner  *  \brief The file defines the function delcaration for internal used function
26*4e1bc9a0SAchim Leubner  *
27*4e1bc9a0SAchim Leubner  */
28*4e1bc9a0SAchim Leubner /******************************************************************************/
29*4e1bc9a0SAchim Leubner 
30*4e1bc9a0SAchim Leubner #ifndef  __SAPROTO_H__
31*4e1bc9a0SAchim Leubner 
32*4e1bc9a0SAchim Leubner #define __SAPROTO_H__
33*4e1bc9a0SAchim Leubner 
34*4e1bc9a0SAchim Leubner /* function declaration */
35*4e1bc9a0SAchim Leubner /*** SATIMER.C ***/
36*4e1bc9a0SAchim Leubner GLOBAL agsaTimerDesc_t *siTimerAdd(
37*4e1bc9a0SAchim Leubner                                   agsaRoot_t      *agRoot,
38*4e1bc9a0SAchim Leubner                                   bit32           timeout,
39*4e1bc9a0SAchim Leubner                                   agsaCallback_t  pfnTimeout,
40*4e1bc9a0SAchim Leubner                                   bit32           Event,
41*4e1bc9a0SAchim Leubner                                   void *          pParm
42*4e1bc9a0SAchim Leubner                                   );
43*4e1bc9a0SAchim Leubner 
44*4e1bc9a0SAchim Leubner GLOBAL void siTimerRemove(
45*4e1bc9a0SAchim Leubner                           agsaRoot_t      *agRoot,
46*4e1bc9a0SAchim Leubner                           agsaTimerDesc_t *pTimer
47*4e1bc9a0SAchim Leubner                           );
48*4e1bc9a0SAchim Leubner 
49*4e1bc9a0SAchim Leubner GLOBAL void siTimerRemoveAll(agsaRoot_t   *agRoot);
50*4e1bc9a0SAchim Leubner 
51*4e1bc9a0SAchim Leubner /*** SAINIT.C ***/
52*4e1bc9a0SAchim Leubner GLOBAL bit32 siConfiguration(agsaRoot_t    *agRoot,
53*4e1bc9a0SAchim Leubner                             mpiConfig_t    *mpiConfig,
54*4e1bc9a0SAchim Leubner                             agsaHwConfig_t *hwConfig,
55*4e1bc9a0SAchim Leubner                             agsaSwConfig_t *swConfig
56*4e1bc9a0SAchim Leubner                             );
57*4e1bc9a0SAchim Leubner 
58*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiInitialize(agsaRoot_t  *agRoot,
59*4e1bc9a0SAchim Leubner                            mpiMemReq_t *memoryAllocated,
60*4e1bc9a0SAchim Leubner                            mpiConfig_t *config
61*4e1bc9a0SAchim Leubner                            );
62*4e1bc9a0SAchim Leubner 
63*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiWaitForConfigTable(agsaRoot_t *agRoot,
64*4e1bc9a0SAchim Leubner                                    spc_configMainDescriptor_t *config
65*4e1bc9a0SAchim Leubner                                    );
66*4e1bc9a0SAchim Leubner 
67*4e1bc9a0SAchim Leubner GLOBAL void mpiUpdateIBQueueCfgTable(agsaRoot_t *agRoot,
68*4e1bc9a0SAchim Leubner                                      spc_inboundQueueDescriptor_t *inQueueCfg,
69*4e1bc9a0SAchim Leubner                                      bit32 QueueTableOffset,
70*4e1bc9a0SAchim Leubner                                      bit8 pcibar
71*4e1bc9a0SAchim Leubner                                      );
72*4e1bc9a0SAchim Leubner 
73*4e1bc9a0SAchim Leubner GLOBAL void mpiUpdateOBQueueCfgTable(agsaRoot_t *agRoot,
74*4e1bc9a0SAchim Leubner                                      spc_outboundQueueDescriptor_t *outQueueCfg,
75*4e1bc9a0SAchim Leubner                                      bit32 QueueTableOffset,
76*4e1bc9a0SAchim Leubner                                      bit8 pcibar
77*4e1bc9a0SAchim Leubner                                      );
78*4e1bc9a0SAchim Leubner GLOBAL void mpiUpdateFatalErrorTable(agsaRoot_t             *agRoot,
79*4e1bc9a0SAchim Leubner                               bit32                         FerrTableOffset,
80*4e1bc9a0SAchim Leubner                               bit32                         lowerBaseAddress,
81*4e1bc9a0SAchim Leubner                               bit32                         upperBaseAddress,
82*4e1bc9a0SAchim Leubner                               bit32                         length,
83*4e1bc9a0SAchim Leubner                               bit8                          pcibar);
84*4e1bc9a0SAchim Leubner 
85*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetPCIBarIndex(agsaRoot_t *agRoot,
86*4e1bc9a0SAchim Leubner                                bit32 pciBar
87*4e1bc9a0SAchim Leubner                                );
88*4e1bc9a0SAchim Leubner 
89*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiUnInitConfigTable(agsaRoot_t *agRoot);
90*4e1bc9a0SAchim Leubner 
91*4e1bc9a0SAchim Leubner GLOBAL void mpiReadGSTable(agsaRoot_t             *agRoot,
92*4e1bc9a0SAchim Leubner                          spc_GSTableDescriptor_t  *mpiGSTable);
93*4e1bc9a0SAchim Leubner 
94*4e1bc9a0SAchim Leubner GLOBAL void siInitResources(agsaRoot_t              *agRoot,
95*4e1bc9a0SAchim Leubner                             agsaMemoryRequirement_t *memoryAllocated,
96*4e1bc9a0SAchim Leubner                             agsaHwConfig_t          *hwConfig,
97*4e1bc9a0SAchim Leubner                             agsaSwConfig_t          *swConfig,
98*4e1bc9a0SAchim Leubner                             bit32                   usecsPerTick);
99*4e1bc9a0SAchim Leubner 
100*4e1bc9a0SAchim Leubner GLOBAL void mpiReadCALTable(agsaRoot_t      *agRoot,
101*4e1bc9a0SAchim Leubner                             spc_SPASTable_t *mpiCALTable,
102*4e1bc9a0SAchim Leubner                             bit32           index);
103*4e1bc9a0SAchim Leubner 
104*4e1bc9a0SAchim Leubner GLOBAL void mpiWriteCALTable(agsaRoot_t     *agRoot,
105*4e1bc9a0SAchim Leubner                             spc_SPASTable_t *mpiCALTable,
106*4e1bc9a0SAchim Leubner                             bit32           index);
107*4e1bc9a0SAchim Leubner 
108*4e1bc9a0SAchim Leubner GLOBAL void mpiWriteCALAll(agsaRoot_t     *agRoot,
109*4e1bc9a0SAchim Leubner                            agsaPhyAnalogSetupTable_t *mpiCALTable);
110*4e1bc9a0SAchim Leubner 
111*4e1bc9a0SAchim Leubner GLOBAL void mpiWrIntVecTable(agsaRoot_t *agRoot,
112*4e1bc9a0SAchim Leubner                             mpiConfig_t* config
113*4e1bc9a0SAchim Leubner                             );
114*4e1bc9a0SAchim Leubner 
115*4e1bc9a0SAchim Leubner GLOBAL void mpiWrAnalogSetupTable(agsaRoot_t *agRoot,
116*4e1bc9a0SAchim Leubner                             mpiConfig_t      *config
117*4e1bc9a0SAchim Leubner                             );
118*4e1bc9a0SAchim Leubner 
119*4e1bc9a0SAchim Leubner 
120*4e1bc9a0SAchim Leubner GLOBAL void mpiWrPhyAttrbTable(agsaRoot_t *agRoot,
121*4e1bc9a0SAchim Leubner                             sasPhyAttribute_t *phyAttrib
122*4e1bc9a0SAchim Leubner                             );
123*4e1bc9a0SAchim Leubner 
124*4e1bc9a0SAchim Leubner /*** SAPHY.C ***/
125*4e1bc9a0SAchim Leubner GLOBAL bit32 siPhyStopCB(
126*4e1bc9a0SAchim Leubner                       agsaRoot_t    *agRoot,
127*4e1bc9a0SAchim Leubner                       bit32         phyId,
128*4e1bc9a0SAchim Leubner                       bit32         status,
129*4e1bc9a0SAchim Leubner                       agsaContext_t *agContext,
130*4e1bc9a0SAchim Leubner                       bit32         portId,
131*4e1bc9a0SAchim Leubner                       bit32         npipps
132*4e1bc9a0SAchim Leubner                       );
133*4e1bc9a0SAchim Leubner 
134*4e1bc9a0SAchim Leubner /*** SAPORT.C ***/
135*4e1bc9a0SAchim Leubner GLOBAL void siPortInvalid(
136*4e1bc9a0SAchim Leubner                           agsaRoot_t  *agRoot,
137*4e1bc9a0SAchim Leubner                           agsaPort_t  *pPort
138*4e1bc9a0SAchim Leubner                           );
139*4e1bc9a0SAchim Leubner 
140*4e1bc9a0SAchim Leubner GLOBAL agsaDeviceDesc_t *siPortSASDeviceAdd(
141*4e1bc9a0SAchim Leubner                                     agsaRoot_t        *agRoot,
142*4e1bc9a0SAchim Leubner                                     agsaPort_t        *pPort,
143*4e1bc9a0SAchim Leubner                                     agsaSASIdentify_t sasIdentify,
144*4e1bc9a0SAchim Leubner                                     bit32             sasInitiator,
145*4e1bc9a0SAchim Leubner                                     bit32             smpTimeout,
146*4e1bc9a0SAchim Leubner                                     bit32             itNexusTimeout,
147*4e1bc9a0SAchim Leubner                                     bit32             firstBurstSize,
148*4e1bc9a0SAchim Leubner                                     bit8              dTypeSRate,
149*4e1bc9a0SAchim Leubner                                     bit32              flag
150*4e1bc9a0SAchim Leubner                                     );
151*4e1bc9a0SAchim Leubner 
152*4e1bc9a0SAchim Leubner GLOBAL void siPortDeviceRemove(
153*4e1bc9a0SAchim Leubner                               agsaRoot_t        *agRoot,
154*4e1bc9a0SAchim Leubner                               agsaPort_t        *pPort,
155*4e1bc9a0SAchim Leubner                               agsaDeviceDesc_t  *pDevice,
156*4e1bc9a0SAchim Leubner                               bit32             unmap
157*4e1bc9a0SAchim Leubner                               );
158*4e1bc9a0SAchim Leubner 
159*4e1bc9a0SAchim Leubner GLOBAL agsaDeviceDesc_t *siPortSATADeviceAdd(
160*4e1bc9a0SAchim Leubner                                               agsaRoot_t              *agRoot,
161*4e1bc9a0SAchim Leubner                                               agsaPort_t              *pPort,
162*4e1bc9a0SAchim Leubner                                               agsaDeviceDesc_t        *pSTPBridge,
163*4e1bc9a0SAchim Leubner                                               bit8                    *pSignature,
164*4e1bc9a0SAchim Leubner                                               bit8                    pm,
165*4e1bc9a0SAchim Leubner                                               bit8                    pmField,
166*4e1bc9a0SAchim Leubner                                               bit32                   smpReqTimeout,
167*4e1bc9a0SAchim Leubner                                               bit32                   itNexusTimeout,
168*4e1bc9a0SAchim Leubner                                               bit32                   firstBurstSize,
169*4e1bc9a0SAchim Leubner                                               bit8                    dTypeSRate,
170*4e1bc9a0SAchim Leubner                                               bit32                   flag
171*4e1bc9a0SAchim Leubner                                               );
172*4e1bc9a0SAchim Leubner 
173*4e1bc9a0SAchim Leubner GLOBAL void siPortDeviceListRemove(
174*4e1bc9a0SAchim Leubner                               agsaRoot_t        *agRoot,
175*4e1bc9a0SAchim Leubner                               agsaPort_t        *pPort,
176*4e1bc9a0SAchim Leubner                               agsaDeviceDesc_t  *pDevice
177*4e1bc9a0SAchim Leubner                               );
178*4e1bc9a0SAchim Leubner 
179*4e1bc9a0SAchim Leubner /*** SASATA.C ***/
180*4e1bc9a0SAchim Leubner GLOBAL void siSATASignatureCpy(
181*4e1bc9a0SAchim Leubner                                 bit8  *pDstSignature,
182*4e1bc9a0SAchim Leubner                                 bit8  *pSrcSignature
183*4e1bc9a0SAchim Leubner                                 );
184*4e1bc9a0SAchim Leubner 
185*4e1bc9a0SAchim Leubner /*** SASSP.C ***/
186*4e1bc9a0SAchim Leubner 
187*4e1bc9a0SAchim Leubner /*** SAHW.C ***/
188*4e1bc9a0SAchim Leubner #ifdef SA_ENABLE_HDA_FUNCTIONS
189*4e1bc9a0SAchim Leubner GLOBAL bit32 siHDAMode(
190*4e1bc9a0SAchim Leubner                       agsaRoot_t  *agRoot,
191*4e1bc9a0SAchim Leubner                       bit32       HDAMode,
192*4e1bc9a0SAchim Leubner                       agsaFwImg_t *userFwImg
193*4e1bc9a0SAchim Leubner                       );
194*4e1bc9a0SAchim Leubner 
195*4e1bc9a0SAchim Leubner GLOBAL bit32 siHDAMode_V(
196*4e1bc9a0SAchim Leubner                       agsaRoot_t  *agRoot,
197*4e1bc9a0SAchim Leubner                       bit32       HDAMode,
198*4e1bc9a0SAchim Leubner                       agsaFwImg_t *userFwImg
199*4e1bc9a0SAchim Leubner                       );
200*4e1bc9a0SAchim Leubner 
201*4e1bc9a0SAchim Leubner #endif
202*4e1bc9a0SAchim Leubner 
203*4e1bc9a0SAchim Leubner GLOBAL bit32 siBar4Shift(
204*4e1bc9a0SAchim Leubner   agsaRoot_t  *agRoot,
205*4e1bc9a0SAchim Leubner   bit32       shiftValue
206*4e1bc9a0SAchim Leubner   );
207*4e1bc9a0SAchim Leubner 
208*4e1bc9a0SAchim Leubner 
209*4e1bc9a0SAchim Leubner GLOBAL bit32 siSoftReset(
210*4e1bc9a0SAchim Leubner                        agsaRoot_t  *agRoot,
211*4e1bc9a0SAchim Leubner                        bit32       signature
212*4e1bc9a0SAchim Leubner                        );
213*4e1bc9a0SAchim Leubner 
214*4e1bc9a0SAchim Leubner GLOBAL bit32 siSpcSoftReset(
215*4e1bc9a0SAchim Leubner                        agsaRoot_t  *agRoot,
216*4e1bc9a0SAchim Leubner                        bit32       signature
217*4e1bc9a0SAchim Leubner                        );
218*4e1bc9a0SAchim Leubner 
219*4e1bc9a0SAchim Leubner GLOBAL void siChipReset(
220*4e1bc9a0SAchim Leubner                        agsaRoot_t  *agRoot
221*4e1bc9a0SAchim Leubner                        );
222*4e1bc9a0SAchim Leubner 
223*4e1bc9a0SAchim Leubner 
224*4e1bc9a0SAchim Leubner GLOBAL bit32 siChipResetV(
225*4e1bc9a0SAchim Leubner                        agsaRoot_t  *agRoot,
226*4e1bc9a0SAchim Leubner                        bit32       signature
227*4e1bc9a0SAchim Leubner                        );
228*4e1bc9a0SAchim Leubner 
229*4e1bc9a0SAchim Leubner GLOBAL void siChipResetSpc(
230*4e1bc9a0SAchim Leubner                       agsaRoot_t  *agRoot
231*4e1bc9a0SAchim Leubner                       );
232*4e1bc9a0SAchim Leubner 
233*4e1bc9a0SAchim Leubner 
234*4e1bc9a0SAchim Leubner /*** SAUTIL.C ***/
235*4e1bc9a0SAchim Leubner GLOBAL void siPrintBuffer(
236*4e1bc9a0SAchim Leubner                           bit32                 debugLevel,
237*4e1bc9a0SAchim Leubner                           siPrintType           type,
238*4e1bc9a0SAchim Leubner                           char                  *header,
239*4e1bc9a0SAchim Leubner                           void                  *a,
240*4e1bc9a0SAchim Leubner                           bit32                 length
241*4e1bc9a0SAchim Leubner                           );
242*4e1bc9a0SAchim Leubner int siIsHexDigit(char a);
243*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE void* si_memcpy(void *dst, void *src, bit32 count);
244*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE void* si_memset(void *s, int c, bit32 n);
245*4e1bc9a0SAchim Leubner 
246*4e1bc9a0SAchim Leubner GLOBAL void siDumpActiveIORequests(
247*4e1bc9a0SAchim Leubner                           agsaRoot_t              *agRoot,
248*4e1bc9a0SAchim Leubner                           bit32                   count);
249*4e1bc9a0SAchim Leubner 
250*4e1bc9a0SAchim Leubner 
251*4e1bc9a0SAchim Leubner GLOBAL void siClearActiveIORequests(   agsaRoot_t  *agRoot);
252*4e1bc9a0SAchim Leubner 
253*4e1bc9a0SAchim Leubner GLOBAL void siCountActiveIORequestsOnDevice( agsaRoot_t *agRoot,  bit32      device );
254*4e1bc9a0SAchim Leubner GLOBAL void siClearActiveIORequestsOnDevice( agsaRoot_t *agRoot,  bit32      device );
255*4e1bc9a0SAchim Leubner 
256*4e1bc9a0SAchim Leubner 
257*4e1bc9a0SAchim Leubner 
258*4e1bc9a0SAchim Leubner /*** SAINT.C ***/
259*4e1bc9a0SAchim Leubner GLOBAL void siEventPhyUpRcvd(
260*4e1bc9a0SAchim Leubner                              agsaRoot_t  *agRoot,
261*4e1bc9a0SAchim Leubner                              bit32       phyId,
262*4e1bc9a0SAchim Leubner                              agsaSASIdentify_t *agSASIdentify,
263*4e1bc9a0SAchim Leubner                              bit32       portId,
264*4e1bc9a0SAchim Leubner                              bit32       npipps,
265*4e1bc9a0SAchim Leubner                              bit8        linkRate
266*4e1bc9a0SAchim Leubner                              );
267*4e1bc9a0SAchim Leubner 
268*4e1bc9a0SAchim Leubner GLOBAL void siEventSATASignatureRcvd(
269*4e1bc9a0SAchim Leubner                                     agsaRoot_t    *agRoot,
270*4e1bc9a0SAchim Leubner                                     bit32         phyId,
271*4e1bc9a0SAchim Leubner                                     void          *pMsg,
272*4e1bc9a0SAchim Leubner                                     bit32         portId,
273*4e1bc9a0SAchim Leubner                                     bit32         npipps,
274*4e1bc9a0SAchim Leubner                                     bit8          linkRate
275*4e1bc9a0SAchim Leubner                                     );
276*4e1bc9a0SAchim Leubner 
277*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE void siIODone(
278*4e1bc9a0SAchim Leubner                      agsaRoot_t          *agRoot,
279*4e1bc9a0SAchim Leubner                      agsaIORequestDesc_t *pRequest,
280*4e1bc9a0SAchim Leubner                      bit32               status,
281*4e1bc9a0SAchim Leubner                      bit32               sspTag
282*4e1bc9a0SAchim Leubner                      );
283*4e1bc9a0SAchim Leubner 
284*4e1bc9a0SAchim Leubner GLOBAL void siAbnormal(
285*4e1bc9a0SAchim Leubner                        agsaRoot_t          *agRoot,
286*4e1bc9a0SAchim Leubner                        agsaIORequestDesc_t *pRequest,
287*4e1bc9a0SAchim Leubner                        bit32               status,
288*4e1bc9a0SAchim Leubner                        bit32               param,
289*4e1bc9a0SAchim Leubner                        bit32               sspTag
290*4e1bc9a0SAchim Leubner                        );
291*4e1bc9a0SAchim Leubner 
292*4e1bc9a0SAchim Leubner GLOBAL void siDifAbnormal(
293*4e1bc9a0SAchim Leubner                          agsaRoot_t          *agRoot,
294*4e1bc9a0SAchim Leubner                          agsaIORequestDesc_t *pRequest,
295*4e1bc9a0SAchim Leubner                          bit32               status,
296*4e1bc9a0SAchim Leubner                          bit32               param,
297*4e1bc9a0SAchim Leubner                          bit32               sspTag,
298*4e1bc9a0SAchim Leubner                          bit32               *pMsg1
299*4e1bc9a0SAchim Leubner                          );
300*4e1bc9a0SAchim Leubner 
301*4e1bc9a0SAchim Leubner GLOBAL void siEventSSPResponseWtDataRcvd(
302*4e1bc9a0SAchim Leubner                                         agsaRoot_t                *agRoot,
303*4e1bc9a0SAchim Leubner                                         agsaIORequestDesc_t       *pRequest,
304*4e1bc9a0SAchim Leubner                                         agsaSSPResponseInfoUnit_t *pRespIU,
305*4e1bc9a0SAchim Leubner                                         bit32                     param,
306*4e1bc9a0SAchim Leubner                                         bit32                     sspTag
307*4e1bc9a0SAchim Leubner                                         );
308*4e1bc9a0SAchim Leubner 
309*4e1bc9a0SAchim Leubner GLOBAL void siSMPRespRcvd(
310*4e1bc9a0SAchim Leubner                           agsaRoot_t              *agRoot,
311*4e1bc9a0SAchim Leubner                           agsaSMPCompletionRsp_t  *pIomb,
312*4e1bc9a0SAchim Leubner                           bit32                   payloadSize,
313*4e1bc9a0SAchim Leubner                           bit32                   tag
314*4e1bc9a0SAchim Leubner                           );
315*4e1bc9a0SAchim Leubner 
316*4e1bc9a0SAchim Leubner GLOBAL void siEventSATAResponseWtDataRcvd(
317*4e1bc9a0SAchim Leubner                                           agsaRoot_t          *agRoot,
318*4e1bc9a0SAchim Leubner                                           agsaIORequestDesc_t *pRequest,
319*4e1bc9a0SAchim Leubner                                           bit32               *agFirstDword,
320*4e1bc9a0SAchim Leubner                                           bit32               *pResp,
321*4e1bc9a0SAchim Leubner                                           bit32               lengthResp
322*4e1bc9a0SAchim Leubner                                           );
323*4e1bc9a0SAchim Leubner 
324*4e1bc9a0SAchim Leubner /*** SADISC.C ***/
325*4e1bc9a0SAchim Leubner GLOBAL bit32 siRemoveDevHandle(
326*4e1bc9a0SAchim Leubner                               agsaRoot_t      *agRoot,
327*4e1bc9a0SAchim Leubner                               agsaDevHandle_t *agDevHandle
328*4e1bc9a0SAchim Leubner                               );
329*4e1bc9a0SAchim Leubner 
330*4e1bc9a0SAchim Leubner /*** SAMPIRSP.C ***/
331*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE bit32 mpiParseOBIomb(
332*4e1bc9a0SAchim Leubner                             agsaRoot_t            *agRoot,
333*4e1bc9a0SAchim Leubner                             bit32                 *pMsg1,
334*4e1bc9a0SAchim Leubner                             mpiMsgCategory_t      category,
335*4e1bc9a0SAchim Leubner                             bit16                 opcode
336*4e1bc9a0SAchim Leubner                             );
337*4e1bc9a0SAchim Leubner 
338*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiEchoRsp(
339*4e1bc9a0SAchim Leubner                         agsaRoot_t          *agRoot,
340*4e1bc9a0SAchim Leubner                         agsaEchoRsp_t       *pIomb
341*4e1bc9a0SAchim Leubner                         );
342*4e1bc9a0SAchim Leubner 
343*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetNVMDataRsp(
344*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
345*4e1bc9a0SAchim Leubner   agsaGetNVMDataRsp_t *pIomb
346*4e1bc9a0SAchim Leubner   );
347*4e1bc9a0SAchim Leubner 
348*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiHWevent(
349*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
350*4e1bc9a0SAchim Leubner   agsaHWEvent_SPC_OUB_t  *pIomb
351*4e1bc9a0SAchim Leubner   );
352*4e1bc9a0SAchim Leubner 
353*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPhyStartEvent(
354*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
355*4e1bc9a0SAchim Leubner   agsaHWEvent_Phy_OUB_t  *pIomb
356*4e1bc9a0SAchim Leubner   );
357*4e1bc9a0SAchim Leubner 
358*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPhyStopEvent(
359*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
360*4e1bc9a0SAchim Leubner   agsaHWEvent_Phy_OUB_t  *pIomb
361*4e1bc9a0SAchim Leubner   );
362*4e1bc9a0SAchim Leubner 
363*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSMPCompletion(
364*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
365*4e1bc9a0SAchim Leubner   agsaSMPCompletionRsp_t *pIomb
366*4e1bc9a0SAchim Leubner   );
367*4e1bc9a0SAchim Leubner 
368*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDevInfoRspSpc(
369*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
370*4e1bc9a0SAchim Leubner   agsaGetDevInfoRsp_t *pIomb
371*4e1bc9a0SAchim Leubner   );
372*4e1bc9a0SAchim Leubner 
373*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetPhyProfileRsp(
374*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
375*4e1bc9a0SAchim Leubner   agsaGetPhyProfileRspV_t *pIomb
376*4e1bc9a0SAchim Leubner   );
377*4e1bc9a0SAchim Leubner 
378*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetPhyProfileRsp(
379*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
380*4e1bc9a0SAchim Leubner   agsaSetPhyProfileRspV_t *pIomb
381*4e1bc9a0SAchim Leubner   );
382*4e1bc9a0SAchim Leubner 
383*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDevInfoRsp(
384*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
385*4e1bc9a0SAchim Leubner   agsaGetDevInfoRspV_t *pIomb
386*4e1bc9a0SAchim Leubner   );
387*4e1bc9a0SAchim Leubner 
388*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDevHandleRsp(
389*4e1bc9a0SAchim Leubner   agsaRoot_t            *agRoot,
390*4e1bc9a0SAchim Leubner   agsaGetDevHandleRsp_t *pIomb
391*4e1bc9a0SAchim Leubner   );
392*4e1bc9a0SAchim Leubner 
393*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPhyCntrlRsp(
394*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
395*4e1bc9a0SAchim Leubner   agsaLocalPhyCntrlRsp_t *pIomb
396*4e1bc9a0SAchim Leubner   );
397*4e1bc9a0SAchim Leubner 
398*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDeviceRegRsp(
399*4e1bc9a0SAchim Leubner   agsaRoot_t                  *agRoot,
400*4e1bc9a0SAchim Leubner   agsaDeviceRegistrationRsp_t *pIomb
401*4e1bc9a0SAchim Leubner   );
402*4e1bc9a0SAchim Leubner 
403*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDeregDevHandleRsp(
404*4e1bc9a0SAchim Leubner   agsaRoot_t              *agRoot,
405*4e1bc9a0SAchim Leubner   agsaDeregDevHandleRsp_t *pIomb
406*4e1bc9a0SAchim Leubner   );
407*4e1bc9a0SAchim Leubner 
408*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE bit32 mpiSSPCompletion(
409*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
410*4e1bc9a0SAchim Leubner   bit32             *pIomb
411*4e1bc9a0SAchim Leubner   );
412*4e1bc9a0SAchim Leubner 
413*4e1bc9a0SAchim Leubner GLOBAL FORCEINLINE bit32 mpiSATACompletion(
414*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
415*4e1bc9a0SAchim Leubner   bit32             *pIomb
416*4e1bc9a0SAchim Leubner   );
417*4e1bc9a0SAchim Leubner 
418*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSSPEvent(
419*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
420*4e1bc9a0SAchim Leubner   agsaSSPEventRsp_t *pIomb
421*4e1bc9a0SAchim Leubner   );
422*4e1bc9a0SAchim Leubner 
423*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSATAEvent(
424*4e1bc9a0SAchim Leubner   agsaRoot_t         *agRoot,
425*4e1bc9a0SAchim Leubner   agsaSATAEventRsp_t *pIomb
426*4e1bc9a0SAchim Leubner   );
427*4e1bc9a0SAchim Leubner 
428*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiFwFlashUpdateRsp(
429*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
430*4e1bc9a0SAchim Leubner   agsaFwFlashUpdateRsp_t *payload
431*4e1bc9a0SAchim Leubner   );
432*4e1bc9a0SAchim Leubner 
433*4e1bc9a0SAchim Leubner 
434*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiFwExtFlashUpdateRsp(
435*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
436*4e1bc9a0SAchim Leubner   agsaFwFlashOpExtRsp_t *payload
437*4e1bc9a0SAchim Leubner   );
438*4e1bc9a0SAchim Leubner 
439*4e1bc9a0SAchim Leubner #ifdef SPC_ENABLE_PROFILE
440*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiFwProfileRsp(
441*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
442*4e1bc9a0SAchim Leubner   agsaFwProfileRsp_t *payload
443*4e1bc9a0SAchim Leubner   );
444*4e1bc9a0SAchim Leubner #endif
445*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetNVMDataRsp(
446*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
447*4e1bc9a0SAchim Leubner   agsaSetNVMDataRsp_t *pIomb
448*4e1bc9a0SAchim Leubner   );
449*4e1bc9a0SAchim Leubner 
450*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSSPAbortRsp(
451*4e1bc9a0SAchim Leubner   agsaRoot_t         *agRoot,
452*4e1bc9a0SAchim Leubner   agsaSSPAbortRsp_t  *pIomb
453*4e1bc9a0SAchim Leubner   );
454*4e1bc9a0SAchim Leubner 
455*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSATAAbortRsp(
456*4e1bc9a0SAchim Leubner   agsaRoot_t         *agRoot,
457*4e1bc9a0SAchim Leubner   agsaSATAAbortRsp_t *pIomb
458*4e1bc9a0SAchim Leubner   );
459*4e1bc9a0SAchim Leubner 
460*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGPIORsp(
461*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
462*4e1bc9a0SAchim Leubner   agsaGPIORsp_t       *pIomb
463*4e1bc9a0SAchim Leubner   );
464*4e1bc9a0SAchim Leubner 
465*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGPIOEventRsp(
466*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
467*4e1bc9a0SAchim Leubner   agsaGPIOEvent_t     *pIomb
468*4e1bc9a0SAchim Leubner   );
469*4e1bc9a0SAchim Leubner 
470*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSASDiagStartEndRsp(
471*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
472*4e1bc9a0SAchim Leubner   agsaSASDiagStartEndRsp_t *pIomb
473*4e1bc9a0SAchim Leubner   );
474*4e1bc9a0SAchim Leubner 
475*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSASDiagExecuteRsp(
476*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
477*4e1bc9a0SAchim Leubner   agsaSASDiagExecuteRsp_t  *pIomb
478*4e1bc9a0SAchim Leubner   );
479*4e1bc9a0SAchim Leubner 
480*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGeneralEventRsp(
481*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
482*4e1bc9a0SAchim Leubner   agsaGeneralEventRsp_t    *pIomb
483*4e1bc9a0SAchim Leubner   );
484*4e1bc9a0SAchim Leubner 
485*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSSPReqReceivedNotify(
486*4e1bc9a0SAchim Leubner   agsaRoot_t *agRoot,
487*4e1bc9a0SAchim Leubner   agsaSSPReqReceivedNotify_t *pMsg1
488*4e1bc9a0SAchim Leubner   );
489*4e1bc9a0SAchim Leubner 
490*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDeviceHandleArrived(
491*4e1bc9a0SAchim Leubner   agsaRoot_t *agRoot,
492*4e1bc9a0SAchim Leubner   agsaDeviceHandleArrivedNotify_t *pMsg1
493*4e1bc9a0SAchim Leubner   );
494*4e1bc9a0SAchim Leubner 
495*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetTimeStampRsp(
496*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
497*4e1bc9a0SAchim Leubner   agsaGetTimeStampRsp_t    *pIomb
498*4e1bc9a0SAchim Leubner   );
499*4e1bc9a0SAchim Leubner 
500*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSASHwEventAckRsp(
501*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
502*4e1bc9a0SAchim Leubner   agsaSASHwEventAckRsp_t   *pIomb
503*4e1bc9a0SAchim Leubner   );
504*4e1bc9a0SAchim Leubner 
505*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetDevInfoRsp(
506*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
507*4e1bc9a0SAchim Leubner   agsaSetDeviceInfoRsp_t *pIomb
508*4e1bc9a0SAchim Leubner   );
509*4e1bc9a0SAchim Leubner 
510*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetDeviceStateRsp(
511*4e1bc9a0SAchim Leubner   agsaRoot_t              *agRoot,
512*4e1bc9a0SAchim Leubner   agsaSetDeviceStateRsp_t *pIomb
513*4e1bc9a0SAchim Leubner   );
514*4e1bc9a0SAchim Leubner 
515*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDeviceStateRsp(
516*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
517*4e1bc9a0SAchim Leubner   agsaGetDeviceStateRsp_t *pIomb
518*4e1bc9a0SAchim Leubner   );
519*4e1bc9a0SAchim Leubner 
520*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSasReInitializeRsp(
521*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
522*4e1bc9a0SAchim Leubner   agsaSasReInitializeRsp_t *pIomb
523*4e1bc9a0SAchim Leubner   );
524*4e1bc9a0SAchim Leubner 
525*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetControllerConfigRsp(
526*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
527*4e1bc9a0SAchim Leubner   agsaSetControllerConfigRsp_t *pIomb
528*4e1bc9a0SAchim Leubner   );
529*4e1bc9a0SAchim Leubner 
530*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetControllerConfigRsp(
531*4e1bc9a0SAchim Leubner   agsaRoot_t                  *agRoot,
532*4e1bc9a0SAchim Leubner   agsaGetControllerConfigRsp_t *pIomb
533*4e1bc9a0SAchim Leubner   );
534*4e1bc9a0SAchim Leubner 
535*4e1bc9a0SAchim Leubner GLOBAL bit32  mpiKekManagementRsp(
536*4e1bc9a0SAchim Leubner     agsaRoot_t               *agRoot,
537*4e1bc9a0SAchim Leubner     agsaKekManagementRsp_t   *pIomb
538*4e1bc9a0SAchim Leubner   );
539*4e1bc9a0SAchim Leubner 
540*4e1bc9a0SAchim Leubner GLOBAL bit32  mpiDekManagementRsp(
541*4e1bc9a0SAchim Leubner     agsaRoot_t               *agRoot,
542*4e1bc9a0SAchim Leubner     agsaDekManagementRsp_t   *pIomb
543*4e1bc9a0SAchim Leubner   );
544*4e1bc9a0SAchim Leubner 
545*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiOperatorManagementRsp(
546*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
547*4e1bc9a0SAchim Leubner   agsaOperatorMangmenRsp_t *pIomb
548*4e1bc9a0SAchim Leubner   );
549*4e1bc9a0SAchim Leubner 
550*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiBistRsp(
551*4e1bc9a0SAchim Leubner   agsaRoot_t           *agRoot,
552*4e1bc9a0SAchim Leubner   agsaEncryptBistRsp_t *pIomb
553*4e1bc9a0SAchim Leubner   );
554*4e1bc9a0SAchim Leubner 
555*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetOperatorRsp(
556*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
557*4e1bc9a0SAchim Leubner   agsaSetOperatorRsp_t    *pIomb
558*4e1bc9a0SAchim Leubner   );
559*4e1bc9a0SAchim Leubner 
560*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetOperatorRsp(
561*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
562*4e1bc9a0SAchim Leubner   agsaGetOperatorRsp_t    *pIomb
563*4e1bc9a0SAchim Leubner   );
564*4e1bc9a0SAchim Leubner 
565*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDifEncOffloadRsp(
566*4e1bc9a0SAchim Leubner   agsaRoot_t               *agRoot,
567*4e1bc9a0SAchim Leubner   agsaDifEncOffloadRspV_t  *pIomb
568*4e1bc9a0SAchim Leubner   );
569*4e1bc9a0SAchim Leubner 
570*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetVHistRsp(
571*4e1bc9a0SAchim Leubner    agsaRoot_t          *agRoot,
572*4e1bc9a0SAchim Leubner    agsaGetVHistCapRsp_t *pIomb
573*4e1bc9a0SAchim Leubner   );
574*4e1bc9a0SAchim Leubner 
575*4e1bc9a0SAchim Leubner 
576*4e1bc9a0SAchim Leubner /*** SAMPICMD.C ***/
577*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiBuildCmd(
578*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
579*4e1bc9a0SAchim Leubner   bit32             *payload,
580*4e1bc9a0SAchim Leubner   mpiMsgCategory_t  category,
581*4e1bc9a0SAchim Leubner   bit16             opcode,
582*4e1bc9a0SAchim Leubner   bit16             size,
583*4e1bc9a0SAchim Leubner   bit32             queueNum
584*4e1bc9a0SAchim Leubner   );
585*4e1bc9a0SAchim Leubner 
586*4e1bc9a0SAchim Leubner 
587*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiVHistCapCmd(
588*4e1bc9a0SAchim Leubner   agsaRoot_t    *agRoot,
589*4e1bc9a0SAchim Leubner   agsaContext_t *agContext,
590*4e1bc9a0SAchim Leubner   bit32         queueNum,
591*4e1bc9a0SAchim Leubner   bit32         Channel,
592*4e1bc9a0SAchim Leubner   bit32         NumBitLo,
593*4e1bc9a0SAchim Leubner   bit32         NumBitHi,
594*4e1bc9a0SAchim Leubner   bit32         PcieAddrLo,
595*4e1bc9a0SAchim Leubner   bit32         PcieAddrHi,
596*4e1bc9a0SAchim Leubner   bit32         ByteCount );
597*4e1bc9a0SAchim Leubner 
598*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiEchoCmd(
599*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
600*4e1bc9a0SAchim Leubner   bit32               queueNum,
601*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
602*4e1bc9a0SAchim Leubner   void                *echoPayload
603*4e1bc9a0SAchim Leubner   );
604*4e1bc9a0SAchim Leubner 
605*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetPhyProfileCmd(
606*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
607*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
608*4e1bc9a0SAchim Leubner   bit32                Operation,
609*4e1bc9a0SAchim Leubner   bit32                PhyId,
610*4e1bc9a0SAchim Leubner   void                *agCB
611*4e1bc9a0SAchim Leubner   );
612*4e1bc9a0SAchim Leubner 
613*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetPhyProfileCmd(
614*4e1bc9a0SAchim Leubner   agsaRoot_t    *agRoot,
615*4e1bc9a0SAchim Leubner   agsaContext_t *agContext,
616*4e1bc9a0SAchim Leubner   bit32         Operation,
617*4e1bc9a0SAchim Leubner   bit32         PhyId,
618*4e1bc9a0SAchim Leubner   bit32         length,
619*4e1bc9a0SAchim Leubner   void *        buffer
620*4e1bc9a0SAchim Leubner   );
621*4e1bc9a0SAchim Leubner 
622*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPhyStartCmd(
623*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
624*4e1bc9a0SAchim Leubner   bit32               tag,
625*4e1bc9a0SAchim Leubner   bit32               phyId,
626*4e1bc9a0SAchim Leubner   agsaPhyConfig_t     *agPhyConfig,
627*4e1bc9a0SAchim Leubner   agsaSASIdentify_t   *agSASIdentify,
628*4e1bc9a0SAchim Leubner   bit32               queueNum
629*4e1bc9a0SAchim Leubner   );
630*4e1bc9a0SAchim Leubner 
631*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPhyStopCmd(
632*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
633*4e1bc9a0SAchim Leubner   bit32               tag,
634*4e1bc9a0SAchim Leubner   bit32               phyId,
635*4e1bc9a0SAchim Leubner   bit32               queueNum
636*4e1bc9a0SAchim Leubner   );
637*4e1bc9a0SAchim Leubner 
638*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSMPCmd(
639*4e1bc9a0SAchim Leubner   agsaRoot_t             *agRoot,
640*4e1bc9a0SAchim Leubner   void                   *pIomb,
641*4e1bc9a0SAchim Leubner   bit16                  opcode,
642*4e1bc9a0SAchim Leubner   agsaSMPCmd_t           *payload,
643*4e1bc9a0SAchim Leubner   bit8                   inq,
644*4e1bc9a0SAchim Leubner   bit8                   outq
645*4e1bc9a0SAchim Leubner   );
646*4e1bc9a0SAchim Leubner 
647*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDeregDevHandleCmd(
648*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
649*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
650*4e1bc9a0SAchim Leubner   agsaDeviceDesc_t    *pDevice,
651*4e1bc9a0SAchim Leubner   bit32               deviceId,
652*4e1bc9a0SAchim Leubner   bit32               portId,
653*4e1bc9a0SAchim Leubner   bit32               queueNum
654*4e1bc9a0SAchim Leubner   );
655*4e1bc9a0SAchim Leubner 
656*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDeviceHandleCmd(
657*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
658*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
659*4e1bc9a0SAchim Leubner   bit32               portId,
660*4e1bc9a0SAchim Leubner   bit32               flags,
661*4e1bc9a0SAchim Leubner   bit32               maxDevs,
662*4e1bc9a0SAchim Leubner   bit32               queueNum,
663*4e1bc9a0SAchim Leubner   bit32               skipCount
664*4e1bc9a0SAchim Leubner   );
665*4e1bc9a0SAchim Leubner 
666*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiLocalPhyControlCmd(
667*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
668*4e1bc9a0SAchim Leubner   bit32               tag,
669*4e1bc9a0SAchim Leubner   bit32               phyId,
670*4e1bc9a0SAchim Leubner   bit32               operation,
671*4e1bc9a0SAchim Leubner   bit32               queueNum
672*4e1bc9a0SAchim Leubner   );
673*4e1bc9a0SAchim Leubner 
674*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDeviceInfoCmd(
675*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
676*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
677*4e1bc9a0SAchim Leubner   bit32               deviceid,
678*4e1bc9a0SAchim Leubner   bit32               option,
679*4e1bc9a0SAchim Leubner   bit32               queueNum
680*4e1bc9a0SAchim Leubner   );
681*4e1bc9a0SAchim Leubner 
682*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDevHandleAcceptCmd(
683*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
684*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
685*4e1bc9a0SAchim Leubner   bit32               ctag,
686*4e1bc9a0SAchim Leubner   bit32               deviceId,
687*4e1bc9a0SAchim Leubner   bit32               action,
688*4e1bc9a0SAchim Leubner   bit32               flag,
689*4e1bc9a0SAchim Leubner   bit32               itlnx,
690*4e1bc9a0SAchim Leubner   bit32               queueNum
691*4e1bc9a0SAchim Leubner   );
692*4e1bc9a0SAchim Leubner 
693*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPortControlRsp(
694*4e1bc9a0SAchim Leubner   agsaRoot_t           *agRoot,
695*4e1bc9a0SAchim Leubner   agsaPortControlRsp_t *pIomb
696*4e1bc9a0SAchim Leubner   );
697*4e1bc9a0SAchim Leubner 
698*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSMPAbortRsp(
699*4e1bc9a0SAchim Leubner   agsaRoot_t         *agRoot,
700*4e1bc9a0SAchim Leubner   agsaSMPAbortRsp_t  *pIomb
701*4e1bc9a0SAchim Leubner   );
702*4e1bc9a0SAchim Leubner 
703*4e1bc9a0SAchim Leubner GLOBAL bit32 siGetRegisterDumpGSM(
704*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
705*4e1bc9a0SAchim Leubner   void              *destinationAddress,
706*4e1bc9a0SAchim Leubner   bit32             regDumpNum,
707*4e1bc9a0SAchim Leubner   bit32             regDumpOffset,
708*4e1bc9a0SAchim Leubner   bit32             len
709*4e1bc9a0SAchim Leubner   );
710*4e1bc9a0SAchim Leubner 
711*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiNVMReadRegDumpCmd(
712*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
713*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
714*4e1bc9a0SAchim Leubner   bit32               queueNum,
715*4e1bc9a0SAchim Leubner   bit32               cpuId,
716*4e1bc9a0SAchim Leubner   bit32               cOffset,
717*4e1bc9a0SAchim Leubner   bit32               addrHi,
718*4e1bc9a0SAchim Leubner   bit32               addrLo,
719*4e1bc9a0SAchim Leubner   bit32               len
720*4e1bc9a0SAchim Leubner   );
721*4e1bc9a0SAchim Leubner 
722*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDeviceHandleRemoval(
723*4e1bc9a0SAchim Leubner   agsaRoot_t                *agRoot,
724*4e1bc9a0SAchim Leubner   agsaDeviceHandleRemoval_t *pMsg1);
725*4e1bc9a0SAchim Leubner 
726*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetNVMDCmd(
727*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
728*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
729*4e1bc9a0SAchim Leubner   agsaNVMDData_t      *NVMDInfo,
730*4e1bc9a0SAchim Leubner   bit32               queueNum
731*4e1bc9a0SAchim Leubner   );
732*4e1bc9a0SAchim Leubner 
733*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetNVMDCmd(
734*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
735*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
736*4e1bc9a0SAchim Leubner   agsaNVMDData_t      *NVMDInfo,
737*4e1bc9a0SAchim Leubner   bit32               queueNum
738*4e1bc9a0SAchim Leubner   );
739*4e1bc9a0SAchim Leubner 
740*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetDeviceInfoCmd(
741*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
742*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
743*4e1bc9a0SAchim Leubner   bit32               deviceid,
744*4e1bc9a0SAchim Leubner   bit32               option,
745*4e1bc9a0SAchim Leubner   bit32               queueNum,
746*4e1bc9a0SAchim Leubner   bit32               param,
747*4e1bc9a0SAchim Leubner   ossaSetDeviceInfoCB_t   agCB
748*4e1bc9a0SAchim Leubner   );
749*4e1bc9a0SAchim Leubner 
750*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetDeviceStateCmd(
751*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
752*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
753*4e1bc9a0SAchim Leubner   bit32               deviceId,
754*4e1bc9a0SAchim Leubner   bit32               nds,
755*4e1bc9a0SAchim Leubner   bit32               queueNum
756*4e1bc9a0SAchim Leubner   );
757*4e1bc9a0SAchim Leubner 
758*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDeviceStateCmd(
759*4e1bc9a0SAchim Leubner   agsaRoot_t          *agRoot,
760*4e1bc9a0SAchim Leubner   agsaContext_t       *agContext,
761*4e1bc9a0SAchim Leubner   bit32               deviceId,
762*4e1bc9a0SAchim Leubner   bit32               queueNum
763*4e1bc9a0SAchim Leubner   );
764*4e1bc9a0SAchim Leubner 
765*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSasReinitializeCmd(
766*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
767*4e1bc9a0SAchim Leubner   agsaContext_t     *agContext,
768*4e1bc9a0SAchim Leubner   agsaSASReconfig_t *agSASConfig,
769*4e1bc9a0SAchim Leubner   bit32             queueNum
770*4e1bc9a0SAchim Leubner   );
771*4e1bc9a0SAchim Leubner 
772*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSGpioRsp(
773*4e1bc9a0SAchim Leubner   agsaRoot_t       *agRoot,
774*4e1bc9a0SAchim Leubner   agsaSGpioRsp_t   *pInIomb
775*4e1bc9a0SAchim Leubner   );
776*4e1bc9a0SAchim Leubner 
777*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiPCIeDiagExecuteRsp(
778*4e1bc9a0SAchim Leubner   agsaRoot_t    *agRoot,
779*4e1bc9a0SAchim Leubner   void          *pInIomb
780*4e1bc9a0SAchim Leubner   );
781*4e1bc9a0SAchim Leubner 
782*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetDFEDataRsp(
783*4e1bc9a0SAchim Leubner   agsaRoot_t    *agRoot,
784*4e1bc9a0SAchim Leubner   void          *pInIomb
785*4e1bc9a0SAchim Leubner   );
786*4e1bc9a0SAchim Leubner 
787*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetVisDataRsp(
788*4e1bc9a0SAchim Leubner   agsaRoot_t    *agRoot,
789*4e1bc9a0SAchim Leubner   void          *pIomb
790*4e1bc9a0SAchim Leubner   );
791*4e1bc9a0SAchim Leubner 
792*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetControllerConfigCmd(
793*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
794*4e1bc9a0SAchim Leubner   agsaContext_t     *agContext,
795*4e1bc9a0SAchim Leubner   agsaSetControllerConfigCmd_t *agControllerConfig,
796*4e1bc9a0SAchim Leubner   bit32             queueNum,
797*4e1bc9a0SAchim Leubner   bit8              modePageContext
798*4e1bc9a0SAchim Leubner   );
799*4e1bc9a0SAchim Leubner 
800*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetControllerConfigCmd(
801*4e1bc9a0SAchim Leubner    agsaRoot_t        *agRoot,
802*4e1bc9a0SAchim Leubner    agsaContext_t     *agContext,
803*4e1bc9a0SAchim Leubner    agsaGetControllerConfigCmd_t *agControllerConfig,
804*4e1bc9a0SAchim Leubner    bit32             queueNum
805*4e1bc9a0SAchim Leubner    );
806*4e1bc9a0SAchim Leubner 
807*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiKekManagementCmd(
808*4e1bc9a0SAchim Leubner    agsaRoot_t        *agRoot,
809*4e1bc9a0SAchim Leubner    agsaContext_t     *agContext,
810*4e1bc9a0SAchim Leubner    agsaKekManagementCmd_t *agKekMgmt,
811*4e1bc9a0SAchim Leubner    bit32             queueNum
812*4e1bc9a0SAchim Leubner    );
813*4e1bc9a0SAchim Leubner 
814*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDekManagementCmd(
815*4e1bc9a0SAchim Leubner    agsaRoot_t        *agRoot,
816*4e1bc9a0SAchim Leubner    agsaContext_t     *agContext,
817*4e1bc9a0SAchim Leubner    agsaDekManagementCmd_t *agDekMgmt,
818*4e1bc9a0SAchim Leubner    bit32             queueNum
819*4e1bc9a0SAchim Leubner    );
820*4e1bc9a0SAchim Leubner 
821*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiOperatorManagementCmd(
822*4e1bc9a0SAchim Leubner   agsaRoot_t                *agRoot,
823*4e1bc9a0SAchim Leubner   bit32                     queueNum,
824*4e1bc9a0SAchim Leubner   agsaContext_t             *agContext,
825*4e1bc9a0SAchim Leubner   agsaOperatorMangmentCmd_t *operatorcode );
826*4e1bc9a0SAchim Leubner 
827*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiEncryptBistCmd(
828*4e1bc9a0SAchim Leubner   agsaRoot_t        *agRoot,
829*4e1bc9a0SAchim Leubner   bit32              queueNum,
830*4e1bc9a0SAchim Leubner   agsaContext_t     *agContext,
831*4e1bc9a0SAchim Leubner   agsaEncryptBist_t *bist );
832*4e1bc9a0SAchim Leubner 
833*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiSetOperatorCmd(
834*4e1bc9a0SAchim Leubner   agsaRoot_t                *agRoot,
835*4e1bc9a0SAchim Leubner   bit32                      queueNum,
836*4e1bc9a0SAchim Leubner   agsaContext_t             *agContext,
837*4e1bc9a0SAchim Leubner   agsaSetOperatorCmd_t      *operatorcode
838*4e1bc9a0SAchim Leubner   );
839*4e1bc9a0SAchim Leubner 
840*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiGetOperatorCmd(
841*4e1bc9a0SAchim Leubner   agsaRoot_t                *agRoot,
842*4e1bc9a0SAchim Leubner   bit32                      queueNum,
843*4e1bc9a0SAchim Leubner   agsaContext_t             *agContext,
844*4e1bc9a0SAchim Leubner   agsaGetOperatorCmd_t      *operatorcode
845*4e1bc9a0SAchim Leubner   );
846*4e1bc9a0SAchim Leubner 
847*4e1bc9a0SAchim Leubner GLOBAL bit32 mpiDIFEncryptionOffloadCmd(
848*4e1bc9a0SAchim Leubner    agsaRoot_t                *agRoot,
849*4e1bc9a0SAchim Leubner    agsaContext_t             *agContext,
850*4e1bc9a0SAchim Leubner    bit32                     queueNum,
851*4e1bc9a0SAchim Leubner    bit32                     op,
852*4e1bc9a0SAchim Leubner    agsaDifEncPayload_t      *agDifEncOffload,
853*4e1bc9a0SAchim Leubner    ossaDIFEncryptionOffloadStartCB_t agCB
854*4e1bc9a0SAchim Leubner    );
855*4e1bc9a0SAchim Leubner 
856*4e1bc9a0SAchim Leubner bit32 siOurMSIXInterrupt(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
857*4e1bc9a0SAchim Leubner void siDisableMSIXInterrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
858*4e1bc9a0SAchim Leubner void siReenableMSIXInterrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
859*4e1bc9a0SAchim Leubner 
860*4e1bc9a0SAchim Leubner bit32 siOurMSIInterrupt(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
861*4e1bc9a0SAchim Leubner void siDisableMSIInterrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
862*4e1bc9a0SAchim Leubner void siReenableMSIInterrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
863*4e1bc9a0SAchim Leubner 
864*4e1bc9a0SAchim Leubner 
865*4e1bc9a0SAchim Leubner bit32 siOurLegacyInterrupt(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
866*4e1bc9a0SAchim Leubner void siDisableLegacyInterrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
867*4e1bc9a0SAchim Leubner void siReenableLegacyInterrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
868*4e1bc9a0SAchim Leubner 
869*4e1bc9a0SAchim Leubner bit32 siOurMSIX_V_Interrupt(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
870*4e1bc9a0SAchim Leubner bit32 siOurMSI_V_Interrupt(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
871*4e1bc9a0SAchim Leubner bit32 siOurLegacy_V_Interrupt(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
872*4e1bc9a0SAchim Leubner 
873*4e1bc9a0SAchim Leubner void siDisableMSIX_V_Interrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
874*4e1bc9a0SAchim Leubner void siDisableMSI_V_Interrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
875*4e1bc9a0SAchim Leubner void siDisableLegacy_V_Interrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
876*4e1bc9a0SAchim Leubner 
877*4e1bc9a0SAchim Leubner void siReenableMSIX_V_Interrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
878*4e1bc9a0SAchim Leubner void siReenableMSI_V_Interrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
879*4e1bc9a0SAchim Leubner void siReenableLegacy_V_Interrupts(agsaRoot_t *agRoot,bit32 interruptVectorIndex);
880*4e1bc9a0SAchim Leubner 
881*4e1bc9a0SAchim Leubner 
882*4e1bc9a0SAchim Leubner GLOBAL void siUpdateBarOffsetTable(agsaRoot_t     *agRoot, bit32   Spc_Type);
883*4e1bc9a0SAchim Leubner 
884*4e1bc9a0SAchim Leubner GLOBAL void siPciCpyMem(agsaRoot_t *agRoot,
885*4e1bc9a0SAchim Leubner                        bit32 soffset,
886*4e1bc9a0SAchim Leubner                        const void *dst,
887*4e1bc9a0SAchim Leubner                        bit32 DWcount,
888*4e1bc9a0SAchim Leubner                        bit32 busBaseNumber
889*4e1bc9a0SAchim Leubner                        );
890*4e1bc9a0SAchim Leubner 
891*4e1bc9a0SAchim Leubner GLOBAL void siHalRegWriteExt(
892*4e1bc9a0SAchim Leubner                              agsaRoot_t  *agRoot,
893*4e1bc9a0SAchim Leubner                              bit32       generic,
894*4e1bc9a0SAchim Leubner                              bit32       regOffset,
895*4e1bc9a0SAchim Leubner                              bit32       regValue
896*4e1bc9a0SAchim Leubner                              );
897*4e1bc9a0SAchim Leubner 
898*4e1bc9a0SAchim Leubner GLOBAL bit32 siHalRegReadExt( agsaRoot_t  *agRoot,
899*4e1bc9a0SAchim Leubner                              bit32       generic,
900*4e1bc9a0SAchim Leubner                              bit32       regOffset
901*4e1bc9a0SAchim Leubner                              );
902*4e1bc9a0SAchim Leubner 
903*4e1bc9a0SAchim Leubner #ifdef SA_FW_TIMER_READS_STATUS
904*4e1bc9a0SAchim Leubner bit32 siReadControllerStatus(
905*4e1bc9a0SAchim Leubner                                   agsaRoot_t      *agRoot,
906*4e1bc9a0SAchim Leubner                                   bit32           Event,
907*4e1bc9a0SAchim Leubner                                   void *          pParm
908*4e1bc9a0SAchim Leubner                                   );
909*4e1bc9a0SAchim Leubner #endif /* SA_FW_TIMER_READS_STATUS */
910*4e1bc9a0SAchim Leubner 
911*4e1bc9a0SAchim Leubner 
912*4e1bc9a0SAchim Leubner #if defined(SALLSDK_DEBUG)
913*4e1bc9a0SAchim Leubner void sidump_hwConfig(agsaHwConfig_t  *hwConfig);
914*4e1bc9a0SAchim Leubner void sidump_swConfig(agsaSwConfig_t  *swConfig);
915*4e1bc9a0SAchim Leubner void sidump_Q_config( agsaQueueConfig_t *queueConfig );
916*4e1bc9a0SAchim Leubner #endif
917*4e1bc9a0SAchim Leubner GLOBAL bit32 siGetTableOffset(
918*4e1bc9a0SAchim Leubner               agsaRoot_t *agRoot,
919*4e1bc9a0SAchim Leubner               bit32  TableOffsetInTable
920*4e1bc9a0SAchim Leubner               );
921*4e1bc9a0SAchim Leubner 
922*4e1bc9a0SAchim Leubner GLOBAL bit32 siGetPciBar(
923*4e1bc9a0SAchim Leubner               agsaRoot_t *agRoot
924*4e1bc9a0SAchim Leubner               );
925*4e1bc9a0SAchim Leubner 
926*4e1bc9a0SAchim Leubner GLOBAL bit32 siScratchDump(agsaRoot_t *agRoot);
927*4e1bc9a0SAchim Leubner 
928*4e1bc9a0SAchim Leubner void si_macro_check(agsaRoot_t *agRoot);
929*4e1bc9a0SAchim Leubner 
930*4e1bc9a0SAchim Leubner GLOBAL bit32 si_check_V_HDA(agsaRoot_t *agRoot);
931*4e1bc9a0SAchim Leubner GLOBAL bit32 si_check_V_Ready(agsaRoot_t *agRoot);
932*4e1bc9a0SAchim Leubner 
933*4e1bc9a0SAchim Leubner GLOBAL void siPCITriger(agsaRoot_t *agRoot);
934*4e1bc9a0SAchim Leubner 
935*4e1bc9a0SAchim Leubner GLOBAL void siCheckQs(agsaRoot_t *agRoot);
936*4e1bc9a0SAchim Leubner 
937*4e1bc9a0SAchim Leubner 
938*4e1bc9a0SAchim Leubner GLOBAL bit32 smIsCfg_V_ANY( agsaRoot_t *agRoot);
939*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_SPC( agsaRoot_t *agRoot);
940*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_HIL( agsaRoot_t *agRoot);
941*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_SPC6V( agsaRoot_t *agRoot);
942*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_SPC12V( agsaRoot_t *agRoot);
943*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_SPCV( agsaRoot_t *agRoot);
944*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_ENCRYPT( agsaRoot_t *agRoot);
945*4e1bc9a0SAchim Leubner GLOBAL bit32 smIS_SPCV_2_IOP( agsaRoot_t *agRoot);
946*4e1bc9a0SAchim Leubner #endif  /*__SAPROTO_H__ */
947