FreeBSD kernel pms device code
saapi.h
Go to the documentation of this file.
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/*******************************************************************************/
32/******************************************************************************/
33
34#ifndef __SSDKAPI_H__
35#define __SSDKAPI_H__
36
37/********************************************************************************
38 * SA LL Function Declaration *
39 ********************************************************************************/
40
41/***************************************************************************
42 * Definition of interrupt related functions start *
43 ***************************************************************************/
44
45
47 agsaRoot_t *agRoot,
48 bit32 interruptVectorIndex,
49 bit32 count
50 );
51
53 agsaRoot_t *agRoot,
54 bit32 interruptVectorIndex
55 );
56
58 agsaRoot_t *agRoot,
59 agBOOLEAN sysIntsActive
60 );
61
63 agsaRoot_t *agRoot,
64 bit32 interruptVectorIndex
65 );
66/***************************************************************************
67 * Definition of interrupt related functions end *
68 ***************************************************************************/
69
70
71/***************************************************************************
72 * Definition of timer related functions start *
73 ***************************************************************************/
74GLOBAL void saTimerTick(agsaRoot_t *agRoot);
75/***************************************************************************
76 * Definition of timer related functions end *
77 ***************************************************************************/
78
79/***************************************************************************
80 * Definition of initialization related functions start *
81 ***************************************************************************/
83 agsaRoot_t *agRoot,
84 agsaSwConfig_t *swConfig,
85 agsaMemoryRequirement_t *memoryRequirement,
86 bit32 *usecsPerTick,
87 bit32 *maxNumLocks
88 );
89
91 agsaRoot_t *agRoot,
92 agsaMemoryRequirement_t *memoryAllocated,
93 agsaHwConfig_t *hwConfig,
94 agsaSwConfig_t *swConfig,
95 bit32 usecsPerTick
96 );
97/***************************************************************************
98 * Definition of initialization related functions end *
99 ***************************************************************************/
100
101/***************************************************************************
102 * Definition of hardware related functions start *
103 ***************************************************************************/
104GLOBAL void saHwReset(
105 agsaRoot_t *agRoot,
106 bit32 resetType,
107 bit32 resetParm
108 );
109
110GLOBAL void saHwShutdown(agsaRoot_t *agRoot);
111
112/***************************************************************************
113 * Definition of hardware related functions end *
114 ***************************************************************************/
115
116/***************************************************************************
117 * Definition of phy related functions start *
118 ***************************************************************************/
120 agsaRoot_t *agRoot,
121 agsaContext_t *agContext,
122 bit32 queueNum,
123 bit32 phyId,
124 agsaPhyConfig_t *agPhyConfig,
125 agsaSASIdentify_t *agSASIdentify
126 );
127
129 agsaRoot_t *agRoot,
130 agsaContext_t *agContext,
131 bit32 queueNum,
132 bit32 phyId
133 );
134
135
137 agsaRoot_t *agRoot,
138 agsaContext_t *agContext,
139 bit32 queueNum,
140 bit32 phyId,
141 bit32 phyOperation,
143 );
144
146 agsaRoot_t *agRoot,
147 agsaContext_t *agContext,
148 bit32 queueNum,
149 bit32 ppc,
150 bit32 phyID
151 );
152
154 agsaRoot_t *agRoot,
155 agsaContext_t *agContext,
156 bit32 queueNum,
157 bit32 ppc,
158 bit32 length,
159 void *buffer,
160 bit32 phyID
161 );
162
164 agsaRoot_t *agRoot,
165 agsaContext_t *agContext,
166 bit32 queueNum,
167 agsaEventSource_t *eventSource,
168 bit32 param0,
169 bit32 param1
170 );
171
172
173/***************************************************************************
174 * Definition of phy related functions end *
175 ***************************************************************************/
176
177/***************************************************************************
178 * Definition of discovery related functions start *
179 ***************************************************************************/
181 agsaRoot_t *agRoot,
182 agsaPortContext_t *agPortContext,
183 bit32 type,
184 bit32 option
185 );
186/***************************************************************************
187 * Definition of discovery related functions end *
188 ***************************************************************************/
189
190/***************************************************************************
191 * Definition of frame related functions start *
192 ***************************************************************************/
194 agsaRoot_t *agRoot,
195 agsaFrameHandle_t agFrame,
196 bit32 frameOffset
197 );
198
200 agsaRoot_t *agRoot,
201 agsaFrameHandle_t agFrame,
202 bit32 frameOffset,
203 void *frameBuffer,
204 bit32 frameBufLen
205 );
206/***************************************************************************
207 * Definition of frame related functions end *
208 ***************************************************************************/
209
210/***************************************************************************
211 * Definition of SATA related functions start *
212 ***************************************************************************/
214 agsaRoot_t *agRoot,
215 agsaIORequest_t *agIORequest,
216 bit32 queueNum,
217 agsaDevHandle_t *agDevHandle,
218 bit32 agRequestType,
220 bit8 agTag,
222 );
223
225 agsaRoot_t *agRoot,
226 agsaIORequest_t *agIORequest,
227 bit32 queueNum,
228 agsaDevHandle_t *agDevHandle,
229 bit32 flag,
230 void *abortParam,
232 );
233
234/***************************************************************************
235 * Definition of SATA related functions end *
236 ***************************************************************************/
237
238/***************************************************************************
239 * Definition of SAS related functions start *
240 ***************************************************************************/
241
243 agsaRoot_t *agRoot,
244 agsaDevHandle_t *agDevHandle,
245 bit32 queueNum,
246 agsaSMPFrame_t *pSMPFrame,
248 );
249
251 agsaRoot_t *agRoot,
252 agsaIORequest_t *agIORequest,
253 bit32 queueNum,
254 agsaDevHandle_t *agDevHandle,
255 bit32 agRequestType,
256 agsaSASRequestBody_t *agRequestBody,
258 );
259
261 agsaRoot_t *agRoot,
262 agsaIORequest_t *agIORequest,
263 bit32 queueNum,
264 agsaDevHandle_t *agDevHandle,
265 bit32 flag,
266 void *abortParam,
268 );
269
271 agsaRoot_t *agRoot,
272 agsaIORequest_t *agIORequest,
273 bit32 queueNum,
274 agsaDevHandle_t *agDevHandle,
275 bit32 agRequestType,
276 agsaSASRequestBody_t *agRequestBody,
277 agsaIORequest_t *agTMRequest,
279 );
280
281#ifdef FAST_IO_TEST
282GLOBAL void *saFastSSPPrepare(
283 void *ioHandle,
284 agsaFastCommand_t *fc,
286 void *cbArg);
287
288GLOBAL bit32 saFastSSPSend(void *ioHandle);
289GLOBAL bit32 saFastSSPCancel(void *ioHandle);
290#endif
291
293 agsaRoot_t *agRoot,
294 agsaIORequest_t *agIORequest,
295 bit32 queueNum,
296 agsaDevHandle_t *agDevHandle,
297 bit32 flag,
298 void *abortParam,
300 );
301
303 agsaRoot_t *agRoot,
304 agsaIORequest_t *agIORequest,
305 agsaDifDetails_t *difDetails
306 );
307
309 agsaRoot_t *agRoot,
310 bit32 eventSourceType,
311 ossaGenericCB_t callbackPtr
312 );
313
314/***************************************************************************
315 * Definition of SAS related functions end *
316 ***************************************************************************/
317
318/***************************************************************************
319 * Definition of Device related functions start *
320 ***************************************************************************/
322 agsaRoot_t *agRoot,
323 agsaContext_t *agContext,
324 bit32 queueNum,
325 agsaDeviceInfo_t *agDeviceInfo,
326 agsaPortContext_t *agPortContext,
327 bit16 hostAssignedDeviceId
328 );
329
331 agsaRoot_t *agRoot,
332 agsaContext_t *agContext,
333 agsaDevHandle_t *agDevHandle,
334 bit32 queueNum
335 );
336
338 agsaRoot_t *agRoot,
339 agsaContext_t *agContext,
340 bit32 queueNum,
341 agsaPortContext_t *agPortContext,
342 bit32 flags,
343 agsaDevHandle_t *agDev[],
344 bit32 skipCount,
345 bit32 maxDevs
346 );
347
349 agsaRoot_t *agRoot,
350 agsaContext_t *agContext,
351 bit32 option,
352 bit32 queueNum,
353 agsaDevHandle_t *agDevHandle
354 );
355
357 agsaRoot_t *agRoot,
358 agsaContext_t *agContext,
359 bit32 queueNum,
360 agsaDevHandle_t *agDevHandle
361 );
362
364 agsaRoot_t *agRoot,
365 agsaContext_t *agContext,
366 bit32 queueNum ,
367 agsaDevHandle_t *agDevHandle,
368 bit32 option,
369 bit32 param,
371 );
372
374 agsaRoot_t *agRoot,
375 agsaContext_t *agContext,
376 bit32 queueNum,
377 agsaDevHandle_t *agDevHandle,
378 bit32 newDeviceState
379 );
380
381/***************************************************************************
382 * Definition of Device related functions end *
383 ***************************************************************************/
384
385/***************************************************************************
386 * Definition of Misc related functions start *
387 ***************************************************************************/
389 agsaRoot_t *agRoot,
390 agsaContext_t *agContext,
391 bit32 queueNum,
392 agsaUpdateFwFlash_t *flashUpdateInfo
393 );
394
396 agsaRoot_t *agRoot,
397 agsaContext_t *agContext,
398 bit32 queueNum,
399 agsaFlashExtExecute_t *agFlashExtExe
400 );
401
402#ifdef SPC_ENABLE_PROFILE
403GLOBAL bit32 saFwProfile(
404 agsaRoot_t *agRoot,
405 agsaContext_t *agContext,
406 bit32 queueNum,
407 agsaFwProfile_t *fwProfileInfo
408 );
409#endif
410
412 agsaRoot_t *agRoot,
413 agsaContext_t *agContext,
414 bit32 queueNum,
415 void *echoPayload
416 );
417
419 agsaRoot_t *agRoot,
420 agsaControllerInfo_t *controllerInfo
421 );
422
424 agsaRoot_t *agRoot,
425 agsaControllerStatus_t *controllerStatus
426 );
427
429 agsaRoot_t *agRoot,
430 agsaControllerEventLog_t *eventLogInfo
431 );
432
434 agsaRoot_t *agRoot,
435 agsaContext_t *agContext,
436 bit32 queueNum,
437 agsaGpioEventSetupInfo_t *gpioEventSetupInfo
438 );
439
441 agsaRoot_t *agRoot,
442 agsaContext_t *agContext,
443 bit32 queueNum,
444 agsaGpioPinSetupInfo_t *gpioPinSetupInfo
445 );
446
448 agsaRoot_t *agRoot,
449 agsaContext_t *agContext,
450 bit32 queueNum
451 );
452
454 agsaRoot_t *agRoot,
455 agsaContext_t *agContext,
456 bit32 queueNum,
457 bit32 gpioWriteMask,
458 bit32 gpioWriteValue
459 );
460
462 agsaRoot_t *agRoot,
463 agsaContext_t *agContext,
464 bit32 queueNum,
466 );
467
469 agsaRoot_t *agRoot,
470 agsaContext_t *agContext,
471 bit32 queueNum,
472 bit32 phyId,
473 bit32 operation
474 );
475
477 agsaRoot_t *agRoot,
478 agsaContext_t *agContext,
479 bit32 queueNum
480 );
481
483 agsaRoot_t *agRoot,
484 agsaContext_t *agContext,
485 bit32 queueNum,
486 agsaPortContext_t *agPortContext,
487 bit32 portOperation,
488 bit32 param0,
489 bit32 param1
490 );
491
493 agsaRoot_t *agRoot,
494 agsaContext_t *agContext,
495 bit32 queueNum,
496 agsaRegDumpInfo_t *regDumpInfo
497 );
498
500 agsaRoot_t *agRoot,
501 agsaContext_t *agContext,
502 agsaForensicData_t *forensicData
503 );
504
506 agsaRoot_t *agRoot,
507 agsaContext_t *agContext,
508 bit32 flag
509 );
510
512 agsaRoot_t *agRoot,
513 agsaContext_t *agContext,
514 bit32 flag
515 );
516
518 agsaRoot_t *agRoot,
519 agsaContext_t *agContext,
520 bit32 queueNum,
521 agsaNVMDData_t *NVMDInfo
522 );
523
525 agsaRoot_t *agRoot,
526 agsaContext_t *agContext,
527 bit32 queueNum,
528 agsaNVMDData_t *NVMDInfo
529 );
530
532 agsaRoot_t *agRoot,
533 agsaContext_t *agContext,
534 bit32 queueNum ,
535 agsaSASReconfig_t *agSASConfig
536 );
537
539 agsaRoot_t *agRoot,
540 agsaContext_t *agContext,
541 bit32 queueNum,
542 agsaSGpioReqResponse_t *pSGpioReq
543 );
544
546 agsaRoot_t *agRoot,
547 agsaContext_t *agContext,
548 bit32 queueNum,
550
551
553 agsaRoot_t *agRoot,
554 agsaContext_t *agContext,
555 bit32 queueNum,
556 bit32 type,
557 bit32 length,
558 void *TestDescriptor);
559
561 agsaRoot_t *agRoot,
562 agsaContext_t *agContext,
563 bit32 queueNum,
564 bit32 flag,
565 void *cert);
566
568 agsaRoot_t *agRoot,
569 agsaContext_t *agContext,
570 bit32 queueNum,
571 bit32 option,
572 bit32 AddrHi,
573 bit32 AddrLo);
574
576 agsaRoot_t *agRoot,
577 agsaContext_t *agContext,
578 bit32 queueNum,
579 bit32 flag,
580 bit8 role,
581 agsaID_t *id,
582 agsaEncryptKekBlob_t *kblob);
583
584
585/***************************************************************************
586 * Definition of Misc. related functions end *
587 ***************************************************************************/
588
590 agsaRoot_t *agRoot,
591 bit32 queueNum,
592 bit32 modePage,
593 bit32 length,
594 void *buffer,
595 agsaContext_t *agContext
596 );
597
598
600 agsaRoot_t *agRoot,
601 bit32 queueNum,
602 bit32 modePage,
603 bit32 flag0,
604 bit32 flag1,
605 agsaContext_t *agContext
606 );
607
609 agsaRoot_t *agRoot,
610 agsaContext_t *agContext,
611 bit32 queueNum,
613 bit32 dekTableSelect,
614 bit32 dekAddrHi,
615 bit32 dekAddrLo,
617 bit32 dekNumberOfEntries,
620 );
621
623 agsaRoot_t *agRoot,
624 agsaContext_t *agContext,
625 bit32 queueNum,
628 );
629
631 agsaRoot_t *agRoot,
632 agsaContext_t *agContext,
633 agsaEncryptInfo_t *encryptInfo
634 );
635
637 agsaRoot_t *agRoot,
638 agsaContext_t *agContext,
639 bit32 queueNum,
641 );
642
644 agsaRoot_t *agRoot,
645 agsaContext_t *agContext,
646 bit32 queueNum,
648 );
649
651 agsaRoot_t *agRoot,
652 agsaContext_t *agContext,
653 bit32 queueNum,
654 bit32 flags,
655 bit32 newKekIndex,
658 agsaEncryptKekBlob_t *encryptKekBlob
659 );
660
661#ifdef HIALEAH_ENCRYPTION
662GLOBAL bit32 saEncryptHilUpdate(
663 agsaRoot_t *agRoot,
664 agsaContext_t *agContext,
665 bit32 queueNum
666 );
667#endif /* HIALEAH_ENCRYPTION */
668
670 agsaRoot_t *agRoot,
671 agsaContext_t *agContext,
672 bit32 queueNum,
673 bit32 interface,
674 bit32 laneNumber,
675 bit32 interations,
676 agsaSgl_t *agSgl);
677
678
680 agsaRoot_t *agRoot,
681 bit32 interruptVectorIndex
682 );
683
684
686 agsaRoot_t *agRoot,
687 agsaContext_t *agContext,
688 bit32 queueNum,
689 bit32 op,
690 agsaDifEncPayload_t *agsaDifEncPayload,
692
693
695 agsaRoot_t *agRoot,
696 agsaContext_t *agContext,
697 bit32 queueNum,
698 bit32 Channel,
699 bit32 NumBitLo,
700 bit32 NumBitHi,
701 bit32 PcieAddrLo,
702 bit32 PcieAddrHi,
703 bit32 ByteCount );
704
705
707
708#ifdef SA_64BIT_TIMESTAMP
709osGLOBAL bit64 osTimeStamp64(void);
710#endif /* SA_64BIT_TIMESTAMP */
711
712#ifdef SALL_API_TEST
713/***************************************************************************
714 * Definition of LL Test related API functions start *
715 ***************************************************************************/
716GLOBAL bit32 saGetLLCounters(
717 agsaRoot_t *agRoot,
718 bit32 counters,
719 agsaLLCountInfo_t *LLCountInfo
720 );
721
722GLOBAL bit32 saResetLLCounters(
723 agsaRoot_t *agRoot,
724 bit32 counters
725 );
726#endif
727
728#endif /*__SSDKAPI_H__ */
bit32 flags
Definition: encrypt_ioctl.h:2
bit32 dekBlobFormat
Definition: encrypt_ioctl.h:3
bit32 dekTableKeyEntrySize
Definition: encrypt_ioctl.h:4
bit32 wrapperKekIndex
Definition: encrypt_ioctl.h:1
bit32 dekTable
Definition: encrypt_ioctl.h:1
bit32 kekIndex
Definition: encrypt_ioctl.h:0
bit32 dekIndex
Definition: encrypt_ioctl.h:2
bit32 blobFormat
Definition: encrypt_ioctl.h:2
unsigned short bit16
Definition: ostypes.h:98
unsigned long long bit64
Definition: ostypes.h:104
#define osGLOBAL
Definition: ostypes.h:147
#define GLOBAL
Definition: ostypes.h:131
unsigned int bit32
Definition: ostypes.h:99
#define agBOOLEAN
Definition: ostypes.h:146
#define FORCEINLINE
Definition: ostypes.h:86
unsigned char bit8
Definition: ostypes.h:97
void(* ossaSMPCompletedCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, agsaFrameHandle_t agFrameHandle)
Callback definition for.
Definition: sa.h:3530
void * agsaFrameHandle_t
handle to access frame
Definition: sa.h:1719
void(* ossaGenericCB_t)(void)
Callback definition for.
Definition: sa.h:3490
void(* ossaGenericAbortCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 flag, bit32 status)
Callback definition for abort SMP SSP SATA callback.
Definition: sa.h:3496
void(* ossaSSPCompletedCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, bit32 agIOInfoLen, void *agParam, bit16 sspTag, bit32 agOtherInfo)
Callback definition for.
Definition: sa.h:3542
void(* ossaSATACompletedCB_t)(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 agIOStatus, void *agFirstDword, bit32 agIOInfoLen, void *agParam)
Callback definition for.
Definition: sa.h:3517
void(* ossaLocalPhyControlCB_t)(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 phyId, bit32 phyOperation, bit32 status, void *parm)
Definition: sa.h:3504
void(* ossaDIFEncryptionOffloadStartCB_t)(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 status, agsaOffloadDifDetails_t *agsaOffloadDifDetails)
Definition: sa.h:3590
void(* ossaSetDeviceInfoCB_t)(agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDevHandle_t *agDevHandle, bit32 status, bit32 option, bit32 param)
Callback definition for.
Definition: sa.h:3555
GLOBAL bit32 saEncryptKekInvalidate(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 kekIndex)
Definition: saport.c:929
GLOBAL bit32 saSetPhyProfile(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 ppc, bit32 length, void *buffer, bit32 phyID)
Definition: saphy.c:936
bit32 saGetIOErrorStats(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 flag)
Definition: saioctlcmd.c:3016
bit32 saGetIOEventStats(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 flag)
Definition: saioctlcmd.c:3036
GLOBAL bit32 saGpioPinSetup(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaGpioPinSetupInfo_t *gpioPinSetupInfo)
SPC Set GPIO Pin Setup Command.
Definition: saioctlcmd.c:1477
GLOBAL bit32 saFlashExtExecute(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaFlashExtExecute_t *agFlashExtExe)
Definition: saioctlcmd.c:370
GLOBAL bit32 saPhyStop(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId)
Stop a Phy.
Definition: saphy.c:183
GLOBAL bit32 saSMPAbort(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB)
Abort SMP request.
Definition: sasmp.c:517
GLOBAL bit32 saFatalInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Definition: saint.c:325
GLOBAL void saFrameReadBlock(agsaRoot_t *agRoot, agsaFrameHandle_t agFrame, bit32 frameOffset, void *frameBuffer, bit32 frameBufLen)
Read a block from a frame.
Definition: saframe.c:96
GLOBAL bit32 saRegisterEventCallback(agsaRoot_t *agRoot, bit32 eventSourceType, ossaGenericCB_t callbackPtr)
Register a callback for a specific event.
Definition: sadisc.c:566
GLOBAL bit32 FORCEINLINE saInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to process the interrupts.
Definition: saint.c:388
GLOBAL bit32 saSetDeviceInfo(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 option, bit32 param, ossaSetDeviceInfoCB_t agCB)
Set Device Information.
Definition: sadisc.c:672
GLOBAL bit32 saSATAAbort(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB)
Abort SATA command.
Definition: sasata.c:592
GLOBAL bit32 saSATAStart(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 agRequestType, agsaSATAInitiatorRequest_t *agSATAReq, bit8 agTag, ossaSATACompletedCB_t agCB)
Start SATA command.
Definition: sasata.c:59
GLOBAL bit32 saSASDiagStartEnd(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId, bit32 operation)
SPC SAS Diagnostic Start/End Command.
Definition: saioctlcmd.c:1880
GLOBAL bit32 saLocalPhyControl(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId, bit32 phyOperation, ossaLocalPhyControlCB_t agCB)
Initiate a Local PHY control command.
Definition: saphy.c:420
GLOBAL bit32 FORCEINLINE saDelayedInterruptHandler(agsaRoot_t *agRoot, bit32 interruptVectorIndex, bit32 count)
Function to process the cause of interrupt.
Definition: saint.c:772
GLOBAL bit32 saEncryptGetMode(agsaRoot_t *agRoot, agsaContext_t *agContext, agsaEncryptInfo_t *encryptInfo)
Definition: saport.c:563
GLOBAL bit32 saGetNVMDCommand(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaNVMDData_t *NVMDInfo)
SPC Get NVMD Command.
Definition: saioctlcmd.c:3292
GLOBAL bit32 saGetControllerInfo(agsaRoot_t *agRoot, agsaControllerInfo_t *controllerInfo)
SPC Get Controller Information Command.
Definition: saioctlcmd.c:714
GLOBAL bit32 saEncryptDekCacheInvalidate(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 dekTable, bit32 dekIndex)
Definition: saport.c:1057
GLOBAL bit32 saSMPStart(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 agRequestType, agsaSASRequestBody_t *agRequestBody, ossaSMPCompletedCB_t agCB)
Start SMP request.
Definition: sasmp.c:62
GLOBAL bit32 saFrameReadBit32(agsaRoot_t *agRoot, agsaFrameHandle_t agFrame, bit32 frameOffset)
Read 32 bits from a frame.
Definition: saframe.c:55
GLOBAL bit32 saGetControllerEventLogInfo(agsaRoot_t *agRoot, agsaControllerEventLog_t *eventLogInfo)
SPC Get Controller Event Log Information Command.
Definition: saioctlcmd.c:1345
GLOBAL bit32 saOperatorManagement(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 flag, bit8 role, agsaID_t *id, agsaEncryptKekBlob_t *kblob)
Definition: saport.c:1297
GLOBAL bit32 saGetPhyProfile(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 ppc, bit32 phyID)
Definition: saphy.c:823
GLOBAL bit32 saGpioRead(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum)
SPC GPIO Read Command.
Definition: saioctlcmd.c:1567
GLOBAL bit32 saGetControllerStatus(agsaRoot_t *agRoot, agsaControllerStatus_t *controllerStatus)
SPC Get Controller Status Command.
Definition: saioctlcmd.c:974
GLOBAL bit32 saSetNVMDCommand(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaNVMDData_t *NVMDInfo)
SPC Set NVMD Command.
Definition: saioctlcmd.c:3327
GLOBAL void saHwReset(agsaRoot_t *agRoot, bit32 resetType, bit32 resetParm)
Function to reset the Hardware.
Definition: sahw.c:87
GLOBAL bit32 saVhistCapture(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 Channel, bit32 NumBitLo, bit32 NumBitHi, bit32 PcieAddrLo, bit32 PcieAddrHi, bit32 ByteCount)
Definition: saphy.c:1205
GLOBAL bit32 saGpioEventSetup(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaGpioEventSetupInfo_t *gpioEventSetupInfo)
SPC Set GPIO Event Setup Command.
Definition: saioctlcmd.c:1384
GLOBAL bit32 saGetDeviceInfo(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 option, bit32 queueNum, agsaDevHandle_t *agDevHandle)
Get Device Information.
Definition: sadisc.c:609
GLOBAL bit32 saReconfigSASParams(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaSASReconfig_t *agSASConfig)
Reconfiguration of SAS Parameters Command.
Definition: saioctlcmd.c:3654
GLOBAL bit32 saSSPAbort(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 flag, void *abortParam, ossaGenericAbortCB_t agCB)
Abort SSP request.
Definition: sassp.c:1678
GLOBAL bit32 saGetRegisterDump(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaRegDumpInfo_t *regDumpInfo)
Initiate a GET REGISTER DUMP command.
Definition: saioctlcmd.c:3071
GLOBAL void saHwShutdown(agsaRoot_t *agRoot)
Function to shutdown the Hardware.
Definition: sahw.c:395
GLOBAL bit32 saSetDeviceState(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 newDeviceState)
Set Device State.
Definition: sadisc.c:801
GLOBAL bit32 saDIFEncryptionOffloadStart(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 op, agsaDifEncPayload_t *agsaDifEncPayload, ossaDIFEncryptionOffloadStartCB_t agCB)
Definition: saport.c:1111
GLOBAL void saGetRequirements(agsaRoot_t *agRoot, agsaSwConfig_t *swConfig, agsaMemoryRequirement_t *memoryRequirement, bit32 *usecsPerTick, bit32 *maxNumLocks)
Get the memory and lock requirement from LL layer.
Definition: sainit.c:74
GLOBAL bit32 saEchoCommand(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, void *echoPayload)
SAS/SATA LL API ECHO Command.
Definition: sampicmd.c:57
GLOBAL bit32 saSASDiagExecute(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaSASDiagExecute_t *diag)
SPC SAS Diagnostic Execute Command.
Definition: saioctlcmd.c:1751
GLOBAL bit32 saGetDFEData(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 interface, bit32 laneNumber, bit32 interations, agsaSgl_t *agSgl)
Definition: saioctlcmd.c:3923
GLOBAL bit32 saPCIeDiagExecute(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaPCIeDiagExecute_t *diag)
Definition: saioctlcmd.c:3783
GLOBAL bit32 saGpioWrite(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 gpioWriteMask, bit32 gpioWriteValue)
SPC GPIO Write Command.
Definition: saioctlcmd.c:1657
GLOBAL bit32 saHwEventAck(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaEventSource_t *eventSource, bit32 param0, bit32 param1)
Initiate a HW Event Ack command.
Definition: saphy.c:1004
GLOBAL bit32 saEncryptSelftestExecute(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 type, bit32 length, void *TestDescriptor)
Definition: saport.c:1271
GLOBAL bit32 saDeregisterDeviceHandle(agsaRoot_t *agRoot, agsaContext_t *agContext, agsaDevHandle_t *agDevHandle, bit32 queueNum)
Function for target to remove stale initiator device handle.
Definition: sadisc.c:83
GLOBAL bit32 saGetControllerConfig(agsaRoot_t *agRoot, bit32 queueNum, bit32 modePage, bit32 flag0, bit32 flag1, agsaContext_t *agContext)
Definition: saport.c:1234
GLOBAL bit32 saEncryptDekCacheUpdate(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 kekIndex, bit32 dekTableSelect, bit32 dekAddrHi, bit32 dekAddrLo, bit32 dekIndex, bit32 dekNumberOfEntries, bit32 dekBlobFormat, bit32 dekTableKeyEntrySize)
Definition: saport.c:973
GLOBAL bit32 saSendSMPIoctl(agsaRoot_t *agRoot, agsaDevHandle_t *agDevHandle, bit32 queueNum, agsaSMPFrame_t *pSMPFrame, ossaSMPCompletedCB_t agCB)
Definition: saioctlcmd.c:3346
GLOBAL bit32 saPortControl(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaPortContext_t *agPortContext, bit32 portOperation, bit32 param0, bit32 param1)
Initiate a Port COntrol IOMB command.
Definition: saport.c:422
GLOBAL bit32 saFwFlashUpdate(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaUpdateFwFlash_t *flashUpdateInfo)
SPC FW Flash Update Command.
Definition: saioctlcmd.c:223
GLOBAL bit32 saSgpio(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaSGpioReqResponse_t *pSGpioReq)
Initiate a serial GPIO command.
Definition: saioctlcmd.c:2203
GLOBAL FORCEINLINE void saSystemInterruptsEnable(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Function to enable a single interrupt vector.
Definition: saint.c:1121
GLOBAL void saGetDifErrorDetails(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, agsaDifDetails_t *difDetails)
GLOBAL bit32 saInitialize(agsaRoot_t *agRoot, agsaMemoryRequirement_t *memoryAllocated, agsaHwConfig_t *hwConfig, agsaSwConfig_t *swConfig, bit32 usecsPerTick)
Initialize the Hardware.
Definition: sainit.c:303
GLOBAL void saSystemInterruptsActive(agsaRoot_t *agRoot, agBOOLEAN sysIntsActive)
Function to enable/disable interrupts.
Definition: saint.c:1340
GLOBAL bit32 saSSPStart(agsaRoot_t *agRoot, agsaIORequest_t *agIORequest, bit32 queueNum, agsaDevHandle_t *agDevHandle, bit32 agRequestType, agsaSASRequestBody_t *agRequestBody, agsaIORequest_t *agTMRequest, ossaSSPCompletedCB_t agCB)
Start SSP request.
Definition: sassp.c:580
GLOBAL bit32 saSetControllerConfig(agsaRoot_t *agRoot, bit32 queueNum, bit32 modePage, bit32 length, void *buffer, agsaContext_t *agContext)
Definition: saport.c:1151
GLOBAL bit32 saGetForensicData(agsaRoot_t *agRoot, agsaContext_t *agContext, agsaForensicData_t *forensicData)
Definition: saioctlcmd.c:3004
GLOBAL void saCountActiveIORequests(agsaRoot_t *agRoot)
saCountActiveIORequests count all active IO's
Definition: sautil.c:370
GLOBAL void saTimerTick(agsaRoot_t *agRoot)
TimerTick.
Definition: satimer.c:54
GLOBAL bit32 saGetDeviceHandles(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaPortContext_t *agPortContext, bit32 flags, agsaDevHandle_t *agDev[], bit32 skipCount, bit32 maxDevs)
Get Device Handles from a specific local port.
Definition: sadisc.c:243
GLOBAL bit32 saRegisterNewDevice(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDeviceInfo_t *agDeviceInfo, agsaPortContext_t *agPortContext, bit16 hostAssignedDeviceId)
Register New Device from a specific local port.
Definition: sadisc.c:302
GLOBAL bit32 saGetOperator(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 option, bit32 AddrHi, bit32 AddrLo)
Definition: saport.c:1395
GLOBAL bit32 saDiscover(agsaRoot_t *agRoot, agsaPortContext_t *agPortContext, bit32 type, bit32 option)
Start/Abort SAS/SATA discovery.
Definition: sadisc.c:57
GLOBAL bit32 saGetDeviceState(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaDevHandle_t *agDevHandle)
Get Device State.
Definition: sadisc.c:739
GLOBAL bit32 saPhyStart(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 phyId, agsaPhyConfig_t *agPhyConfig, agsaSASIdentify_t *agSASIdentify)
Start a Phy.
Definition: saphy.c:60
GLOBAL bit32 saSetOperator(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 flag, void *cert)
Definition: saport.c:1356
GLOBAL bit32 saEncryptKekUpdate(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, bit32 flags, bit32 newKekIndex, bit32 wrapperKekIndex, bit32 blobFormat, agsaEncryptKekBlob_t *encryptKekBlob)
Definition: saport.c:808
GLOBAL bit32 saEncryptSetMode(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum, agsaEncryptInfo_t *mode)
Definition: saport.c:710
GLOBAL bit32 saGetTimeStamp(agsaRoot_t *agRoot, agsaContext_t *agContext, bit32 queueNum)
Initiate a GET TIME STAMP command.
Definition: saioctlcmd.c:1982
data structure stores OS specific and LL specific context
Definition: sa.h:1658
specify the controller Event Log for the SAS/SATA LL Layer
Definition: sa.h:2484
describe a information for a Controller in the SAS/SATA hardware
Definition: sa.h:2045
describe a status for a Controller in the SAS/SATA hardware
Definition: sa.h:2078
data structure provides some information about a SATA device
Definition: sa.h:2561
describe a information for a Event in the SAS/SATA hardware
Definition: sa.h:2033
data structure for extended firmware flash update saFwFlashExtUpdate().
Definition: sa.h:3405
describe a GPIO Event Setup Infomation in the SAS/SATA hardware
Definition: sa.h:2102
describe a GPIO Pin Setup Infomation in the SAS/SATA hardware
Definition: sa.h:2115
structure describe hardware configuration
Definition: sa.h:2301
Definition: sa.h:3292
specify the memory allocation requirement for the SAS/SATA LL Layer
Definition: sa.h:2534
describe a NVMData for a Controller in the SAS/SATA hardware
Definition: sa.h:1936
describe a configuration for a PHY in the SAS/SATA hardware
Definition: sa.h:2204
describe a Register Dump information for a Controller in the SAS/SATA hardware
Definition: sa.h:1846
specify the SAS Diagnostic Parameters for the SAS/SATA LL Layer
Definition: sa.h:2505
describe SAS IDENTIFY address frame
Definition: sa_spec.h:448
describe a SAS ReCofiguration structure in the SAS/SATA hardware
Definition: sa.h:1726
data structure describes an STP or direct connect SATA command
Definition: sa.h:3129
describe a serial GPIO request and response in the SAS/SATA hardware
Definition: sa.h:2156
data structure describes a SMP request or response frame to be sent on the SAS port
Definition: sa.h:3057
data structure used to pass information about the scatter-gather list to the LL Layer
Definition: sa.h:2755
structure describe software configuration
Definition: sa.h:2319
data structure for firmware flash update saFwFlashUpdate().
Definition: sa.h:3391
union data structure specifies a request
Definition: sa.h:3104