FreeBSD kernel pms device code
tdioctl.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/*****************************************************************************
25*
26* tdioctl.h
27*
28* Abstract: This module contains data structure definition used
29* by the Transport Dependent (TD) Layer IOCTL.
30*
31*
32* Notes:
33*
34*
35** MODIFICATION HISTORY ******************************************************
36*
37* NAME DATE DESCRIPTION
38* ---- ---- -----------
39* IWN 12/11/02 Initial creation.
40*
41*
42*****************************************************************************/
43
44
45#ifndef TD_IOCTL_H
46
47#define TD_IOCTL_H
48
49//#include "global.h"
50
51/*
52 * PMC-Sierra IOCTL signature
53 */
54#define PMC_SIERRA_SIGNATURE 0x1234
55#define PMC_SIERRA_IOCTL_SIGNATURE "PMC-STRG"
56
57/*
58 * Major function code of IOCTL functions, common to target and initiator.
59 */
60#define IOCTL_MJ_CARD_PARAMETER 0x01
61#define IOCTL_MJ_FW_CONTROL 0x02
62#define IOCTL_MJ_NVMD_GET 0x03
63#define IOCTL_MJ_NVMD_SET 0x04
64#define IOCTL_MJ_GET_EVENT_LOG1 0x05
65#define IOCTL_MJ_GET_EVENT_LOG2 0x06
66#define IOCTL_MJ_GET_CORE_DUMP 0x07
67#define IOCTL_MJ_LL_TRACING 0x08
68#define IOCTL_MJ_FW_PROFILE 0x09
69#define IOCTL_MJ_MNID 0x0A
70#define IOCTL_MJ_ENCRYPTION_CTL 0x0B
71
72#define IOCTL_MJ_FW_INFO 0x0C
73
74#define IOCTL_MJ_LL_API_TEST 0x11
75#define IOCTL_MJ_CHECK_DPMC_EVENT 0x16
76#define IOCTL_MJ_GET_FW_REV 0x1A
77#define IOCTL_MJ_GET_DEVICE_INFO 0x1B
78#define IOCTL_MJ_GET_IO_ERROR_STATISTIC 0x1C
79#define IOCTL_MJ_GET_IO_EVENT_STATISTIC 0x1D
80#define IOCTL_MJ_GET_FORENSIC_DATA 0x1E
81#define IOCTL_MJ_GET_DEVICE_LIST 0x1F
82#define IOCTL_MJ_SMP_REQUEST 0x6D
83#define IOCTL_MJ_GET_DEVICE_LUN 0x7A1
84#define IOCTL_MJ_PHY_GENERAL_STATUS 0x7A6
85#define IOCTL_MJ_PHY_DETAILS 0x7A7
86#define IOCTL_MJ_SEND_BIST 0x20
87#define IOCTL_MJ_CHECK_FATAL_ERROR 0x70
88#define IOCTL_MJ_FATAL_ERROR_DUMP_COMPLETE 0x71
89#define IOCTL_MJ_GPIO 0x41
90#define IOCTL_MJ_SGPIO 0x42
91#define IOCTL_MJ_SEND_TMF 0x6E
92#define IOCTL_MJ_FATAL_ERROR_SOFT_RESET_TRIG 0x72
93#define IOCTL_MJ_FATAL_ERR_CHK_RET_FALSE 0x76
94#define IOCTL_MJ_FATAL_ERR_CHK_SEND_FALSE 0x76
95#define IOCTL_MJ_FATAL_ERR_CHK_SEND_TRUE 0x77
96
97
98/*
99 * Major function code of IOCTL functions, specific to initiator.
100 */
101#define IOCTL_MJ_INI_ISCSI_DISCOVERY 0x21
102#define IOCTL_MJ_INI_SESSION_CONTROL 0x22
103#define IOCTL_MJ_INI_SNIA_IMA 0x23
104#define IOCTL_MJ_INI_SCSI 0x24
105#define IOCTL_MJ_INI_WMI 0x25
106#define IOCTL_MJ_INI_DRIVER_EVENT_LOG 0x26
107#define IOCTL_MJ_INI_PERSISTENT_BINDING 0x27
108#define IOCTL_MJ_INI_DRIVER_IDENTIFY 0x28
109
110/* temp */
111#define IOCTL_MJ_PORT_STOP 0x29
112#define IOCTL_MJ_PORT_START 0x30
113
114/* SPCv controller configuration page commands */
115#define IOCTL_MJ_MODE_CTL_PAGE 0x40
116
117#define IOCTL_MJ_SET_OR_GET_REGISTER 0x41
118
119#define IOCTL_MJ_GET_PHY_PROFILE 0x44
120#define IOCTL_MJ_SET_PHY_PROFILE 0x43
121
122#define IOCTL_MJ_GET_DRIVER_VERSION 0x101
123
124#define IOCTL_MN_PHY_PROFILE_COUNTERS 0x01
125#define IOCTL_MN_PHY_PROFILE_COUNTERS_CLR 0x02
126#define IOCTL_MN_PHY_PROFILE_BW_COUNTERS 0x03
127#define IOCTL_MN_PHY_PROFILE_ANALOG_SETTINGS 0x04
128
129/*
130 * Minor functions for Card parameter IOCTL functions.
131 */
132#define IOCTL_MN_CARD_GET_VPD_INFO 0x01
133#define IOCTL_MN_CARD_GET_PORTSTART_INFO 0x02
134#define IOCTL_MN_CARD_GET_INTERRUPT_CONFIG 0x03
135#define IOCTL_MN_CARD_GET_PHY_ANALOGSETTING 0x04
136#define IOCTL_MN_CARD_GET_TIMER_CONFIG 0x05
137#define IOCTL_MN_CARD_GET_TYPE_FATAL_DUMP 0x06
138
139/*
140 * Minor functions for FW control IOCTL functions.
141 */
142
143/* Send FW data requests.
144 */
145#define IOCTL_MN_FW_DOWNLOAD_DATA 0x01
146
147/* Send the request for burning the new firmware.
148 */
149#define IOCTL_MN_FW_DOWNLOAD_BURN 0x02
150
151/* Poll for the flash burn phases. Sequences of poll function calls are
152 * needed following the IOCTL_MN_FW_DOWNLOAD_BURN, IOCTL_MN_FW_BURN_OSPD
153 * and IOCTL_MN_FW_ROLL_BACK_FW functions.
154 */
155#define IOCTL_MN_FW_BURN_POLL 0x03
156
157/* Instruct the FW to roll back FW to prior revision.
158 */
159#define IOCTL_MN_FW_ROLL_BACK_FW 0x04
160
161/* Instruct the FW to return the current firmware revision number.
162 */
163#define IOCTL_MN_FW_VERSION 0x05
164
165/* Retrieve the maximum size of the OS Persistent Data stored on the card.
166 */
167#define IOCTL_MN_FW_GET_OSPD_SIZE 0x06
168
169/* Retrieve the OS Persistent Data from the card.
170 */
171#define IOCTL_MN_FW_GET_OSPD 0x07
172
173/* Send a new OS Persistent Data to the card and burn in flash.
174 */
175#define IOCTL_MN_FW_BURN_OSPD 0x08
176
177/* Retrieve the trace buffer from the card FW. Only available on the debug
178 * version of the FW.
179 */
180#define IOCTL_MN_FW_GET_TRACE_BUFFER 0x0f
181
182#define IOCTL_MN_NVMD_GET_CONFIG 0x0A
183#define IOCTL_MN_NVMD_SET_CONFIG 0x0B
184
185#define IOCTL_MN_FW_GET_CORE_DUMP_AAP1 0x0C
186#define IOCTL_MN_FW_GET_CORE_DUMP_IOP 0x0D
187#define IOCTL_MN_FW_GET_CORE_DUMP_FLASH_AAP1 0x12
188#define IOCTL_MN_FW_GET_CORE_DUMP_FLASH_IOP 0x13
189
190#define IOCTL_MN_LL_RESET_TRACE_INDEX 0x0e
191#define IOCTL_MN_LL_GET_TRACE_BUFFER_INFO 0x0f
192#define IOCTL_MN_LL_GET_TRACE_BUFFER 0x10
193
194#define IOCTL_MN_ENCRYPTION_GET_INFO 0x13
195#define IOCTL_MN_ENCRYPTION_SET_MODE 0x14
196#define IOCTL_MN_ENCRYPTION_KEK_ADD 0x15
197#define IOCTL_MN_ENCRYPTION_DEK_ADD 0x16
198#define IOCTL_MN_ENCRYPTION_DEK_INVALID 0x17
199#define IOCTL_MN_ENCRYPTION_KEK_NVRAM 0x18
200#define IOCTL_MN_ENCRYPTION_DEK_ASSIGN 0x19
201#define IOCTL_MN_ENCRYPTION_LUN_QUERY 0x1A
202#define IOCTL_MN_ENCRYPTION_KEK_LOAD_NVRAM 0x1B
203#define IOCTL_MN_ENCRYPTION_ERROR_QUERY 0x1C
204#define IOCTL_MN_ENCRYPTION_DEK_TABLE_INIT 0x1D
205#define IOCTL_MN_ENCRYPT_LUN_VERIFY 0x1E
206#define IOCTL_MN_ENCRYPT_OPERATOR_MGMT 0x1F
207#define IOCTL_MN_ENCRYPT_SET_DEK_CONFIG_PAGE 0x21
208#define IOCTL_MN_ENCRYPT_SET_CONTROL_PAGE 0x22
209#define IOCTL_MN_ENCRYPT_SET_OPERATOR_CMD 0x23
210#define IOCTL_MN_ENCRYPT_TEST_EXECUTE 0x24
211#define IOCTL_MN_ENCRYPT_SET_HMAC_CONFIG_PAGE 0x25
212#define IOCTL_MN_ENCRYPT_GET_OPERATOR_CMD 0x26
213#define IOCTL_MN_ENCRYPT_RESCAN 0x27
214#ifdef SOFT_RESET_TEST
215#define IOCTL_MN_SOFT_RESET 0x28
216#endif
217/* SPCv configuration pages */
218#define IOCTL_MN_MODE_SENSE 0x30
219#define IOCTL_MN_MODE_SELECT 0x31
220
221#define IOCTL_MN_TISA_TEST_ENCRYPT_DEK_DUMP 0x51
222
223#define IOCTL_MN_FW_GET_EVENT_FLASH_LOG1 0x5A
224#define IOCTL_MN_FW_GET_EVENT_FLASH_LOG2 0x6A
225#define IOCTL_MN_GET_EVENT_LOG1 0x5B
226#define IOCTL_MN_GET_EVENT_LOG2 0x6B
227
228#define IOCTL_MN_GPIO_PINSETUP 0x01
229#define IOCTL_MN_GPIO_EVENTSETUP 0x02
230#define IOCTL_MN_GPIO_READ 0x03
231#define IOCTL_MN_GPIO_WRITE 0x04
232
233#define IOCTL_MN_TMF_DEVICE_RESET 0x6F
234#define IOCTL_MN_TMF_LUN_RESET 0x70
235typedef struct tdFWControl
236{
237 bit32 retcode; /* ret code (status) = (bit32)oscmCtrlEvnt_e */
238 bit32 phase; /* ret code phase = (bit32)agcmCtrlFwPhase_e */
239 bit32 phaseCmplt; /* percent complete for the current update phase */
240 bit32 version; /* Hex encoded firmware version number */
241 bit32 offset; /* Used for downloading firmware */
242 bit32 len; /* len of buffer */
243 bit32 size; /* Used in OS VPD and Trace get size operations. */
244 bit32 reserved; /* padding required for 64 bit alignment */
245 bit8 buffer[1]; /* Start of buffer */
247
248
249typedef struct tdFWControlEx
250{
252 bit8 *buffer; // keep buffer pointer to be freed when the responce comes
253 bit8 *virtAddr; /* keep virtual address of the data */
254 bit8 *usrAddr; /* keep virtual address of the user data */
255 bit32 len; /* len of buffer */
256 void *payload; /* pointer to IOCTL Payload */
257 bit8 inProgress; /* if 1 - the IOCTL request is in progress */
258 void *param1;
259 void *param2;
260 void *param3;
262
263/************************************************************/
264//This flag and datastructure are specific for fw profiling, Now defined as
265// compiler flag
266//#define SPC_ENABLE_PROFILE
267
268#ifdef SPC_ENABLE_PROFILE
269typedef struct tdFWProfile
270{
272 bit32 tcid;
273 bit32 processor; /* processor name "iop/aap1" */
274 bit32 cmd; /* cmd to fw */
275 bit32 len; /* len of buffer */
276 bit32 codeStartAdd;
277 bit32 codeEndAdd;
278 bit32 reserved; /* padding required for 64 bit alignment */
279 bit8 buffer[1]; /* Start of buffer */
280} tdFWProfile_t;
281
282/************************************************/
284#define FW_PROFILE_PROCESSOR_ID_IOP 0x00
285#define FW_PROFILE_PROCESSOR_ID_AAP1 0x02
286/* definitions for sub operation */
287#define START_TIMER_PROFILE 0x01
288#define START_CODE_PROFILE 0x02
289#define STOP_TIMER_PROFILE 0x81
290#define STOP_CODE_PROFILE 0x82
291/************************************************/
292
293typedef struct tdFWProfileEx
294{
295 tdFWProfile_t *tdFWProfile;
296 bit8 *buffer; // keep buffer pointer to be freed when the responce comes
297 bit8 *virtAddr; /* keep virtual address of the data */
298 bit8 *usrAddr; /* keep virtual address of the user data */
299 bit32 len; /* len of buffer */
300 void *payload; /* pointer to IOCTL Payload */
301 bit8 inProgress; /* if 1 - the IOCTL request is in progress */
302 void *param1;
303 void *param2;
304 void *param3;
305} tdFWProfileEx_t;
306#endif
307/************************************************************/
308typedef struct tdVPDControl
309{
310 bit32 retcode; /* ret code (status) */
311 bit32 phase; /* ret code phase */
312 bit32 phaseCmplt; /* percent complete for the current update phase */
313 bit32 version; /* Hex encoded firmware version number */
314 bit32 offset; /* Used for downloading firmware */
315 bit32 len; /* len of buffer */
316 bit32 size; /* Used in OS VPD and Trace get size operations. */
317 bit8 deviceID; /* padding required for 64 bit alignment */
321 bit8 buffer[1]; /* Start of buffer */
323
325{
326 bit8 deviceType; // TD_SATA_DEVICE or TD_SAS_DEVICE
327 bit8 linkRate; // 0x08: 1.5 Gbit/s; 0x09: 3.0; 0x0A: 6.0 Gbit/s.
330 bit32 sasAddressHi; // SAS address high
331 bit32 sasAddressLo; // SAS address low
332 bit32 up_sasAddressHi; // upstream SAS address high
333 bit32 up_sasAddressLo; // upstream SAS address low
335 bit32 isEncryption; // is encryption enabled
336 bit32 isDIF; // is DIF enabled
337 unsigned long DeviceHandle;
343
344/* Payload of IOCTL dump device list at OS layer */
346{
350 bit32 Reserved; /* Had better aligned to 64-bit. */
351
352 /* output */
355
357{
358 bit32 realDeviceCount;// the real device out in the array, returned by driver
359 bit32 deviceLength; // the length of tdDeviceInfoIOCTL_t array
360 bit8 pDeviceInfo[1]; // point to tdDeviceInfoIOCTL_t array
362
363// Payload of IO error and event statistic IOCTL.
365{
456
458
459/*
46001: soft error
46102: not ready
46203: medium error
46304: hardware error
46405: illegal request
46506: unit attention
4660b: abort command
467*/
468typedef struct tdSenseKeyCount_s{
478
479/*
480Code Status Command completed Service response
48100h GOOD Yes COMMAND COMPLETE
48202h CHECK CONDITION Yes COMMAND COMPLETE
48304h CONDITION MET Yes COMMAND COMPLETE
48408h BUSY Yes COMMAND COMPLETE
48510h Obsolete
48614h Obsolete
48718h RESERVATION CONFLICT Yes COMMAND COMPLETE
48822h Obsolete
48928h TASK SET FULL Yes COMMAND COMPLETE
49030h ACA ACTIVE Yes COMMAND COMPLETE
49140h TASK ABORTED Yes COMMAND COMPLETE
492*/
493typedef struct tdSCSIStatusCount_s{
504
505/* Payload of Io Error Statistic IOCTL. */
507{
509 bit32 Reserved; /* Had better aligned to 64-bit. */
510
511 /* output */
516
517/* Payload of Io Error Statistic IOCTL. */
519{
521 bit32 Reserved; /* Had better aligned to 64-bit. */
522
523 /* output */
526
527/* Payload of Register IOCTL. */
529{
532 bit32 RegAddr; /* Register address */
533 bit32 RegValue; /* Register value */
534
536
537
538#define FORENSIC_DATA_TYPE_GSM_SPACE 1
539#define FORENSIC_DATA_TYPE_QUEUE 2
540#define FORENSIC_DATA_TYPE_FATAL 3
541#define FORENSIC_DATA_TYPE_NON_FATAL 4
542#define FORENSIC_DATA_TYPE_IB_QUEUE 5
543#define FORENSIC_DATA_TYPE_OB_QUEUE 6
544#define FORENSIC_DATA_TYPE_CHECK_FATAL 0x70
545
546#define FORENSIC_Q_TYPE_INBOUND 1
547#define FORENSIC_Q_TYPE_OUTBOUND 2
548
549/* get forensic data IOCTL payload */
551{
553 union
554 {
555 struct
556 {
562
563 struct
564 {
568 bit8 directData[1];
570
571 struct
572 {
576 bit8 directData[1];
578 };
580
581typedef struct tdBistPayload_s
582{
587
589{
600
602
604{
613
615
616#define FetchBufferSIZE 32
617#define LowFence32Bits 0xFCFD1234
618#define HighFence32Bits 0x5678ABDC
619
621{
628
630
631
633{
638
640
641
642
643typedef struct tdPhyCount_s{
654
655
656typedef struct _PHY_GENERAL_STATE
657{
660
663{
668
669typedef struct _PHY_DETAILS_
670{
678
684};
685#define PHY_SETTINGS_LEN 1024
686
687#endif /* TD_IOCTL_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
bit8 attached_sasAddressHi[4]
Definition: tdioctl.h:674
bit8 sasAddressHi[4]
Definition: tdioctl.h:672
bit8 attached_sasAddressLo[4]
Definition: tdioctl.h:673
bit8 attached_phy
Definition: tdioctl.h:675
bit8 attached_dev_type
Definition: tdioctl.h:676
bit8 sasAddressLo[4]
Definition: tdioctl.h:671
bit8 Data[FetchBufferSIZE]
Definition: tdioctl.h:625
GetPhyGenState_t PhyGenData[16]
Definition: tdioctl.h:664
bit32 testLength
Definition: tdioctl.h:584
bit32 testData[29]
Definition: tdioctl.h:585
bit32 testType
Definition: tdioctl.h:583
bit32 up_sasAddressHi
Definition: tdioctl.h:332
bit32 up_sasAddressLo
Definition: tdioctl.h:333
unsigned long DeviceHandle
Definition: tdioctl.h:337
tdDeviceInfoIOCTL_t devInfo
Definition: tdioctl.h:353
bit32 len
Definition: tdioctl.h:255
void * param1
Definition: tdioctl.h:258
bit8 * virtAddr
Definition: tdioctl.h:253
bit8 inProgress
Definition: tdioctl.h:257
void * param3
Definition: tdioctl.h:260
bit8 * usrAddr
Definition: tdioctl.h:254
void * payload
Definition: tdioctl.h:256
tdFWControl_t * tdFWControl
Definition: tdioctl.h:251
bit8 * buffer
Definition: tdioctl.h:252
void * param2
Definition: tdioctl.h:259
bit32 offset
Definition: tdioctl.h:241
bit32 size
Definition: tdioctl.h:243
bit8 buffer[1]
Definition: tdioctl.h:245
bit32 reserved
Definition: tdioctl.h:244
bit32 version
Definition: tdioctl.h:240
bit32 phase
Definition: tdioctl.h:238
bit32 retcode
Definition: tdioctl.h:237
bit32 len
Definition: tdioctl.h:242
bit32 phaseCmplt
Definition: tdioctl.h:239
struct tdForensicDataPayload_s::@10::@14 dataBuffer
struct tdForensicDataPayload_s::@10::@13 queueBuffer
struct tdForensicDataPayload_s::@10::@12 gsmBuffer
bit32 agOSSA_IO_XFR_ERROR_INTERNAL_CRC_ERROR
Definition: tdioctl.h:434
bit32 agOSSA_IO_XFR_ERROR_DEK_RAM_INTERFACE_ERROR
Definition: tdioctl.h:442
bit32 agOSSA_IO_XFER_SMP_RESP_CONNECTION_ERROR
Definition: tdioctl.h:403
bit32 agOSSA_MPI_ERR_OFFLOAD_DIF_OR_ENC_NOT_ENABLED
Definition: tdioctl.h:454
bit32 agOSSA_MPI_ERR_IO_RESOURCE_UNAVAILABLE
Definition: tdioctl.h:436
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_RETRY_BACKOFF_THRESHOLD_REACHED
Definition: tdioctl.h:426
bit32 agOSSA_IO_XFER_ERROR_CMD_ISSUE_BREAK_BEFORE_ACK_NAK
Definition: tdioctl.h:408
bit32 agOSSA_IO_XFER_ERROR_DIF_INTERNAL_ERROR
Definition: tdioctl.h:453
bit32 agOSSA_IO_XFER_ERROR_ACK_NAK_TIMEOUT
Definition: tdioctl.h:392
bit32 agOSSA_IO_OPEN_CNX_ERROR_UNKNOWN_ERROR
Definition: tdioctl.h:390
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_COLLIDE
Definition: tdioctl.h:429
bit32 agOSSA_IO_OPEN_CNX_ERROR_PROTOCOL_NOT_SUPPORTED
Definition: tdioctl.h:382
bit32 agOSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY
Definition: tdioctl.h:421
bit32 agOSSA_IO_OPEN_CNX_ERROR_BAD_DESTINATION
Definition: tdioctl.h:386
bit32 agOSSA_IO_OPEN_CNX_ERROR_ZONE_VIOLATION
Definition: tdioctl.h:383
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_OPEN_TMO
Definition: tdioctl.h:427
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_PATHWAY_BLOCKED
Definition: tdioctl.h:430
bit32 agOSSA_IO_XFR_ERROR_DEK_KEY_TAG_MISMATCH
Definition: tdioctl.h:439
bit32 agOSSA_IO_XFER_ERROR_XFER_RDY_OVERRUN
Definition: tdioctl.h:405
bit32 agOSSA_IO_XFR_ERROR_DIF_REFERENCE_TAG_MISMATCH
Definition: tdioctl.h:446
bit32 agOSSA_IO_XFER_ERROR_XFER_ZERO_DATA_LEN
Definition: tdioctl.h:411
bit32 agOSSA_IO_XFR_ERROR_DEK_ILLEGAL_TABLE
Definition: tdioctl.h:452
bit32 agOSSA_IO_XFR_ERROR_INVALID_SSP_RSP_FRAME
Definition: tdioctl.h:448
bit32 agOSSA_IO_XFER_ERROR_CMD_ISSUE_ACK_NAK_TIMEOUT
Definition: tdioctl.h:407
bit32 agOSSA_IO_OPEN_CNX_ERROR_OPEN_PREEMPTED
Definition: tdioctl.h:451
bit32 agOSSA_IO_XFR_ERROR_CIPHER_MODE_INVALID
Definition: tdioctl.h:440
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS_NO_DEST
Definition: tdioctl.h:428
bit32 agOSSA_IO_OPEN_CNX_ERROR_CONNECTION_RATE_NOT_SUPPORTED
Definition: tdioctl.h:387
bit32 agOSSA_IO_XFR_ERROR_DIF_CRC_MISMATCH
Definition: tdioctl.h:447
bit32 agOSSA_IO_ERROR_INTERNAL_SMP_RESOURCE
Definition: tdioctl.h:413
bit32 agOSSA_IO_XFER_ERROR_CMD_ISSUE_PHY_DOWN_BEFORE_ACK_NAK
Definition: tdioctl.h:409
bit32 agOSSA_IO_XFER_ERROR_OFFSET_MISMATCH
Definition: tdioctl.h:410
bit32 agOSSA_IO_XFR_ERROR_DIF_APPLICATION_TAG_MISMATCH
Definition: tdioctl.h:445
bit32 agOSSA_IO_OPEN_CNX_ERROR_WRONG_DESTINATION
Definition: tdioctl.h:389
bit32 agOSSA_IO_XFER_ERROR_SATA_LINK_TIMEOUT
Definition: tdioctl.h:397
bit32 agOSSA_IO_OPEN_CNX_ERROR_STP_RESOURCES_BUSY
Definition: tdioctl.h:388
bit32 agOSSA_IO_XFR_ERROR_DEK_INDEX_OUT_OF_BOUNDS
Definition: tdioctl.h:450
bit32 agOSSA_IO_XFER_ERROR_ABORTED_NCQ_MODE
Definition: tdioctl.h:401
bit32 agOSSA_IO_XFER_ERR_LAST_PIO_DATAIN_CRC_ERR
Definition: tdioctl.h:433
bit32 agOSSA_IO_OPEN_CNX_ERROR_IT_NEXUS_LOSS
Definition: tdioctl.h:385
bit32 agOSSA_IO_XFER_ERROR_REJECTED_NCQ_MODE
Definition: tdioctl.h:400
bit32 agOSSA_IO_XFR_ERROR_DEK_KEY_CACHE_MISS
Definition: tdioctl.h:438
bit32 agOSSA_IO_COMPLETED_ERROR_SCSI_STATUS
Definition: tdioctl.h:366
bit32 agOSSA_IO_XFER_ERROR_ABORTED_DUE_TO_SRST
Definition: tdioctl.h:399
bit32 agOSSA_IO_OPEN_CNX_ERROR_HW_RESOURCE_BUSY_ALT
Definition: tdioctl.h:425
bit32 agOSSA_IO_XFER_ERROR_XFER_RDY_NOT_EXPECTED
Definition: tdioctl.h:406
bit32 agOSSA_IO_XFER_ERROR_UNEXPECTED_PHASE
Definition: tdioctl.h:404
tdSenseKeyCount_t SenseKeyCounter
Definition: tdioctl.h:514
tdIoErrorEventStatisticIOCTL_t IoError
Definition: tdioctl.h:512
tdSCSIStatusCount_t ScsiStatusCounter
Definition: tdioctl.h:513
tdIoErrorEventStatisticIOCTL_t IoEvent
Definition: tdioctl.h:524
bit32 LossOfSyncDW
Definition: tdioctl.h:650
bit32 BW_rx
Definition: tdioctl.h:646
bit32 phyResetProblem
Definition: tdioctl.h:651
bit32 BW_tx
Definition: tdioctl.h:645
bit32 Phy
Definition: tdioctl.h:644
bit32 runningDisparityError
Definition: tdioctl.h:648
bit32 inboundCRCError
Definition: tdioctl.h:652
bit32 InvalidDword
Definition: tdioctl.h:647
bit32 codeViolation
Definition: tdioctl.h:649
bit32 CheckCondition
Definition: tdioctl.h:495
bit32 ObsoleteStatus
Definition: tdioctl.h:502
bit32 MediumError
Definition: tdioctl.h:471
bit32 HardwareError
Definition: tdioctl.h:472
bit32 UnitAttention
Definition: tdioctl.h:474
bit32 OtherKeyType
Definition: tdioctl.h:476
bit32 AbortCommand
Definition: tdioctl.h:475
bit32 IllegalRequest
Definition: tdioctl.h:473
bit32 MediumNotReady
Definition: tdioctl.h:470
bit32 retcode
Definition: tdioctl.h:310
bit32 len
Definition: tdioctl.h:315
bit32 signature
Definition: tdioctl.h:320
bit8 deviceID
Definition: tdioctl.h:317
bit16 reserved2
Definition: tdioctl.h:319
bit32 offset
Definition: tdioctl.h:314
bit32 size
Definition: tdioctl.h:316
bit8 reserved1
Definition: tdioctl.h:318
bit32 phase
Definition: tdioctl.h:311
bit32 version
Definition: tdioctl.h:313
bit32 phaseCmplt
Definition: tdioctl.h:312
bit8 buffer[1]
Definition: tdioctl.h:321
struct tdDeviceListPayload_s tdDeviceListPayload_t
struct _TSTMTID_TRACE_BUFFER_RESET TSTMTID_TRACE_BUFFER_RESET
struct tdSenseKeyCount_s tdSenseKeyCount_t
struct _TSTMTID_CARD_LOCATION_INFO TSTMTID_CARD_LOCATION_INFO
SAS_SATA_DEVICE_TYPE
Definition: tdioctl.h:679
@ SAS_PHY_SATA_DEVICE
Definition: tdioctl.h:683
@ SAS_PHY_EXPANDER_DEVICE
Definition: tdioctl.h:682
@ SAS_PHY_END_DEVICE
Definition: tdioctl.h:681
@ SAS_PHY_NO_DEVICE
Definition: tdioctl.h:680
struct tdBistPayload_s tdBistPayload_t
struct _PHY_DETAILS_ PhyDetails_t
struct agsaPhyGeneralState_s agsaPhyGeneralState_t
struct tdVPDControl tdVPDControl_t
struct tdForensicDataPayload_s tdForensicDataPayload_t
struct _TSTMTID_TRACE_BUFFER_FETCH TSTMTID_TRACE_BUFFER_FETCH
struct _TSTMTID_TRACE_BUFFER_INFO TSTMTID_TRACE_BUFFER_INFO
struct tdFWControlEx tdFWControlEx_t
struct tdPhyCount_s tdPhyCount_t
struct tdRegisterPayload_s tdRegisterPayload_t
struct tdDeviceInfoIOCTL_s tdDeviceInfoIOCTL_t
struct tdDeviceInfoPayload_s tdDeviceInfoPayload_t
struct _PHY_GENERAL_STATE GetPhyGenState_t
struct tdIoErrorStatisticPayload_s tdIoErrorStatisticPayload_t
struct tdIoEventStatisticPayload_s tdIoEventStatisticPayload_t
struct tdIoErrorEventStatisticIOCTL_s tdIoErrorEventStatisticIOCTL_t
struct tdSCSIStatusCount_s tdSCSIStatusCount_t
struct tdFWControl tdFWControl_t
#define FetchBufferSIZE
Definition: tdioctl.h:616