FreeBSD kernel pms device code
spcdefs.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/*******************************************************************************/
31/*******************************************************************************/
32#ifndef __SPCDEFS_H__
33#define __SPCDEFS_H__
34
35/*******************************************************************************/
36/*******************************************************************************/
37/* CONSTANTS */
38/*******************************************************************************/
39/*******************************************************************************/
40/*******************************************************************************/
41/* MSGU CONFIGURATION TABLE */
42/*******************************************************************************/
43#define SPC_MSGU_CFG_TABLE_UPDATE 0x001 /* Inbound doorbell bit0 */
44#define SPC_MSGU_CFG_TABLE_RESET 0x002 /* Inbound doorbell bit1 */
45#define SPC_MSGU_CFG_TABLE_FREEZE 0x004 /* Inbound doorbell bit2 */
46#define SPC_MSGU_CFG_TABLE_UNFREEZE 0x008 /* Inbound doorbell bit4 */
47#define SPCV_MSGU_CFG_TABLE_TRANSFER_DEBUG_INFO 0x080 /* Inbound doorbell bit7 SPCV */
48#define SPCV_MSGU_HALT_CPUS 0x100 /* Inbound doorbell bit8 SPCV */
49
50/***** Notes *****/
51/* The firmware side is using Little Endian (MIPs). */
52/* So anything sending or receiving from FW must be in Little Endian */
53/*******************************************************************************/
59/*******************************************************************************/
60/* This structire defines the fields in the header of every message */
61
62
64{
65 bit32 Header; /* Bits [11:0] - Message operation code */
66 /* Bits [15:12] - Message Category */
67 /* Bits [21:16] - Outboundqueue ID for the operation completion message */
68 /* Bits [23:22] - Reserved */
69 /* Bits [28:24] - Buffer Count, indicates how many buffer are allocated for the massage */
70 /* Bits [30:29] - Reserved */
71 /* Bits [31] - Message Valid bit */
72};
73
75
76#define V_BIT 0x1
77
78#define V_MASK 0x1
79#define BC_MASK 0x1F
80#define OBID_MASK 0x3F
81#define CAT_MASK 0x0F
82#define OPCODE_MASK 0xFFF
83#define HEADER_V_MASK 0x80000000
84#define HEADER_BC_MASK 0x1f000000
85
86#ifndef SPC_CONFIG
87/*******************************************************************************/
93/*******************************************************************************/
94/* new MPI configuration main table */
96{
102 /* bit0-15 Maximum SGL */
103 /* bit16-31 Maximum Devices */
105 /* bit0-7 Max number of inbound queue */
106 /* bit8-15 Max number of outbound queue */
107 /* bit16 high priority of inbound queue is supported */
108 /* bit17 reserved */
109 /* bit18 interrupt coalescing is supported, SPCV-reserved */
110 /* bit19-24 Maximum number of valid phys */
111 /* bit25-31 SAS Revision SPecification */
114 /* bit23-0 inbound queue table offset */
115 /* bit31-24 entry size, new in SPCV */
117 /* bit23-0 outbound queue table offset */
118 /* bit31-24 entry size, new in SPCV */
120 /* bit0-7 inbound normal priority process depth */
121 /* bit8-15 inbound high priority process depth */
122 /* bit16-23 OQ number to receive GENERAL_EVENT Notification */
123 /* bit24-31 OQ number to receive DEVICE_HANDLE_REMOVAL Notification */
125 /* bit0-7 outbound queue number of SAS_HW event for PhyId 0 */
126 /* bit8-15 outbound queue number of SAS_HW event for PhyId 1 */
127 /* bit16-23 outbound queue number of SAS_HW event for PhyId 2 */
128 /* bit24-31 outbound queue number of SAS_HW event for PhyId 3 */
130 /* bit0-7 outbound queue number of SAS_HW event for PhyId 4 */
131 /* bit8-15 outbound queue number of SAS_HW event for PhyId 5 */
132 /* bit16-23 outbound queue number of SAS_HW event for PhyId 6 */
133 /* bit24-31 outbound queue number of SAS_HW event for PhyId 7 */
135 /* bit0-7 outbound queue number of SATA_NCQ event for PhyId 0 */
136 /* bit8-15 outbound queue number of SATA_NCQ event for PhyId 1 */
137 /* bit16-23 outbound queue number of SATA_NCQ event for PhyId 2 */
138 /* bit24-31 outbound queue number of SATA_NCQ event for PortId 3 */
140 /* bit0-7 outbound queue number of SATA_NCQ event for PhyId 4 */
141 /* bit8-15 outbound queue number of SATA_NCQ event for PhyId 5 */
142 /* bit16-23 outbound queue number of SATA_NCQ event for PhyId 6 */
143 /* bit24-31 outbound queue number of SATA_NCQ event for PhyId 7 */
145 /* bit0-7 outbound queue number of ITNexus event for PhyId 0 */
146 /* bit8-15 outbound queue number of ITNexus event for PhyId 1 */
147 /* bit16-23 outbound queue number of ITNexus event for PhyId 2 */
148 /* bit24-31 outbound queue number of ITNexus event for PhyId 3 */
150 /* bit0-7 outbound queue number of ITNexus event for PhyId 4 */
151 /* bit8-15 outbound queue number of ITNexus event for PhyId 5 */
152 /* bit16-23 outbound queue number of ITNexus event for PhyId 6 */
153 /* bit24-31 outbound queue number of ITNexus event for PhyId 7 */
155 /* bit0-7 outbound queue number of SSP event for PhyId 0 */
156 /* bit8-15 outbound queue number of SSP event for PhyId 1 */
157 /* bit16-23 outbound queue number of SSP event for PhyId 2 */
158 /* bit24-31 outbound queue number of SSP event for PhyId 3 */
160 /* bit0-7 outbound queue number of SSP event for PhyId 4 */
161 /* bit8-15 outbound queue number of SSP event for PhyId 5 */
162 /* bit16-23 outbound queue number of SSP event for PhyId 6 */
163 /* bit24-31 outbound queue number of SSP event for PhyId 7 */
170 /* bit3-0 log severity, 0x0 Disable Logging */
171 /* 0x1 Critical Error */
172 /* 0x2 Minor Error */
173 /* 0x3 Warning */
174 /* 0x4 Information */
175 /* 0x5 Debugging */
176 /* 0x6 - 0xF Reserved */
181 /* bit3-0 log severity, 0x0 Critical Error */
182 /* 0x1 Minor Error */
183 /* 0x2 Warning */
184 /* 0x3 Information */
185 /* 0x4 Unknown */
186 /* 0x5 - 0xF Reserved */
188 /* bit0 Fatal Error Interrupt Enable */
189 /* bit1 PI/CI 64bit address */
190 /* bit2 SGPIO IOMB support */
191 /* bit6-2 Reserved */
192 /* bit7 OQ NP/HPriority Path enable */
193 /* bit15-8 Fatal Error Interrupt Vector */
194 /* bit16 Enable IQ/OQ 64 */
195 /* bit17 Interrupt Reassertion Enable */
196 /* bit18 Interrupt Reassertion Delay in ms */
197 /* bit31-19 Interrupt Reassertion delay, 0-default 1ms */
204 /* bit23-0 phy calib table offset */
205 /* bit31-24 entry size */
207 /* bit23-0 interrupt vector table offset */
208 /* bit31-24 entry size */
210 /* bit23-0 phy attribute table offset */
211 /* bit31-24 entry size */
212 bit32 portRecoveryResetTimer; /* Offset 0x25 [31:16] Port recovery timer default that is 0
213 used for all SAS ports. Granularity of this timer is 100ms. The host can
214 change the individual port recovery timer by using the PORT_CONTROL
215 [15:0] Port reset timer default that is used 3 (i.e 300ms) for all
216 SAS ports. Granularity of this timer is 100ms. Host can change the
217 individual port recovery timer by using PORT_CONTROL Command */
218 bit32 interruptReassertionDelay; /* Offset 0x26 [23:0] Remind host of outbound completion 0 disabled 100usec per increment */
219
220 bit32 ilaRevision; /* Offset 0x27 */
221};
222
223/* main configuration offset - byte offset */
224#define MAIN_SIGNATURE_OFFSET 0x00 /* DWORD 0x00 (R) */
225#define MAIN_INTERFACE_REVISION 0x04 /* DWORD 0x01 (R) */
226#define MAIN_FW_REVISION 0x08 /* DWORD 0x02 (R) */
227#define MAIN_MAX_OUTSTANDING_IO_OFFSET 0x0C /* DWORD 0x03 (R) */
228#define MAIN_MAX_SGL_OFFSET 0x10 /* DWORD 0x04 (R) */
229#define MAIN_CNTRL_CAP_OFFSET 0x14 /* DWORD 0x05 (R) */
230#define MAIN_GST_OFFSET 0x18 /* DWORD 0x06 (R) */
231#define MAIN_IBQ_OFFSET 0x1C /* DWORD 0x07 (R) */
232#define MAIN_OBQ_OFFSET 0x20 /* DWORD 0x08 (R) */
233#define MAIN_IQNPPD_HPPD_OFFSET 0x24 /* DWORD 0x09 (W) */
234#define MAIN_OB_HW_EVENT_PID03_OFFSET 0x28 /* DWORD 0x0A (W) */ /* reserved for SPCV */
235#define MAIN_OB_HW_EVENT_PID47_OFFSET 0x2C /* DWORD 0x0B (W) */ /* reserved for SPCV */
236#define MAIN_OB_NCQ_EVENT_PID03_OFFSET 0x30 /* DWORD 0x0C (W) */ /* reserved for SPCV */
237#define MAIN_OB_NCQ_EVENT_PID47_OFFSET 0x34 /* DWORD 0x0D (W) */ /* reserved for SPCV */
238#define MAIN_TITNX_EVENT_PID03_OFFSET 0x38 /* DWORD 0x0E (W) */ /* reserved for SPCV */
239#define MAIN_TITNX_EVENT_PID47_OFFSET 0x3C /* DWORD 0x0F (W) */ /* reserved for SPCV */
240#define MAIN_OB_SSP_EVENT_PID03_OFFSET 0x40 /* DWORD 0x10 (W) */ /* reserved for SPCV */
241#define MAIN_OB_SSP_EVENT_PID47_OFFSET 0x44 /* DWORD 0x11 (W) */ /* reserved for SPCV */
242#define MAIN_IO_ABORT_DELAY 0x48 /* DWORD 0x12 (W) */ /* reserved for SPCV */
243#define MAIN_CUSTOMER_SETTING 0x4C /* DWORD 0x13 (W) */ /* reserved for SPCV */
244#define MAIN_EVENT_LOG_ADDR_HI 0x50 /* DWORD 0x14 (W) */
245#define MAIN_EVENT_LOG_ADDR_LO 0x54 /* DWORD 0x15 (W) */
246#define MAIN_EVENT_LOG_BUFF_SIZE 0x58 /* DWORD 0x16 (W) */
247#define MAIN_EVENT_LOG_OPTION 0x5C /* DWORD 0x17 (W) */
248#define MAIN_IOP_EVENT_LOG_ADDR_HI 0x60 /* DWORD 0x18 (W) */
249#define MAIN_IOP_EVENT_LOG_ADDR_LO 0x64 /* DWORD 0x19 (W) */
250#define MAIN_IOP_EVENT_LOG_BUFF_SIZE 0x68 /* DWORD 0x1A (W) */
251#define MAIN_IOP_EVENT_LOG_OPTION 0x6C /* DWORD 0x1B (W) */
252#define MAIN_FATAL_ERROR_INTERRUPT 0x70 /* DWORD 0x1C (W) */
253#define MAIN_FATAL_ERROR_RDUMP0_OFFSET 0x74 /* DWORD 0x1D (R) */
254#define MAIN_FATAL_ERROR_RDUMP0_LENGTH 0x78 /* DWORD 0x1E (R) */
255#define MAIN_FATAL_ERROR_RDUMP1_OFFSET 0x7C /* DWORD 0x1F (R) */
256#define MAIN_FATAL_ERROR_RDUMP1_LENGTH 0x80 /* DWORD 0x20 (R) */
257#define MAIN_HDA_FLAGS_OFFSET 0x84 /* DWORD 0x21 (R) */ /* reserved for SPCV */
258#define MAIN_ANALOG_SETUP_OFFSET 0x88 /* DWORD 0x22 (R) */
259#define MAIN_INT_VEC_TABLE_OFFSET 0x8C /* DWORD 0x23 (W) */ /* for SPCV */
260#define MAIN_PHY_ATTRIBUTE_OFFSET 0x90 /* DWORD 0x24 (W) */ /* for SPCV */
261#define MAIN_PRECTD_PRESETD 0x94 /* DWORD 0x25 (W) */ /* for SPCV */
262#define MAIN_IRAD_RESERVED 0x98 /* DWORD 0x26 (W) */ /* for SPCV */
263#define MAIN_MOQFOT_MOQFOES 0x9C /* DWORD 0x27 (W) */ /* for SPCV */
264#define MAIN_MERRDCTO_MERRDCES 0xA0 /* DWORD 0x28 (W) */ /* for SPCV */
265#define MAIN_ILAT_ILAV_ILASMRN_ILAMRN_ILAMJN 0xA4 /* DWORD 0x29 (W) */ /* for SPCV */
266#define MAIN_INACTIVE_ILA_REVSION 0xA8 /* DWORD 0x2A (W) */ /* for SPCV V 3.02 */
267#define MAIN_SEEPROM_REVSION 0xAC /* DWORD 0x2B (W) */ /* for SPCV V 3.02 */
268#define MAIN_UNKNOWN1 0xB0 /* DWORD 0x2C (W) */ /* for SPCV V 3.03 */
269#define MAIN_UNKNOWN2 0xB4 /* DWORD 0x2D (W) */ /* for SPCV V 3.03 */
270#define MAIN_UNKNOWN3 0xB8 /* DWORD 0x2E (W) */ /* for SPCV V 3.03 */
271#define MAIN_XCBI_REF_TAG_PAT 0xBC /* DWORD 0x2F (W) */ /* for SPCV V 3.03 */
272#define MAIN_AWT_MIDRANGE 0xC0 /* DWORD 0x30 (W) */ /* for SPCV V 3.03 */
273
274
276#define SPC_CONFIG
277#endif
278
279/* bit to disable end to end crc checking ins SPCv */
280#define MAIN_IO_ABORT_DELAY_END_TO_END_CRC_DISABLE 0x00010000
281
282/* bit mask for field Controller Capability in main part */
283#define MAIN_MAX_IB_MASK 0x000000ff /* bit7-0 */
284#define MAIN_MAX_OB_MASK 0x0000ff00 /* bit15-8 */
285#define MAIN_PHY_COUNT_MASK 0x01f80000 /* bit24-19 */
286#define MAIN_QSUPPORT_BITS 0x0007ffff
287#define MAIN_SAS_SUPPORT_BITS 0xfe000000
288
289/* bit mask for field max sgl in main part */
290#define MAIN_MAX_SGL_BITS 0xFFFF
291#define MAIN_MAX_DEV_BITS 0xFFFF0000
292
293/* bit mask for HDA flags field */
294#define MAIN_HDA_FLAG_BITS 0x000000FF
295
296#define FATAL_ERROR_INT_BITS 0xFF
297#define INT_REASRT_ENABLE 0x00020000
298#define INT_REASRT_MS_ENABLE 0x00040000
299#define INT_REASRT_DELAY_BITS 0xFFF80000
300
301#define MAX_VALID_PHYS 8
302#define IB_QUEUE_CFGSIZE 64
303#define OB_QUEUE_CFGSIZE 64
304
305/* inbound queue configuration offset - byte offset */
306#define IB_PROPERITY_OFFSET 0x00
307#define IB_BASE_ADDR_HI_OFFSET 0x04
308#define IB_BASE_ADDR_LO_OFFSET 0x08
309#define IB_CI_BASE_ADDR_HI_OFFSET 0x0C
310#define IB_CI_BASE_ADDR_LO_OFFSET 0x10
311#define IB_PIPCI_BAR 0x14
312#define IB_PIPCI_BAR_OFFSET 0x18
313#define IB_RESERVED_OFFSET 0x1C
314
315/* outbound queue configuration offset - byte offset */
316#define OB_PROPERITY_OFFSET 0x00
317#define OB_BASE_ADDR_HI_OFFSET 0x04
318#define OB_BASE_ADDR_LO_OFFSET 0x08
319#define OB_PI_BASE_ADDR_HI_OFFSET 0x0C
320#define OB_PI_BASE_ADDR_LO_OFFSET 0x10
321#define OB_CIPCI_BAR 0x14
322#define OB_CIPCI_BAR_OFFSET 0x18
323#define OB_INTERRUPT_COALES_OFFSET 0x1C
324#define OB_DYNAMIC_COALES_OFFSET 0x20
325
326#define OB_PROPERTY_INT_ENABLE 0x40000000
327
328/* General Status Table offset - byte offset */
329#define GST_GSTLEN_MPIS_OFFSET 0x00
330#define GST_IQ_FREEZE_STATE0_OFFSET 0x04
331#define GST_IQ_FREEZE_STATE1_OFFSET 0x08
332#define GST_MSGUTCNT_OFFSET 0x0C
333#define GST_IOPTCNT_OFFSET 0x10
334#define GST_IOP1TCNT_OFFSET 0x14
335#define GST_PHYSTATE_OFFSET 0x18 /* SPCV reserved */
336#define GST_PHYSTATE0_OFFSET 0x18 /* SPCV reserved */
337#define GST_PHYSTATE1_OFFSET 0x1C /* SPCV reserved */
338#define GST_PHYSTATE2_OFFSET 0x20 /* SPCV reserved */
339#define GST_PHYSTATE3_OFFSET 0x24 /* SPCV reserved */
340#define GST_PHYSTATE4_OFFSET 0x28 /* SPCV reserved */
341#define GST_PHYSTATE5_OFFSET 0x2C /* SPCV reserved */
342#define GST_PHYSTATE6_OFFSET 0x30 /* SPCV reserved */
343#define GST_PHYSTATE7_OFFSET 0x34 /* SPCV reserved */
344#define GST_GPIO_PINS_OFFSET 0x38
345#define GST_RERRINFO_OFFSET 0x44
346
347/* General Status Table - MPI state */
348#define GST_MPI_STATE_UNINIT 0x00
349#define GST_MPI_STATE_INIT 0x01
350#define GST_MPI_STATE_TERMINATION 0x02
351#define GST_MPI_STATE_ERROR 0x03
352#define GST_MPI_STATE_MASK 0x07
353
354#define GST_INF_STATE_BITS 0xfffe0007
355
356
357/* MPI fatal and non fatal offset mask */
358#define MPI_FATAL_ERROR_TABLE_OFFSET_MASK 0xFFFFFF
359#define MPI_FATAL_ERROR_TABLE_SIZE(value) ((0xFF000000 & value) >> SHIFT24) /* for SPCV */
360
361/* MPI fatal and non fatal Error dump capture table offset - byte offset */
362#define MPI_FATAL_EDUMP_TABLE_LO_OFFSET 0x00 /* HNFBUFL */
363#define MPI_FATAL_EDUMP_TABLE_HI_OFFSET 0x04 /* HNFBUFH */
364#define MPI_FATAL_EDUMP_TABLE_LENGTH 0x08 /* HNFBLEN */
365#define MPI_FATAL_EDUMP_TABLE_HANDSHAKE 0x0C /* FDDHSHK */
366#define MPI_FATAL_EDUMP_TABLE_STATUS 0x10 /* FDDTSTAT */
367#define MPI_FATAL_EDUMP_TABLE_ACCUM_LEN 0x14 /* ACCDDLEN */
368/* */
369#define MPI_FATAL_EDUMP_HANDSHAKE_RDY 0x1
370#define MPI_FATAL_EDUMP_HANDSHAKE_BUSY 0x0
371/* */
372#define MPI_FATAL_EDUMP_TABLE_STAT_RSVD 0x0
373#define MPI_FATAL_EDUMP_TABLE_STAT_DMA_FAILED 0x1
374#define MPI_FATAL_EDUMP_TABLE_STAT_NF_SUCCESS_MORE_DATA 0x2
375#define MPI_FATAL_EDUMP_TABLE_STAT_NF_SUCCESS_DONE 0x3
376
377#define IOCTL_ERROR_NO_FATAL_ERROR 0x77
378
379/*******************************************************************************/
385/*******************************************************************************/
387{
400 bit32 PhyState[MAX_VALID_PHYS]; /* SPCV = reserved */
409};
410
412
413/*******************************************************************************/
420/*******************************************************************************/
422{
423 bit32 spaReg0; /* transmitter per port configuration 1 SAS_SATA G1 */
424 bit32 spaReg1; /* transmitter per port configuration 2 SAS_SATA G1*/
425 bit32 spaReg2; /* transmitter per port configuration 3 SAS_SATA G1*/
426 bit32 spaReg3; /* transmitter configuration 1 */
427 bit32 spaReg4; /* reveiver per port configuration 1 SAS_SATA G1G2 */
428 bit32 spaReg5; /* reveiver per port configuration 2 SAS_SATA G3 */
429 bit32 spaReg6; /* reveiver per configuration 1 */
430 bit32 spaReg7; /* reveiver per configuration 2 */
431 bit32 reserved[2]; /* reserved */
432};
433
435
436/*******************************************************************************/
442/*******************************************************************************/
444{
457};
458
460
461/*******************************************************************************/
467/*******************************************************************************/
469{
493};
494
496
497typedef struct InterruptVT_s
498{
502
503typedef struct mpiInterruptVT_s
504{
507
508#define INT_VT_Coal_CNT_TO 0
509#define INT_VT_Coal_ReAssert_Enab 4
510
511typedef struct phyAttrb_s
512{
516
517typedef struct sasPhyAttribute_s
518{
521
522
523#define PHY_STATE 0
524#define PHY_EVENT_OQ 4
525
526/*******************************************************************************/
531/*******************************************************************************/
532typedef struct fwMSGUConfig_s
533{
542
543
544typedef void (*EnadDisabHandler_t)(
545 agsaRoot_t *agRoot,
546 bit32 interruptVectorIndex
547 );
548
550 agsaRoot_t *agRoot,
551 bit32 interruptVectorIndex
552 );
553#endif /* __SPC_DEFS__ */
unsigned int bit32
Definition: ostypes.h:99
unsigned char bit8
Definition: ostypes.h:97
#define MAX_NUM_VECTOR
Definition: sadefs.h:43
struct fwMSGUConfig_s fwMSGUConfig_t
#define OB_QUEUE_CFGSIZE
Definition: spcdefs.h:303
bit32(* InterruptOurs_t)(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Definition: spcdefs.h:549
struct mpiInterruptVT_s mpiInterruptVT_t
void(* EnadDisabHandler_t)(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
Definition: spcdefs.h:544
struct sasPhyAttribute_s sasPhyAttribute_t
#define MAX_VALID_PHYS
Definition: spcdefs.h:301
struct phyAttrb_s phyAttrb_t
struct InterruptVT_s InterruptVT_t
#define IB_QUEUE_CFGSIZE
Definition: spcdefs.h:302
bit32 iccict
Definition: spcdefs.h:499
bit32 iraeirad
Definition: spcdefs.h:500
data structure stores OS specific and LL specific context
Definition: sa.h:1658
agsaPhyAnalogSetupTable_t phyAnalogConfig
Definition: spcdefs.h:538
spc_GSTableDescriptor_t GeneralStatusTable
Definition: spcdefs.h:535
mpiInterruptVT_t interruptVTable
Definition: spcdefs.h:539
spc_configMainDescriptor_t mainConfiguration
Definition: spcdefs.h:534
sasPhyAttribute_t phyAttributeTable
Definition: spcdefs.h:540
spc_outboundQueueDescriptor_t outboundQueue[OB_QUEUE_CFGSIZE]
Definition: spcdefs.h:537
spc_inboundQueueDescriptor_t inboundQueue[IB_QUEUE_CFGSIZE]
Definition: spcdefs.h:536
InterruptVT_t IntVecTble[MAX_NUM_VECTOR<< 1]
Definition: spcdefs.h:505
MPI message header.
Definition: spcdefs.h:64
bit32 Header
Definition: spcdefs.h:65
bit32 phyState
Definition: spcdefs.h:513
bit32 phyEventOQ
Definition: spcdefs.h:514
phyAttrb_t phyAttribute[MAX_VALID_PHYS]
Definition: spcdefs.h:519
This structure is used for SPC MPI General Status Table.
Definition: spcdefs.h:387
bit32 PhyState[MAX_VALID_PHYS]
Definition: spcdefs.h:400
bit32 recoverErrInfo[8]
Definition: spcdefs.h:408
SAS Phy Analog Setup Table.
Definition: spcdefs.h:422
bit32 reserved[2]
Definition: spcdefs.h:431
bit32 spaReg0
Definition: spcdefs.h:423
bit32 spaReg3
Definition: spcdefs.h:426
bit32 spaReg4
Definition: spcdefs.h:427
bit32 spaReg5
Definition: spcdefs.h:428
bit32 spaReg7
Definition: spcdefs.h:430
bit32 spaReg2
Definition: spcdefs.h:425
bit32 spaReg6
Definition: spcdefs.h:429
bit32 spaReg1
Definition: spcdefs.h:424
bit32 outboundTargetSSPEventPID4_7
Definition: spcdefs.h:159
bit32 outboundTargetITNexusEventPID0_3
Definition: spcdefs.h:144
bit32 outboundTargetITNexusEventPID4_7
Definition: spcdefs.h:149
bit32 outboundTargetSSPEventPID0_3
Definition: spcdefs.h:154
This structure is used to configure inbound queues.
Definition: spcdefs.h:444
This structure is used to configure outbound queues.
Definition: spcdefs.h:469