FreeBSD kernel pms device code
sampidefs.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/*******************************************************************************/
30/*******************************************************************************/
31
32#ifndef __SAMPIDEFS_H__
33
34#define __SAMPIDEFS_H__
35
36/* for Request Opcode of IOMB */
37#define OPC_INB_ECHO 0x001 /* */
38
39#define OPC_INB_PHYSTART 0x004 /* */
40#define OPC_INB_PHYSTOP 0x005 /* */
41#define OPC_INB_SSPINIIOSTART 0x006 /* */
42#define OPC_INB_SSPINITMSTART 0x007 /* */
43#define OPC_INB_SSPINIEXTIOSTART 0x008 /* V reserved */
44#define OPC_INB_DEV_HANDLE_ACCEPT 0x009 /* */
45#define OPC_INB_SSPTGTIOSTART 0x00a /* */
46#define OPC_INB_SSPTGTRSPSTART 0x00b /* */
47#define OPC_INB_SSP_ABORT 0x00f /* */
48#define OPC_INB_DEREG_DEV_HANDLE 0x010 /* 16 */
49#define OPC_INB_GET_DEV_HANDLE 0x011 /* 17 */
50#define OPC_INB_SMP_REQUEST 0x012 /* 18 */
51
52#define OPC_INB_SMP_ABORT 0x014 /* 20 */
53
54#define OPC_INB_SPC_REG_DEV 0x016 /* 22 V reserved */
55#define OPC_INB_SATA_HOST_OPSTART 0x017 /* 23 */
56#define OPC_INB_SATA_ABORT 0x018 /* 24 */
57#define OPC_INB_LOCAL_PHY_CONTROL 0x019 /* 25 */
58#define OPC_INB_SPC_GET_DEV_INFO 0x01a /* 26 V reserved */
59
60#define OPC_INB_FW_FLASH_UPDATE 0x020 /* 32 */
61
62#define OPC_INB_GPIO 0x022 /* 34 */
63#define OPC_INB_SAS_DIAG_MODE_START_END 0x023 /* 35 */
64#define OPC_INB_SAS_DIAG_EXECUTE 0x024 /* 36 */
65#define OPC_INB_SPC_SAS_HW_EVENT_ACK 0x025 /* 37 V reserved */
66#define OPC_INB_GET_TIME_STAMP 0x026 /* 38 */
67#define OPC_INB_PORT_CONTROL 0x027 /* 39 */
68#define OPC_INB_GET_NVMD_DATA 0x028 /* 40 */
69#define OPC_INB_SET_NVMD_DATA 0x029 /* 41 */
70#define OPC_INB_SET_DEVICE_STATE 0x02a /* 42 */
71#define OPC_INB_GET_DEVICE_STATE 0x02b /* 43 */
72#define OPC_INB_SET_DEV_INFO 0x02c /* 44 */
73#define OPC_INB_SAS_RE_INITIALIZE 0x02d /* 45 V reserved */
74#define OPC_INB_SGPIO 0x02e /* 46 */
75#define OPC_INB_PCIE_DIAG_EXECUTE 0x02f /* 47 */
76
77#define OPC_INB_SET_CONTROLLER_CONFIG 0x030 /* 48 */
78#define OPC_INB_GET_CONTROLLER_CONFIG 0x031 /* 49 */
79
80#define OPC_INB_REG_DEV 0x032 /* 50 SPCV */
81#define OPC_INB_SAS_HW_EVENT_ACK 0x033 /* 51 SPCV */
82#define OPC_INB_GET_DEV_INFO 0x034 /* 52 SPCV */
83#define OPC_INB_GET_PHY_PROFILE 0x035 /* 53 SPCV */
84#define OPC_INB_FLASH_OP_EXT 0x036 /* 54 SPCV */
85#define OPC_INB_SET_PHY_PROFILE 0x037 /* 55 SPCV */
86#define OPC_INB_GET_DFE_DATA 0x038 /* 56 SPCV */
87#define OPC_INB_GET_VHIST_CAP 0x039 /* 57 SPCV12g */
88
89
90#define OPC_INB_KEK_MANAGEMENT 0x100 /* 256 SPCV */
91#define OPC_INB_DEK_MANAGEMENT 0x101 /* 257 SPCV */
92#define OPC_INB_SSP_DIF_ENC_OPSTART 0x102 /* 258 SPCV */
93#define OPC_INB_SATA_DIF_ENC_OPSTART 0x103 /* 259 SPCV */
94#define OPC_INB_OPR_MGMT 0x104 /* 260 SPCV */
95#define OPC_INB_ENC_TEST_EXECUTE 0x105 /* 261 SPCV */
96#define OPC_INB_SET_OPERATOR 0x106 /* 262 SPCV */
97#define OPC_INB_GET_OPERATOR 0x107 /* 263 SPCV */
98#define OPC_INB_DIF_ENC_OFFLOAD_CMD 0x110 /* 272 SPCV */
99
100#define OPC_INB_FW_PROFILE 0x888 /* 2184 SPCV */
101
102/* for Response Opcode of IOMB */
103#define OPC_OUB_ECHO 0x001 /* 1 */
104
105#define OPC_OUB_SPC_HW_EVENT 0x004 /* 4 V reserved Now OPC_OUB_HW_EVENT */
106#define OPC_OUB_SSP_COMP 0x005 /* 5 */
107#define OPC_OUB_SMP_COMP 0x006 /* 6 */
108#define OPC_OUB_LOCAL_PHY_CNTRL 0x007 /* 7 */
109
110#define OPC_OUB_SPC_DEV_REGIST 0x00a /* 10 V reserved Now OPC_OUB_DEV_REGIST */
111#define OPC_OUB_DEREG_DEV 0x00b /* 11 */
112#define OPC_OUB_GET_DEV_HANDLE 0x00c /* 12 */
113#define OPC_OUB_SATA_COMP 0x00d /* 13 */
114#define OPC_OUB_SATA_EVENT 0x00e /* 14 */
115#define OPC_OUB_SSP_EVENT 0x00f /* 15 */
116
117#define OPC_OUB_SPC_DEV_HANDLE_ARRIV 0x010 /* 16 V reserved Now OPC_OUB_DEV_HANDLE_ARRIV */
118
119#define OPC_OUB_SSP_RECV_EVENT 0x012 /* 18 */
120#define OPC_OUB_SPC_DEV_INFO 0x013 /* 19 V reserved Now OPC_OUB_DEV_INFO*/
121#define OPC_OUB_FW_FLASH_UPDATE 0x014 /* 20 */
122
123#define OPC_OUB_GPIO_RESPONSE 0x016 /* 22 */
124#define OPC_OUB_GPIO_EVENT 0x017 /* 23 */
125#define OPC_OUB_GENERAL_EVENT 0x018 /* 24 */
126
127#define OPC_OUB_SSP_ABORT_RSP 0x01a /* 26 */
128#define OPC_OUB_SATA_ABORT_RSP 0x01b /* 27 */
129#define OPC_OUB_SAS_DIAG_MODE_START_END 0x01c /* 28 */
130#define OPC_OUB_SAS_DIAG_EXECUTE 0x01d /* 29 */
131#define OPC_OUB_GET_TIME_STAMP 0x01e /* 30 */
132#define OPC_OUB_SPC_SAS_HW_EVENT_ACK 0x01f /* 31 V reserved Now OPC_OUB_SAS_HW_EVENT_ACK*/
133#define OPC_OUB_PORT_CONTROL 0x020 /* 32 */
134#define OPC_OUB_SKIP_ENTRY 0x021 /* 33 */
135#define OPC_OUB_SMP_ABORT_RSP 0x022 /* 34 */
136#define OPC_OUB_GET_NVMD_DATA 0x023 /* 35 */
137#define OPC_OUB_SET_NVMD_DATA 0x024 /* 36 */
138#define OPC_OUB_DEVICE_HANDLE_REMOVAL 0x025 /* 37 */
139#define OPC_OUB_SET_DEVICE_STATE 0x026 /* 38 */
140#define OPC_OUB_GET_DEVICE_STATE 0x027 /* 39 */
141#define OPC_OUB_SET_DEV_INFO 0x028 /* 40 */
142#define OPC_OUB_SAS_RE_INITIALIZE 0x029 /* 41 V reserved not replaced */
143
144#define OPC_OUB_HW_EVENT 0x700 /* 1792 SPCV Was OPC_OUB_SPC_HW_EVENT*/
145#define OPC_OUB_DEV_HANDLE_ARRIV 0x720 /* 1824 SPCV Was OPC_OUB_SPC_DEV_HANDLE_ARRIV*/
146
147#define OPC_OUB_PHY_START_RESPONSE 0x804 /* 2052 SPCV */
148#define OPC_OUB_PHY_STOP_RESPONSE 0x805 /* 2053 SPCV */
149#define OPC_OUB_SGPIO_RESPONSE 0x82E /* 2094 SPCV */
150#define OPC_OUB_PCIE_DIAG_EXECUTE 0x82F /* 2095 SPCV */
151
152#define OPC_OUB_SET_CONTROLLER_CONFIG 0x830 /* 2096 SPCV */
153#define OPC_OUB_GET_CONTROLLER_CONFIG 0x831 /* 2097 SPCV */
154#define OPC_OUB_DEV_REGIST 0x832 /* 2098 SPCV */
155#define OPC_OUB_SAS_HW_EVENT_ACK 0x833 /* 2099 SPCV */
156#define OPC_OUB_DEV_INFO 0x834 /* 2100 SPCV */
157#define OPC_OUB_GET_PHY_PROFILE_RSP 0x835 /* 2101 SPCV */
158#define OPC_OUB_FLASH_OP_EXT_RSP 0x836 /* 2102 SPCV */
159#define OPC_OUB_SET_PHY_PROFILE_RSP 0x837 /* 2103 SPCV */
160#define OPC_OUB_GET_DFE_DATA_RSP 0x838 /* 2104 SPCV */
161#define OPC_OUB_GET_VIST_CAP_RSP 0x839 /* Can be 2104 for SPCV12g */
162
163#define OPC_OUB_FW_PROFILE 0x888 /* 2184 */
164
165#define OPC_OUB_KEK_MANAGEMENT 0x900 /* 2304 SPCV */
166#define OPC_OUB_DEK_MANAGEMENT 0x901 /* 2305 SPCV */
167#define OPC_OUB_COMBINED_SSP_COMP 0x902 /* 2306 SPCV */
168#define OPC_OUB_COMBINED_SATA_COMP 0x903 /* 2307 SPCV */
169#define OPC_OUB_OPR_MGMT 0x904 /* 2308 SPCV */
170#define OPC_OUB_ENC_TEST_EXECUTE 0x905 /* 2309 SPCV */
171#define OPC_OUB_SET_OPERATOR 0x906 /* 2310 SPCV */
172#define OPC_OUB_GET_OPERATOR 0x907 /* 2311 SPCV */
173#define OPC_OUB_DIF_ENC_OFFLOAD_RSP 0x910 /* 2320 SPCV */
174
175/* Definitions for encryption key management */
176#define KEK_MGMT_SUBOP_INVALIDATE 0x1
177#define KEK_MGMT_SUBOP_UPDATE 0x2
178#define KEK_MGMT_SUBOP_KEYCARDINVALIDATE 0x3
179#define KEK_MGMT_SUBOP_KEYCARDUPDATE 0x4
180
181#define DEK_MGMT_SUBOP_INVALIDATE 0x1
182#define DEK_MGMT_SUBOP_UPDATE 0x2
183
184/***************************************************
185 * typedef for IOMB structure
186 ***************************************************/
192typedef struct agsaEchoCmd_s {
196
202typedef struct agsaPhyStartCmd_s {
210
211#define SPINHOLD_DISABLE (0x00 << 14)
212#define SPINHOLD_ENABLE (0x01 << 14)
213#define LINKMODE_SAS (0x01 << 12)
214#define LINKMODE_DSATA (0x02 << 12)
215#define LINKMODE_AUTO (0x03 << 12)
216#define LINKRATE_15 (0x01 << 8)
217#define LINKRATE_30 (0x02 << 8)
218#define LINKRATE_60 (0x04 << 8)
219#define LINKRATE_12 (0x08 << 8)
220
226typedef struct agsaPhyStopCmd_s {
231
248
263
275 /* variable lengh */
276 /* bit32 AddrLow0; */
277 /* bit32 AddrHi0; */
278 /* bit32 Len0; */
279 /* bit32 E0; */
281
283{
284 bit32 tag; /* 1 */
286 bit32 dataLen; /* 3 */
287 bit32 dirMTlr; /* 4 */
295 bit32 epl_descL; /* 12 */
296 bit32 dpl_descL; /* 13 */
298 bit32 DIF_flags; /* 15 */
299 bit32 udt; /* 16 0x10 */
302 bit32 DIF_seed; /* 19 */
303 bit32 encryptFlagsLo; /* 20 0x14 */
305 bit32 keyTag_W0; /* 22 */
306 bit32 keyTag_W1; /* 23 */
307 bit32 tweakVal_W0; /* 24 0x18 */
311 bit32 AddrLow0; /* 28 0x1C */
312 bit32 AddrHi0; /* 29 */
313 bit32 Len0; /* 30 */
314 bit32 E0; /* 31 */
316
322typedef struct agsaSSPAbortCmd_s {
329
335typedef struct agsaRegDevCmd_s {
345
357
363typedef struct agsaGetDevHandleCmd_s {
369
376typedef struct agsaSMPCmd_s {
380 /* Bits [0] - IR */
381 /* Bits [1] - IP */
382 /* Bits [15:2] - Reserved */
383 /* Bits [23:16] - Len */
384 /* Bits [31:24] - Reserved */
387
388
389typedef struct agsaSMPCmd_V_s {
390 bit32 tag; /* 1 */
393 /* Bits [0] - IR */
394 /* Bits [1] - IP */
395 /* Bits [15:2] - Reserved */
396 /* Bits [23:16] - Len */
397 /* Bits [31:24] - Reserved */
398 bit32 SMPHDR; /* 4 */
399 bit32 SMP3_0; /* 5 */
400 bit32 SMP7_4; /* 6 */
401 bit32 SMP11_8; /* 7 */
411
417typedef struct agsaSMPAbortCmd_s {
424
430typedef struct agsaSATAStartCmd_s {
431 bit32 tag; /* 1 */
433 bit32 dataLen; /* 3 */
436 bit32 reserved1; /* 10 */
437 bit32 reserved2; /* 11 */
438 bit32 AddrLow0; /* 12 */
439 bit32 AddrHi0; /* 13 */
440 bit32 Len0; /* 14 */
441 bit32 E0; /* 15 */
442 bit32 ATAPICDB[4]; /* 16-19 */
444
446{
447 bit32 tag; /* 1 */
449 bit32 dataLen; /* 3 */
452 bit32 reserved1; /* 10 */
455 bit32 Res_DPL_DESCL_NDPLR; /* 13 DIF per LA Address lo if DPLE is 1 */
456 bit32 Res_EDPL_DESCH; /* 14 DIF per LA Address hi if DPLE is 1 */
457 bit32 DIF_flags; /* 15 */
458 bit32 udt; /* 16 */
461 bit32 DIF_seed; /* 19 */
464 bit32 keyTagLo; /* 22 */
465 bit32 keyTagHi; /* 23 */
470 bit32 AddrLow0; /* 28 */
471 bit32 AddrHi0; /* 29 */
472 bit32 Len0; /* 30 */
473 bit32 E0; /* 31 */
475
481typedef struct agsaSATAAbortCmd_s {
488
499
505typedef struct agsaGetDevInfoCmd_s {
510
516typedef struct agsaHWResetCmd_s {
520
525typedef struct agsaFwFlashUpdate_s {
536
537
542typedef struct agsaFwFlashOpExt_s {
554
559typedef struct agsaFwFlashOpExtRsp_s {
567
568
569#define FWFLASH_IOMB_RESERVED_LEN 0x07
570
571#ifdef SPC_ENABLE_PROFILE
572typedef struct agsaFwProfileIOMB_s {
573 bit32 tag;
574 bit32 tcid_processor_cmd;
575 bit32 codeStartAdd;
576 bit32 codeEndAdd;
577 bit32 reserved0[7];
578 bit32 SGLAL;
579 bit32 SGLAH;
580 bit32 Len;
581 bit32 extReserved;
582} agsaFwProfileIOMB_t;
583#define FWPROFILE_IOMB_RESERVED_LEN 0x07
584#endif
589typedef struct agsaGPIOCmd_s {
596 bit32 OT19_12; /* reserved for SPCv controller */
602
603
604#define GPIO_GW_BIT 0x1
605#define GPIO_GR_BIT 0x2
606#define GPIO_GS_BIT 0x4
607#define GPIO_GE_BIT 0x8
608
618
624 bit32 tag; /* 1 */
629 bit32 Pmon; /* 6 */
632 bit32 reserved[23]; /* 9 31 */
634
635
641 bit32 tag; /* 1 */
646 bit32 Pmon; /* 6 */
648 bit32 reserved[8]; /* 8 15 */
650#define SAS_DIAG_PARAM_BYTES 24
651
652
659 bit32 tag; /* 1 */
661 bit32 dataLen; /* 3 */
666 bit32 udt; /* 8 */
669 bit32 DIF_seed; /* 11 */
670 bit32 AddrLow0; /* 12 */
671 bit32 AddrHi0; /* 13 */
672 bit32 Len0; /* 14 */
673 bit32 E0; /* 15 */
675
692
705
718
724typedef struct agsaGetTimeStampCmd_s {
728
734typedef struct agsaPortControlCmd_s {
741
747typedef struct agNVMIndirect_s {
755
756typedef union agsaSetNVMData_s {
760
761typedef struct agsaSetNVMDataCmd_s {
767
773typedef struct agsaGetNVMDataCmd_s {
783
784#define TWI_DEVICE 0x0
785#define C_SEEPROM 0x1
786#define VPD_FLASH 0x4
787#define AAP1_RDUMP 0x5
788#define IOP_RDUMP 0x6
789#define EXPAN_ROM 0x7
790
791#define DIRECT_MODE 0x0
792#define INDIRECT_MODE 0x1
793
794#define IRMode 0x80000000
795#define IPMode 0x80000000
796#define NVMD_TYPE 0x0000000F
797#define NVMD_STAT 0x0000FFFF
798#define NVMD_LEN 0xFF000000
799
800#define TWI_DEVICE 0x0
801#define SEEPROM 0x1
802
814
815#define DS_OPERATIONAL 0x01
816#define DS_IN_RECOVERY 0x03
817#define DS_IN_ERROR 0x04
818#define DS_NON_OPERATIONAL 0x07
819
830
836typedef struct agsaSetDevInfoCmd_s {
843
844#define SET_DEV_INFO_V_DW3_MASK 0x0000003F
845#define SET_DEV_INFO_V_DW4_MASK 0xFF07FFFF
846#define SET_DEV_INFO_SPC_DW3_MASK 0x7
847#define SET_DEV_INFO_SPC_DW4_MASK 0x003FFFF
848
849#define SET_DEV_INFO_V_DW3_SM_SHIFT 3
850#define SET_DEV_INFO_V_DW3_SA_SHIFT 2
851#define SET_DEV_INFO_V_DW3_SR_SHIFT 1
852#define SET_DEV_INFO_V_DW3_SI_SHIFT 0
853
854#define SET_DEV_INFO_V_DW4_MCN_SHIFT 24
855#define SET_DEV_INFO_V_DW4_AWT_SHIFT 17
856#define SET_DEV_INFO_V_DW4_RETRY_SHIFT 16
857#define SET_DEV_INFO_V_DW4_ITNEXUS_SHIFT 0
858
872
873
879typedef struct agsaSGpioCmd_s {
885
892 bit32 tag; /* 1 */
894 bit32 UUM_EDA; /* 3 */
898 bit32 Res_IOS; /* 7 */
903 bit32 len; /* 12 */
904 bit32 pattern; /* 13 */
905 bit32 reserved2[2]; /* 14 15 */
906 bit32 reserved3[16]; /* 15 31 */
908
909
927
933typedef struct agsaGetDDEFDataCmd_s {
934 bit32 tag; /* 1 */
936 bit32 MCNT; /* 3 */
937 bit32 reserved1[3]; /* 4 - 6 */
940 bit32 Buf_Len; /* 9 */
942 bit32 reserved2[21]; /* 11 - 31 */
944
945
946/***********************************************
947 * outbound IOMBs
948 ***********************************************/
954typedef struct agsaEchoRsp_s {
958
964typedef struct agsaHWEvent_SPC_OUB_s {
971
972#define PHY_ID_BITS 0x000000F0
973#define LINK_RATE_MASK 0xF0000000
974#define STATUS_BITS 0x0F000000
975#define HW_EVENT_BITS 0x00FFFF00
976
977typedef struct agsaHWEvent_Phy_OUB_s {
982
988typedef struct agsaHWEvent_V_OUB_s {
995
996#define PHY_ID_V_BITS 0x00FF0000
997#define NIPP_V_BITS 0x0000FF00
998
999
1000
1016
1017
1040
1042
1043
1044/* SSPTag bit fields Bits [31:16] */
1045#define SSP_RESCV_BIT 0x00010000 /* Bits [16] */
1046#define SSP_RESCV_PAD 0x00060000 /* Bits [18:17] */
1047#define SSP_RESCV_PAD_SHIFT 17
1048#define SSP_AGR_S_BIT (1 << 19) /* Bits [19] */
1049
1061
1073
1084
1085#define DEVICE_IDC_BITS 0x00FFFF00
1086#define DEVICE_ID_BITS 0x00000FFF
1087
1099
1100#define LOCAL_PHY_OP_BITS 0x0000FF00
1101#define LOCAL_PHY_PHYID 0x000000FF
1102
1114
1115
1116#define FAILURE_OUT_OF_RESOURCE 0x01 /* The device registration failed because the SPC 8x6G is running out of device handle resources. The parameter DEVICE_ID is not used. */
1117#define FAILURE_DEVICE_ALREADY_REGISTERED 0x02 /* The device registration failed because the SPC 8x6G detected an existing device handle with a similar SAS address. The parameter DEVICE_ID contains the existing DEVICE _ID assigned to the SAS device. */
1118#define FAILURE_INVALID_PHY_ID 0x03 /* Only for directly-attached SATA registration. The device registration failed because the SPC 8x6G detected an invalid (out-of-range) PHY ID. */
1119#define FAILURE_PHY_ID_ALREADY_REGISTERED 0x04 /* Only for directly-attached SATA registration. The device registration failed because the SPC 8x6G detected an already -registered PHY ID for a directly attached SATA drive. */
1120#define FAILURE_PORT_ID_OUT_OF_RANGE 0x05 /* PORT_ID specified in the REGISTER_DEVICE Command is out-of range (0-7). */
1121#define FAILURE_PORT_NOT_VALID_STATE 0x06 /* The PORT_ID specified in the REGISTER_DEVICE Command is not in PORT_VALID state. */
1122#define FAILURE_DEVICE_TYPE_NOT_VALID 0x07 /* The device type, specified in the ‘S field in the REGISTER_DEVICE Command is not valid. */
1123
1124#define MPI_ERR_DEVICE_HANDLE_UNAVAILABLE 0x1020 /* The device registration failed because the SPCv controller is running out of device handle resources. The parameter DEVICE_ID is not used. */
1125#define MPI_ERR_DEVICE_ALREADY_REGISTERED 0x1021 /* The device registration failed because the SPCv controller detected an existing device handle with the same SAS address. The parameter DEVICE_ID contains the existing DEVICE _ID assigned to the SAS device. */
1126#define MPI_ERR_DEVICE_TYPE_NOT_VALID 0x1022 /* The device type, specified in the ‘S field in the REGISTER_DEVICE_HANDLE Command (page 274) is not valid. */
1127#define MPI_ERR_PORT_INVALID_PORT_ID 0x1041 /* specified in the REGISTER_DEVICE_HANDLE Command (page 274) is invalid. i.e Out of supported range */
1128#define MPI_ERR_PORT_STATE_NOT_VALID 0x1042 /* The PORT_ID specified in the REGISTER_DEVICE_HANDLE Command (page 274) is not in PORT_VALID state. */
1129#define MPI_ERR_PORT_STATE_NOT_IN_USE 0x1043
1130#define MPI_ERR_PORT_OP_NOT_SUPPORTED 0x1044
1131#define MPI_ERR_PORT_SMP_PHY_WIDTH_EXCEED 0x1045
1132#define MPI_ERR_PORT_NOT_IN_CORRECT_STATE 0x1047 /*MPI_ERR_DEVICE_ACCEPT_PENDING*/
1133
1134
1135#define MPI_ERR_PHY_ID_INVALID 0x1061 /* Only for directly-attached SATA registration. The device registration failed because the SPCv controller detected an invalid (out-of-range) PHY ID. */
1136#define MPI_ERR_PHY_ID_ALREADY_REGISTERED 0x1062 /* Only for directly-attached SATA registration. The device registration failed because the SPCv controller detected an alreadyregistered PHY ID for a directly-attached SATA drive. */
1137
1138
1139
1140
1153
1159typedef struct agsaSATAEventRsp_s {
1166
1172typedef struct agsaSSPEventRsp_s {
1190
1191#define SSPTAG_BITS 0x0000FFFF
1192
1208
1209#define SMPTO_BITS 0xFFFF
1210#define NEXUSTO_BITS 0xFFFF
1211#define FIRST_BURST 0xFFFF
1212#define FLAG_BITS 0x3
1213#define LINK_RATE_BITS 0xFF
1214#define DEV_TYPE_BITS 0x30000000
1215
1221typedef struct agsaGetDevInfoRspV_s {
1231
1232#define SMPTO_VBITS 0xFFFF
1233#define NEXUSTO_VBITS 0xFFFF
1234#define FIRST_BURST_MCN 0xF
1235#define FLAG_VBITS 0x3
1236#define LINK_RATE_VBITS 0xFF
1237#define DEV_TYPE_VBITS 0x10000000
1238
1239
1248
1249
1259
1268
1272typedef struct agsaGetVHistCap_V_s {
1284
1294
1295typedef struct agsaGetPhyInfoV_s {
1300
1301
1302#define SPC_GET_SAS_PHY_ERR_COUNTERS 1
1303#define SPC_GET_SAS_PHY_ERR_COUNTERS_CLR 2
1304#define SPC_GET_SAS_PHY_BW_COUNTERS 3
1305
1306
1317
1318#ifdef SPC_ENABLE_PROFILE
1319typedef struct agsaFwProfileRsp_s {
1320 bit32 tag;
1321 bit32 status;
1322 bit32 len;
1323 bit32 reserved[12];
1324} agsaFwProfileRsp_t;
1325#endif
1330typedef struct agsaGPIORsp_s {
1342
1347typedef struct agsaGPIOEvent_s {
1351
1361
1367typedef struct agsaSSPAbortRsp_s {
1373
1379typedef struct agsaSATAAbortRsp_s {
1385
1396
1409
1419
1420#define GENERAL_EVENT_PAYLOAD 14
1421#define OPCODE_BITS 0x00000fff
1422
1423/*
1424Table 171 GENERAL_EVENT Notification Status Field Codes
1425Value Name Description
1426*/
1427#define GEN_EVENT_IOMB_V_BIT_NOT_SET 0x01 /* INBOUND_ Inbound IOMB is received with the V bit in the IOMB header not set. */
1428#define GEN_EVENT_INBOUND_IOMB_OPC_NOT_SUPPORTED 0x02 /* Inbound IOMB is received with an unsupported OPC. */
1429#define GEN_EVENT_IOMB_INVALID_OBID 0x03 /* INBOUND Inbound IOMB is received with an invalid OBID. */
1430#define GEN_EVENT_DS_IN_NON_OPERATIONAL 0x39 /* DEVICE_HANDLE_ACCEPT command failed due to the device being in DS_NON_OPERATIONAL state. */
1431#define GEN_EVENT_DS_IN_RECOVERY 0x3A /* DEVICE_HANDLE_ACCEPT command failed due to device being in DS_IN_RECOVERY state. */
1432#define GEN_EVENT_DS_INVALID 0x49 /* DEVICE_HANDLE_ACCEPT command failed due to device being in DS_INVALID state. */
1433
1434#define GEN_EVENT_IO_XFER_READ_COMPL_ERR 0x50 /* Indicates the PCIe Read Request to fetch one or more inbound IOMBs received
1435 a failed completion response. The first and second Dwords of the
1436 INBOUND IOMB field ( Dwords 2 and 3) contains information to identifying
1437 the location in the inbound queue where the error occurred.
1438 Dword 2 bits[15:0] contains the inbound queue number.
1439 Dword 2 bits[31:16] specifies how many consecutive IOMBs were affected
1440 by the failed DMA.
1441 Dword 3 specifies the Consumer Index [CI] of the inbound queue where
1442 the DMA operation failed.*/
1453 bit32 TlrHdsa;
1454 bit32 SSPIu[251];
1456
1457#define SSPIUL_BITS 0x0000FFFF
1458#define INITTAG_BITS 0x0000FFFF
1459#define FRAME_TYPE 0x000000FF
1460#define TLR_BITS 0x00000300
1468 bit32 CTag;
1474
1476
1478#define Conrate_V_MASK 0x0000F000
1479#define Conrate_V_SHIFT 12
1480#define Conrate_SPC_MASK 0x0000F000
1481#define Conrate_SPC_SHIFT 4
1482
1483#define Protocol_SPC_MASK 0x00000700
1484#define Protocol_SPC_SHIFT 8
1485#define Protocol_SPC_MASK 0x00000700
1486#define Protocol_SPC_SHIFT 8
1488#define PortId_V_MASK 0xFF
1489#define PortId_SPC_MASK 0x0F
1490
1491#define PROTOCOL_BITS 0x00000700
1492#define PROTOCOL_SHIFT 8
1493
1494#define SHIFT_REG_64K_MASK 0xffff0000
1495#define SHIFT_REG_BIT_SHIFT 8
1496#define SPC_GSM_SM_OFFSET 0x400000
1497#define SPCV_GSM_SM_OFFSET 0x0
1504typedef struct agsaGetTimeStampRsp_s {
1505 bit32 tag;
1516typedef struct agsaSASHwEventAckRsp_s {
1517 bit32 tag;
1518 bit32 status;
1527typedef struct agsaPortControlRsp_s {
1528 bit32 tag;
1530 bit32 status;
1540typedef struct agsaSMPAbortRsp_s {
1541 bit32 tag;
1542 bit32 status;
1543 bit32 scp;
1552typedef struct agsaGetNVMDataRsp_s {
1553 bit32 tag;
1564typedef struct agsaSetNVMDataRsp_s {
1565 bit32 tag;
1567 bit32 status;
1576typedef struct agsaDeviceHandleRemoval_s {
1577 bit32 portId;
1589 bit32 status;
1591 bit32 pds_nds;
1592 bit32 reserved[11];
1594
1595#define NDS_BITS 0x0F
1596#define PDS_BITS 0xF0
1603typedef struct agsaGetDeviceStateRsp_s {
1604 bit32 tag;
1605 bit32 status;
1607 bit32 ds;
1616typedef struct agsaSetDeviceInfoRsp_s {
1617 bit32 tag;
1618 bit32 status;
1631 bit32 tag;
1632 bit32 status;
1645typedef struct agsaSGpioRsp_s {
1646 bit32 tag;
1659 bit32 tag; /* 1 */
1661 bit32 Status; /* 3 */
1666 bit32 DWord8; /* 8 */
1667 bit32 DWord9; /* 9 */
1668 bit32 DWord10; /* 10 */
1669 bit32 DWord11; /* 11 */
1670 bit32 DIF_ERR; /* 12 */
1671 bit32 reservedDW13; /* 13 */
1672 bit32 reservedDW14; /* 14 */
1673 bit32 reservedDW15; /* 15 */
1682typedef struct agsa_SPC_PCIeDiagExecuteRsp_s {
1683 bit32 tag; /* 1 */
1684 bit32 CmdTypeDesc; /* 2 */
1685 bit32 Status; /* 3 */
1686 bit32 reserved[12]; /* 4 15 */
1694typedef struct agsaGetDDEFDataRsp_s {
1695 bit32 tag; /* 1 */
1696 bit32 status; /* 2 */
1697 bit32 reserved_In_Ln;/* 3 */
1698 bit32 MCNT; /* 4 */
1699 bit32 NBT; /* 5 */
1700 bit32 reserved[10]; /* 6 - 15 */
1708typedef struct agsaGetVHistCapRsp_s {
1709 bit32 tag; /* 1 */
1710 bit32 status; /* 2 */
1712 bit32 BistLo; /* 4 */
1713 bit32 BistHi; /* 5 */
1715 bit32 PciLo; /* 7 */
1716 bit32 PciHi; /* 8 */
1718 bit32 reserved[5]; /* 10 - 15 */
1724 bit32 configPage[13]; /* Page code specific fields */
1726
1734
1747 bit32 configPage[12]; /* Page code specific fields */
1751 bit32 tag;
1760typedef struct agsaDekManagementRsp_s {
1775
1776typedef struct agsaKekManagementRsp_s {
1783
1784
1785typedef struct agsaCoalSspComplCxt_s {
1786 bit32 tag;
1787 bit16 SSPTag;
1796typedef struct agsaSSPCoalescedCompletionRsp_s {
1798 agsaCoalSspComplCxt_t sspComplCxt[1]; /* Open ended array */
1808 bit32 tag;
1811
1812typedef struct agsaSATACoalescedCompletionRsp_s {
1814 agsaCoalStpComplCxt_t stpComplCxt[1]; /* Open ended array */
1824 bit32 tag; /* 1 */
1826 bit8 IDString_Role[32]; /* 3 10 */
1827#ifndef HAILEAH_HOST_6G_COMPITIBILITY_FLAG
1828 agsaEncryptKekBlob_t Kblob; /* 11 22 */
1829#endif
1830 bit32 reserved[8]; /* 23 31 */
1836 * use to describe OPR_MGMT Response (64 bytes)
1838 */
1839typedef struct agsaOperatorMangmentRsp_s {
1840 bit32 tag; /* 1 */
1841 bit32 status; /* 2 */
1842 bit32 OPRIDX_AUTIDX_R_OMO; /* 3 */
1843 bit32 errorQualifier; /* 4 */
1844 bit32 reserved[10]; /* 5 15 */
1852typedef struct agsaSetOperatorCmd_s{
1853 bit32 tag; /* 1 */
1854 bit32 OPRIDX_PIN_ACS; /* 2 */
1855 bit32 cert[10]; /* 3 12 */
1856 bit32 reserved[3]; /* 13 15 */
1861 * use to describe Set Operator Response (64 bytes)
1862 *
1863 */
1864typedef struct agsaSetOperatorRsp_s {
1865 bit32 tag; /* 1 */
1866 bit32 status; /* 2 */
1868 bit32 reserved[12]; /* 4 15 */
1876typedef struct agsaGetOperatorCmd_s{
1877 bit32 tag; /* 1 */
1878 bit32 option; /* 2 */
1879 bit32 OprBufAddrLo; /* 3 */
1880 bit32 OprBufAddrHi; /* 4*/
1881 bit32 reserved[11]; /*5 15*/
1886 * use to describe Get Operator Response (64 bytes)
1888 */
1889typedef struct agsaGetOperatorRsp_s {
1890 bit32 tag; /* 1 */
1891 bit32 status; /* 2 */
1892 bit32 Num_Option; /* 3 */
1893 bit32 IDString[8]; /* 4 11*/
1894 bit32 reserved[4]; /* 12 15*/
1899 * use to start Encryption BIST (128 bytes)
1900 * 0x105
1901 */
1902typedef struct agsaEncryptBist_s {
1903 bit32 tag; /* 1 */
1904 bit32 r_subop; /* 2 */
1905 bit32 testDiscption[28]; /* 3 31 */
1910 * use to describe Encryption BIST Response (64 bytes)
1911 * 0x905
1912 */
1913
1914typedef struct agsaEncryptBistRsp_s {
1915 bit32 tag; /* 1 */
1916 bit32 status; /* 2 */
1917 bit32 subop; /* 3 */
1918 bit32 testResults[11]; /* 4 15 */
1927 bit32 tag; /* 1 */
1928 bit32 option; /* 2 */
1929 bit32 reserved[2]; /* 3-4 */
1932 bit32 flags; /* 7 */
1935 bit32 UDTR2345; /* 10 */
1944 bit32 tweakVal_W1; /* 19 */
1945 bit32 tweakVal_W2; /* 20 */
1946 bit32 tweakVal_W3; /* 21 */
1947 bit32 EPL_Addr_Lo; /* 22 */
1948 bit32 EPL_Addr_Hi; /* 23 */
1949 agsaSgl_t SrcSgl; /* 24-27 */
1950 agsaSgl_t DstSgl; /* 28-31 */
1955 * use to describe DIF/Encryption Offload Response (32 bytes)
1956 * 0x910
1960 bit32 status;
1965 bit32 DIFErr;
1968
1969#endif /*__SAMPIDEFS_H__ */
bit32 status
Definition: encrypt_ioctl.h:12
unsigned short bit16
Definition: ostypes.h:98
unsigned int bit32
Definition: ostypes.h:99
unsigned char bit8
Definition: ostypes.h:97
#define OSSA_SGPIO_MAX_WRITE_DATA_COUNT
Definition: sa.h:1618
#define OSSA_SGPIO_MAX_READ_DATA_COUNT
Definition: sa.h:1617
struct agsaRegDevCmd_s agsaRegDevCmd_t
the data structure of Register Device Command
struct agsaGetNVMDataRsp_s agsaGetNVMDataRsp_t
the data structure of Get NVMD Data Response
struct agsaGetDevInfoCmd_s agsaGetDevInfoCmd_t
the data structure of Get Device Info Command
struct agsaSATACoalescedCompletionRsp_s agsaSATACoalescedCompletionRsp_t
struct agsaSSPTgtIOStartCmd_s agsaSSPTgtIOStartCmd_t
the data structure of SSP TGT IO Start Command
struct agsaSATAAbortRsp_s agsaSATAAbortRsp_t
the data structure of SATA_ABORT Response
struct agsaDeregDevHandleRsp_s agsaDeregDevHandleRsp_t
the data structure of Deregister Device Response
struct agsaDifEncOffloadCmd_s agsaDifEncOffloadCmd_t
the data structure of DifEncOffload Command
struct agsaLocalPhyCntrlRsp_s agsaLocalPhyCntrlRsp_t
the data structure of Local Phy Control Response
struct agsaSetPhyProfileRspV_s agsaSetPhyProfileRspV_t
the data structure of Set Phy Profile Response IOMB V
struct agsaSetNVMDataCmd_s agsaSetNVMDataCmd_t
struct agsaSetDeviceInfoRsp_s agsaSetDeviceInfoRsp_t
the data structure of Set Device Info Response
struct agsaSASHwEventAckRsp_s agsaSASHwEventAckRsp_t
the data structure of SAS HW Event Ack Response
struct agsaSetNVMDataRsp_s agsaSetNVMDataRsp_t
the data structure of Set NVMD Data Response
struct agsaSSPEventRsp_s agsaSSPEventRsp_t
the data structure of SSP Event Response
struct agsaGetPhyProfileRspV_s agsaGetPhyProfileRspV_t
the data structure of Get Phy Profile Response IOMB V
struct agsaSetOperatorRsp_s agsaSetOperatorRsp_t
struct agsaSASDiagStartEndRsp_s agsaSASDiagStartEndRsp_t
the data structure of SAS Diagnostic Start/End Response
struct agsaGetDevInfoRspV_s agsaGetDevInfoRspV_t
the data structure of Get Device Info Response V
struct agsaFwFlashUpdate_s agsaFwFlashUpdate_t
the data structure of Firmware download
struct agsaHWEvent_V_OUB_s agsaHWEvent_V_OUB_t
the data structure of HW Event from Outbound
struct agsaDeviceHandleArrivedNotify_s agsaDeviceHandleArrivedNotify_t
the data structure of Device Handle Arrived Notification
struct agsaSSPTgtRspStartCmd_s agsaSSPTgtRspStartCmd_t
the data structure of SSP TGT Response Start Command
struct agsaSMPAbortCmd_s agsaSMPAbortCmd_t
the data structure of SMP Abort Command
struct agsaSetControllerConfigCmd_s agsaSetControllerConfigCmd_t
struct agsaSASDiagExecuteCmd_s agsaSASDiagExecuteCmd_t
the data structure of SAS Diagnostic Execute Command
struct agsaSetDevInfoCmd_s agsaSetDevInfoCmd_t
the data structure of Set Device Info Command
struct agsaSASDiagExecuteRsp_s agsaSASDiagExecuteRsp_t
the data structure of SAS Diagnostic Execute Response
struct agsaSASHwEventAckCmd_s agsaSASHwEventAckCmd_t
the data structure of SAS HW Event Ack Command
struct agsaFwFlashUpdateRsp_s agsaFwFlashUpdateRsp_t
the data structure of FW_FLASH_UPDATE Response
struct agsaSasReInitializeCmd_s agsaSasReInitializeCmd_t
the data structure of SAS Re_Initialize Command
struct agsaGetPhyInfoV_s agsaGetPhyInfoV_t
struct agsaGenernalEventRsp_s agsaGenernalEventRsp_t
the data structure of GENERAL_EVENT Response
struct agsaSATAEventRsp_s agsaSATAEventRsp_t
the data structure of SATA Event Response
struct agsaGetTimeStampRsp_s agsaGetTimeStampRsp_t
the data structure of Get Time Stamp Response
struct agsaPCIeDiagExecuteCmd_s agsaPCIeDiagExecuteCmd_t
the data structure of PCIE Diagnostic Command
struct agsaSASDiagStartEndCmd_s agsaSASDiagStartEndCmd_t
the data structure of SAS Diagnostic Start/End Command
struct agsaSSPCoalescedCompletionRsp_s agsaSSPCoalescedCompletionRsp_t
the data structure of SSP Completion Response
struct agsaEncryptBist_s agsaEncryptBist_t
struct agsaGetDevHandleRsp_s agsaGetDevHandleRsp_t
the data structure of Get Device Handle Response
struct agsaSSPCompletionRsp_s agsaSSPCompletionRsp_t
the data structure of SSP Completion Response
struct agsaGetDevInfoRspSpc_s agsaGetDevInfoRsp_t
the data structure of Get Device Info Response
struct agsa_SPC_PCIDiagExecuteCmd_s agsa_SPC_PCIDiagExecuteCmd_t
the data structure of PCI Diagnostic Command for SPC
struct agsaSSPIniExtIOStartCmd_s agsaSSPIniExtIOStartCmd_t
the data structure of SSP INI Extended IO Start Command
struct agsaGetDDEFDataCmd_s agsaGetDDEFDataCmd_t
the data structure of GET DFE Data Command
struct agsaGPIOCmd_s agsaGPIOCmd_t
the data structure of GPIO Commannd
struct agsaSSPReqReceivedNotify_s agsaSSPReqReceivedNotify_t
the data structure of SSP Request Received Notification
struct agsaSATAAbortCmd_s agsaSATAAbortCmd_t
the data structure of SATA Abort Command
struct agsaCoalStpComplCxt_s agsaCoalStpComplCxt_t
the data structure of SATA Completion Response
struct agsaKekManagementCmd_s agsaKekManagementCmd_t
struct agsaGetDeviceStateRsp_s agsaGetDeviceStateRsp_t
the data structure of Get Device State Response
struct agsaSSPAbortRsp_s agsaSSPAbortRsp_t
the data structure of SSP_ABORT Response
struct agsaPortControlRsp_s agsaPortControlRsp_t
the data structure of Port Control Response
struct agsaEchoRsp_s agsaEchoRsp_t
the data structure of Echo Response
struct agsaDeviceHandleRemoval_s agsaDeviceHandleRemoval_t
the data structure of Device Handle Removal
struct agsaGPIOEvent_s agsaGPIOEvent_t
the data structure of GPIO Event
struct agsaDekManagementCmd_s agsaDekManagementCmd_t
struct agsaFwFlashOpExtRsp_s agsaFwFlashOpExtRsp_t
the data structure EXT Flash Op
struct agsaGetDeviceStateCmd_s agsaGetDeviceStateCmd_t
the data structure of Get Device State Command
struct agsaPhyStopCmd_s agsaPhyStopCmd_t
the data structure of PHY Stop Command
struct agsaFwFlashOpExt_s agsaFwFlashOpExt_t
the data structure EXT Flash Op
struct agsaCoalSspComplCxt_s agsaCoalSspComplCxt_t
struct agsaKekManagementRsp_s agsaKekManagementRsp_t
struct agsaGetControllerConfigRsp_s agsaGetControllerConfigRsp_t
struct agsaSATACompletionRsp_s agsaSATACompletionRsp_t
the data structure of SATA Completion Response
struct agsaSetPhyProfileCmd_V_s agsaSetPhyProfileCmd_V_t
the data structure of Set Phy Profile Command IOMB V
struct agsaGeneralEventRsp_s agsaGeneralEventRsp_t
the data structure of General Event Notification Response
struct agsaDevHandleAcceptCmd_s agsaDevHandleAcceptCmd_t
the data structure of Device Handle Accept Command
struct agsaSMPCmd_V_s agsaSMPCmd_V_t
struct agsaSSPIniIOStartCmd_s agsaSSPIniIOStartCmd_t
the data structure of SSP INI IO Start Command
struct agsaOperatorMangmentCmd_s agsaOperatorMangmentCmd_t
the data structure of Operator Mangement Command
struct agsaGetOperatorCmd_s agsaGetOperatorCmd_t
the data structure of Get Operator Command
struct agsaSSPIniEncryptIOStartCmd_s agsaSSPIniEncryptIOStartCmd_t
struct agsaEncryptBistRsp_s agsaEncryptBistRsp_t
struct agsaGetDDEFDataRsp_s agsaGetDDEFDataRsp_t
the data structure of GET DFE Data Response
union agsaSetNVMData_s agsaSetNVMData_t
struct agsaEchoCmd_s agsaEchoCmd_t
the data structure of Echo Command
struct agsa_SPC_SASDiagExecuteCmd_s agsa_SPC_SASDiagExecuteCmd_t
the data structure of SAS Diagnostic Execute Command
struct agsaSMPAbortRsp_s agsaSMPAbortRsp_t
the data structure of SMP Abort Response
struct agsa_SPC_PCIeDiagExecuteRsp_s agsa_SPC_PCIeDiagExecuteRsp_t
the data structure of PCI diag response
struct agsaDeviceRegistrationRsp_s agsaDeviceRegistrationRsp_t
the data structure of DEVICE_REGISTRATION Response
struct agsaSMPCmd_s agsaSMPCmd_t
the data structure of SMP Request Command
struct agsaSATAEncryptStartCmd_s agsaSATAEncryptStartCmd_t
struct agsaOperatorMangmentRsp_s agsaOperatorMangmenRsp_t
struct agsaGetOperatorRsp_s agsaGetOperatorRsp_t
struct agNVMIndirect_s agNVMIndirect_t
the data structure of Set NVM Data Command
struct agsaHWEvent_SPC_OUB_s agsaHWEvent_SPC_OUB_t
the data structure of HW Event from Outbound
struct agsaGetVHistCap_V_s agsaGetVHistCap_V_t
the data structure of GetVis Command IOMB V OPC_OUB_GET_VIST_CAP_RSP
struct agsaGetTimeStampCmd_s agsaGetTimeStampCmd_t
the data structure of Get Time Stamp Command
struct agsaSATAStartCmd_s agsaSATAStartCmd_t
the data structure of SATA Start Command
struct agsaSGpioCmd_s agsaSGpioCmd_t
the data structure of SGPIO Command
struct agsaDeregDevHandleCmd_s agsaDeregDevHandleCmd_t
the data structure of Deregister Device Handle Command
struct agsaSasReInitializeRsp_s agsaSasReInitializeRsp_t
the data structure of SAS Re_Initialize Response
struct agsaGetNVMDataCmd_s agsaGetNVMDataCmd_t
the data structure of Get NVM Data Command
struct agsaGetPhyProfileCmd_V_s agsaGetPhyProfileCmd_V_t
the data structure of Get Phy Profile Command IOMB V
struct agsaGetControllerConfigCmd_s agsaGetControllerConfigCmd_t
struct agsaSetControllerConfigRsp_s agsaSetControllerConfigRsp_t
struct agsaPhyStartCmd_s agsaPhyStartCmd_t
the data structure of PHY Start Command
struct agsaHWResetCmd_s agsaHWResetCmd_t
the data structure of HW Reset Command
struct agsaDekManagementRsp_s agsaDekManagementRsp_t
struct agsaPortControlCmd_s agsaPortControlCmd_t
the data structure of Port Control Command
struct agsaSMPCompletionRsp_s agsaSMPCompletionRsp_t
the data structure of SMP Completion Response
struct agsaSSPIniTMStartCmd_s agsaSSPIniTMStartCmd_t
the data structure of SSP INI TM Start Command
struct agsaLocalPhyCntrlCmd_s agsaLocalPhyCntrlCmd_t
the data structure of Local PHY Control Command
struct agsaSetOperatorCmd_s agsaSetOperatorCmd_t
the data structure of Set Operator Command
struct agsaDifEncOffloadRspV_s agsaDifEncOffloadRspV_t
struct agsaSetDeviceStateCmd_s agsaSetDeviceStateCmd_t
the data structure of Set Device State Command
struct agsaPCIeDiagExecuteRsp_s agsaPCIeDiagExecuteRsp_t
the data structure of PCIe diag response
struct agsaSSPAbortCmd_s agsaSSPAbortCmd_t
the data structure of SSP Abort Command
struct agsaGetVHistCapRsp_s agsaGetVHistCapRsp_t
the data structure of GET Vis Data Response
struct agsaHWEvent_Phy_OUB_s agsaHWEvent_Phy_OUB_t
struct agsaSSPCompletionDifRsp_s agsaSSPCompletionDifRsp_t
the data structure of SSP Completion DIF Response
struct agsaSGpioRsp_s agsaSGpioRsp_t
the data structure of SGPIO Response
struct agsaGetDevHandleCmd_s agsaGetDevHandleCmd_t
the data structure of Get Device Handle Command
struct agsaSetDeviceStateRsp_s agsaSetDeviceStateRsp_t
the data structure of Set Device State Response
struct agsaGPIORsp_s agsaGPIORsp_t
the data structure of GPIO Response
the data structure of Set NVM Data Command
Definition: sampidefs.h:747
bit32 reserved[7]
Definition: sampidefs.h:749
the data structure of SATA Completion Response
Definition: sampidefs.h:1799
the data structure of Deregister Device Handle Command
Definition: sampidefs.h:351
the data structure of Deregister Device Response
Definition: sampidefs.h:1067
the data structure of Device Handle Accept Command
Definition: sampidefs.h:698
the data structure of Device Handle Arrived Notification
Definition: sampidefs.h:1459
the data structure of Device Handle Removal
Definition: sampidefs.h:1568
the data structure of DEVICE_REGISTRATION Response
Definition: sampidefs.h:1108
the data structure of DifEncOffload Command
Definition: sampidefs.h:1918
the data structure of Echo Command
Definition: sampidefs.h:192
bit32 payload[14]
Definition: sampidefs.h:194
the data structure of Echo Response
Definition: sampidefs.h:954
bit32 payload[14]
Definition: sampidefs.h:956
bit32 testResults[11]
Definition: sampidefs.h:1910
bit32 testDiscption[28]
Definition: sampidefs.h:1897
the data structure EXT Flash Op
Definition: sampidefs.h:559
the data structure EXT Flash Op
Definition: sampidefs.h:542
bit32 Reserved[15]
Definition: sampidefs.h:552
bit32 Reserved0[7]
Definition: sampidefs.h:547
the data structure of FW_FLASH_UPDATE Response
Definition: sampidefs.h:1312
the data structure of Firmware download
Definition: sampidefs.h:525
bit32 reserved0[7]
Definition: sampidefs.h:530
the data structure of GPIO Commannd
Definition: sampidefs.h:589
bit32 GPIEVRise
Definition: sampidefs.h:598
bit32 GpioWrVal
Definition: sampidefs.h:593
bit32 OT19_12
Definition: sampidefs.h:596
bit32 GpioIe
Definition: sampidefs.h:594
bit32 reserved[5]
Definition: sampidefs.h:600
bit32 GPIEVChange
Definition: sampidefs.h:597
bit32 eOBIDGeGsGrGw
Definition: sampidefs.h:591
bit32 GpioWrMsk
Definition: sampidefs.h:592
bit32 OT11_0
Definition: sampidefs.h:595
bit32 GPIEVFall
Definition: sampidefs.h:599
the data structure of GPIO Event
Definition: sampidefs.h:1347
bit32 reserved[14]
Definition: sampidefs.h:1349
the data structure of GPIO Response
Definition: sampidefs.h:1330
bit32 reserved[2]
Definition: sampidefs.h:1332
bit32 GPIEVChange
Definition: sampidefs.h:1337
bit32 GPIEVFall
Definition: sampidefs.h:1339
bit32 GpioRdVal
Definition: sampidefs.h:1333
bit32 GPIEVRise
Definition: sampidefs.h:1338
bit32 reserved1[5]
Definition: sampidefs.h:1340
the data structure of General Event Notification Response
Definition: sampidefs.h:1415
bit32 inbIOMBpayload[14]
Definition: sampidefs.h:1417
the data structure of GENERAL_EVENT Response
Definition: sampidefs.h:1357
the data structure of GET DFE Data Command
Definition: sampidefs.h:933
bit32 reserved2[21]
Definition: sampidefs.h:942
the data structure of GET DFE Data Response
Definition: sampidefs.h:1686
the data structure of Get Device Handle Command
Definition: sampidefs.h:363
the data structure of Get Device Handle Response
Definition: sampidefs.h:1079
the data structure of Get Device Info Command
Definition: sampidefs.h:505
bit32 reserved[13]
Definition: sampidefs.h:508
the data structure of Get Device Info Response
Definition: sampidefs.h:1198
bit32 FirstBurstSizeITNexusTimeOut
Definition: sampidefs.h:1203
the data structure of Get Device Info Response V
Definition: sampidefs.h:1221
bit32 ARSrateSMPTimeOutPortID
Definition: sampidefs.h:1225
the data structure of Get Device State Command
Definition: sampidefs.h:825
the data structure of Get Device State Response
Definition: sampidefs.h:1595
the data structure of Get NVM Data Command
Definition: sampidefs.h:773
the data structure of Get NVMD Data Response
Definition: sampidefs.h:1544
the data structure of Get Operator Command
Definition: sampidefs.h:1868
bit32 reserved[28]
Definition: sampidefs.h:1298
bit32 Reserved_SOP_PHYID
Definition: sampidefs.h:1297
the data structure of Get Phy Profile Command IOMB V
Definition: sampidefs.h:1243
the data structure of Get Phy Profile Response IOMB V
Definition: sampidefs.h:1253
bit32 PageSpecificArea[12]
Definition: sampidefs.h:1257
the data structure of Get Time Stamp Command
Definition: sampidefs.h:724
the data structure of Get Time Stamp Response
Definition: sampidefs.h:1496
the data structure of GET Vis Data Response
Definition: sampidefs.h:1700
the data structure of GetVis Command IOMB V OPC_OUB_GET_VIST_CAP_RSP
Definition: sampidefs.h:1272
bit32 reserved2[22]
Definition: sampidefs.h:1282
the data structure of HW Event from Outbound
Definition: sampidefs.h:964
bit32 LRStatusEventPhyIdPortId
Definition: sampidefs.h:965
agsaSASIdentify_t sasIdentify
Definition: sampidefs.h:968
agsaFisRegDeviceToHost_t sataFis
Definition: sampidefs.h:969
the data structure of HW Event from Outbound
Definition: sampidefs.h:988
bit32 RsvPhyIdNpipRsvPortState
Definition: sampidefs.h:991
agsaFisRegDeviceToHost_t sataFis
Definition: sampidefs.h:993
agsaSASIdentify_t sasIdentify
Definition: sampidefs.h:992
the data structure of HW Reset Command
Definition: sampidefs.h:516
bit32 reserved[14]
Definition: sampidefs.h:518
bit32 NEWKIDX_CURKIDX_KBF_Reserved_SKNV_KSOP
Definition: sampidefs.h:1763
the data structure of Local PHY Control Command
Definition: sampidefs.h:494
the data structure of Local Phy Control Response
Definition: sampidefs.h:1093
the data structure of Operator Mangement Command
Definition: sampidefs.h:1815
agsaEncryptKekBlob_t Kblob
Definition: sampidefs.h:1820
the data structure of PCIE Diagnostic Command
Definition: sampidefs.h:891
the data structure of PCIe diag response
Definition: sampidefs.h:1650
the data structure of PHY Start Command
Definition: sampidefs.h:202
agsaSASIdentify_t sasIdentify
Definition: sampidefs.h:205
bit32 analogSetupIdx
Definition: sampidefs.h:206
bit32 SscdAseSHLmMlrPhyId
Definition: sampidefs.h:204
bit32 reserved[5]
Definition: sampidefs.h:208
the data structure of PHY Stop Command
Definition: sampidefs.h:226
bit32 reserved[13]
Definition: sampidefs.h:229
the data structure of Port Control Command
Definition: sampidefs.h:734
bit32 reserved[11]
Definition: sampidefs.h:739
the data structure of Port Control Response
Definition: sampidefs.h:1519
the data structure of Register Device Command
Definition: sampidefs.h:335
bit32 ITNexusTimeOut
Definition: sampidefs.h:339
bit32 phyIdportId
Definition: sampidefs.h:337
bit32 dTypeLRateAwtHa
Definition: sampidefs.h:338
bit32 reserved[8]
Definition: sampidefs.h:343
the data structure of SAS Diagnostic Execute Command
Definition: sampidefs.h:623
the data structure of SAS Diagnostic Execute Response
Definition: sampidefs.h:1402
the data structure of SAS Diagnostic Start/End Command
Definition: sampidefs.h:613
the data structure of SAS Diagnostic Start/End Response
Definition: sampidefs.h:1391
the data structure of SAS HW Event Ack Command
Definition: sampidefs.h:711
the data structure of SAS HW Event Ack Response
Definition: sampidefs.h:1508
describe SAS IDENTIFY address frame
Definition: sa_spec.h:448
the data structure of SATA Abort Command
Definition: sampidefs.h:481
bit32 reserved[11]
Definition: sampidefs.h:486
the data structure of SATA_ABORT Response
Definition: sampidefs.h:1379
bit32 reserved[12]
Definition: sampidefs.h:1383
agsaCoalStpComplCxt_t stpComplCxt[1]
Definition: sampidefs.h:1806
the data structure of SATA Completion Response
Definition: sampidefs.h:1146
agsaFisRegHostToDevice_t sataFis
Definition: sampidefs.h:451
the data structure of SATA Event Response
Definition: sampidefs.h:1159
bit32 reserved[11]
Definition: sampidefs.h:1164
the data structure of SATA Start Command
Definition: sampidefs.h:430
bit32 optNCQTagataProt
Definition: sampidefs.h:434
bit32 ATAPICDB[4]
Definition: sampidefs.h:442
agsaFisRegHostToDevice_t sataFis
Definition: sampidefs.h:435
the data structure of SGPIO Command
Definition: sampidefs.h:879
bit32 writeData[OSSA_SGPIO_MAX_WRITE_DATA_COUNT]
Definition: sampidefs.h:883
bit32 regCount
Definition: sampidefs.h:882
bit32 regIndexRegTypeFunctionFrameType
Definition: sampidefs.h:881
the data structure of SGPIO Response
Definition: sampidefs.h:1637
bit32 readData[OSSA_SGPIO_MAX_READ_DATA_COUNT]
Definition: sampidefs.h:1640
bit32 resultFunctionFrameType
Definition: sampidefs.h:1639
the data structure of SMP Abort Command
Definition: sampidefs.h:417
bit32 reserved[11]
Definition: sampidefs.h:422
the data structure of SMP Abort Response
Definition: sampidefs.h:1532
bit32 reserved[12]
Definition: sampidefs.h:1536
bit32 deviceId
Definition: sampidefs.h:391
bit32 ISRAL_or_SMPRF31_28
Definition: sampidefs.h:406
bit32 R_or_SMPRF27_24
Definition: sampidefs.h:405
bit32 IndirH_or_SMPRF19_16
Definition: sampidefs.h:403
bit32 ISRAH_or_SMPRF35_32
Definition: sampidefs.h:407
bit32 R_or_SMPRF43_40
Definition: sampidefs.h:409
bit32 IndirLen_or_SMPRF23_20
Definition: sampidefs.h:404
bit32 IndirL_SMPRF15_12
Definition: sampidefs.h:402
bit32 ISRL_or_SMPRF39_36
Definition: sampidefs.h:408
bit32 IR_IP_OV_res_phyId_DPdLen_res
Definition: sampidefs.h:392
the data structure of SMP Request Command
Definition: sampidefs.h:376
bit32 IR_IP_OV_res_phyId_DPdLen_res
Definition: sampidefs.h:379
bit32 SMPCmd[12]
Definition: sampidefs.h:385
bit32 deviceId
Definition: sampidefs.h:378
the data structure of SMP Completion Response
Definition: sampidefs.h:1055
the data structure of SSP Abort Command
Definition: sampidefs.h:322
bit32 reserved[11]
Definition: sampidefs.h:327
the data structure of SSP_ABORT Response
Definition: sampidefs.h:1367
bit32 reserved[12]
Definition: sampidefs.h:1371
data structure describes an SSP Command INFORMATION UNIT
Definition: sa_spec.h:793
the data structure of SSP Completion Response
Definition: sampidefs.h:1788
agsaCoalSspComplCxt_t sspComplCxt[1]
Definition: sampidefs.h:1790
the data structure of SSP Completion DIF Response
Definition: sampidefs.h:1023
the data structure of SSP Completion Response
Definition: sampidefs.h:1006
agsaSSPResponseInfoUnit_t SSPrsp
Definition: sampidefs.h:1011
the data structure of SSP Event Response
Definition: sampidefs.h:1172
bit32 UDT5_A_UDT4_A_UDT3_A_UDT2_A
Definition: sampidefs.h:1185
bit32 UDT5_E_UDT4_E_UDT3_E_UDT2_E
Definition: sampidefs.h:1183
bit32 EVT_PARAM1_or_LBAL
Definition: sampidefs.h:1179
bit32 HW_DEVID_Reserved_DIF_ERR
Definition: sampidefs.h:1186
bit32 UDT1_A_UDT0_A_CRC_A
Definition: sampidefs.h:1184
bit32 UDT1_E_UDT0_E_CRC_E
Definition: sampidefs.h:1182
bit32 EVT_PARAM0_or_LBAH
Definition: sampidefs.h:1178
bit32 EDATA_LEN_ERR_BOFF
Definition: sampidefs.h:1187
the data structure of SSP INI Extended IO Start Command
Definition: sampidefs.h:269
the data structure of SSP INI IO Start Command
Definition: sampidefs.h:237
agsaSSPCmdInfoUnit_t SSPInfoUnit
Definition: sampidefs.h:242
the data structure of SSP INI TM Start Command
Definition: sampidefs.h:254
the data structure of SSP Request Received Notification
Definition: sampidefs.h:1441
structure describes an SSP Response INFORMATION UNIT
Definition: sa_spec.h:818
the data structure of SSP TGT IO Start Command
Definition: sampidefs.h:658
the data structure of SSP TGT Response Start Command
Definition: sampidefs.h:681
the data structure of SAS Re_Initialize Command
Definition: sampidefs.h:864
the data structure of SAS Re_Initialize Response
Definition: sampidefs.h:1622
the data structure of Set Device Info Command
Definition: sampidefs.h:836
bit32 reserved[11]
Definition: sampidefs.h:841
the data structure of Set Device Info Response
Definition: sampidefs.h:1608
the data structure of Set Device State Command
Definition: sampidefs.h:808
the data structure of Set Device State Response
Definition: sampidefs.h:1579
agsaSetNVMData_t Data
Definition: sampidefs.h:765
the data structure of Set NVMD Data Response
Definition: sampidefs.h:1556
bit32 reserved[12]
Definition: sampidefs.h:1560
the data structure of Set Operator Command
Definition: sampidefs.h:1844
bit32 ERR_QLFR_OPRIDX_PIN_ACS
Definition: sampidefs.h:1859
the data structure of Set Phy Profile Command IOMB V
Definition: sampidefs.h:1263
the data structure of Set Phy Profile Response IOMB V
Definition: sampidefs.h:1288
bit32 PageSpecificArea[12]
Definition: sampidefs.h:1292
data structure used to pass information about the scatter-gather list to the LL Layer
Definition: sa.h:2755
the data structure of PCI Diagnostic Command for SPC
Definition: sampidefs.h:915
the data structure of PCI diag response
Definition: sampidefs.h:1674
the data structure of SAS Diagnostic Execute Command
Definition: sampidefs.h:640
agNVMIndirect_t indirectData
Definition: sampidefs.h:758
bit32 NVMData[12]
Definition: sampidefs.h:757