43#define SPC_MSGU_CFG_TABLE_UPDATE 0x001
44#define SPC_MSGU_CFG_TABLE_RESET 0x002
45#define SPC_MSGU_CFG_TABLE_FREEZE 0x004
46#define SPC_MSGU_CFG_TABLE_UNFREEZE 0x008
47#define SPCV_MSGU_CFG_TABLE_TRANSFER_DEBUG_INFO 0x080
48#define SPCV_MSGU_HALT_CPUS 0x100
82#define OPCODE_MASK 0xFFF
83#define HEADER_V_MASK 0x80000000
84#define HEADER_BC_MASK 0x1f000000
224#define MAIN_SIGNATURE_OFFSET 0x00
225#define MAIN_INTERFACE_REVISION 0x04
226#define MAIN_FW_REVISION 0x08
227#define MAIN_MAX_OUTSTANDING_IO_OFFSET 0x0C
228#define MAIN_MAX_SGL_OFFSET 0x10
229#define MAIN_CNTRL_CAP_OFFSET 0x14
230#define MAIN_GST_OFFSET 0x18
231#define MAIN_IBQ_OFFSET 0x1C
232#define MAIN_OBQ_OFFSET 0x20
233#define MAIN_IQNPPD_HPPD_OFFSET 0x24
234#define MAIN_OB_HW_EVENT_PID03_OFFSET 0x28
235#define MAIN_OB_HW_EVENT_PID47_OFFSET 0x2C
236#define MAIN_OB_NCQ_EVENT_PID03_OFFSET 0x30
237#define MAIN_OB_NCQ_EVENT_PID47_OFFSET 0x34
238#define MAIN_TITNX_EVENT_PID03_OFFSET 0x38
239#define MAIN_TITNX_EVENT_PID47_OFFSET 0x3C
240#define MAIN_OB_SSP_EVENT_PID03_OFFSET 0x40
241#define MAIN_OB_SSP_EVENT_PID47_OFFSET 0x44
242#define MAIN_IO_ABORT_DELAY 0x48
243#define MAIN_CUSTOMER_SETTING 0x4C
244#define MAIN_EVENT_LOG_ADDR_HI 0x50
245#define MAIN_EVENT_LOG_ADDR_LO 0x54
246#define MAIN_EVENT_LOG_BUFF_SIZE 0x58
247#define MAIN_EVENT_LOG_OPTION 0x5C
248#define MAIN_IOP_EVENT_LOG_ADDR_HI 0x60
249#define MAIN_IOP_EVENT_LOG_ADDR_LO 0x64
250#define MAIN_IOP_EVENT_LOG_BUFF_SIZE 0x68
251#define MAIN_IOP_EVENT_LOG_OPTION 0x6C
252#define MAIN_FATAL_ERROR_INTERRUPT 0x70
253#define MAIN_FATAL_ERROR_RDUMP0_OFFSET 0x74
254#define MAIN_FATAL_ERROR_RDUMP0_LENGTH 0x78
255#define MAIN_FATAL_ERROR_RDUMP1_OFFSET 0x7C
256#define MAIN_FATAL_ERROR_RDUMP1_LENGTH 0x80
257#define MAIN_HDA_FLAGS_OFFSET 0x84
258#define MAIN_ANALOG_SETUP_OFFSET 0x88
259#define MAIN_INT_VEC_TABLE_OFFSET 0x8C
260#define MAIN_PHY_ATTRIBUTE_OFFSET 0x90
261#define MAIN_PRECTD_PRESETD 0x94
262#define MAIN_IRAD_RESERVED 0x98
263#define MAIN_MOQFOT_MOQFOES 0x9C
264#define MAIN_MERRDCTO_MERRDCES 0xA0
265#define MAIN_ILAT_ILAV_ILASMRN_ILAMRN_ILAMJN 0xA4
266#define MAIN_INACTIVE_ILA_REVSION 0xA8
267#define MAIN_SEEPROM_REVSION 0xAC
268#define MAIN_UNKNOWN1 0xB0
269#define MAIN_UNKNOWN2 0xB4
270#define MAIN_UNKNOWN3 0xB8
271#define MAIN_XCBI_REF_TAG_PAT 0xBC
272#define MAIN_AWT_MIDRANGE 0xC0
280#define MAIN_IO_ABORT_DELAY_END_TO_END_CRC_DISABLE 0x00010000
283#define MAIN_MAX_IB_MASK 0x000000ff
284#define MAIN_MAX_OB_MASK 0x0000ff00
285#define MAIN_PHY_COUNT_MASK 0x01f80000
286#define MAIN_QSUPPORT_BITS 0x0007ffff
287#define MAIN_SAS_SUPPORT_BITS 0xfe000000
290#define MAIN_MAX_SGL_BITS 0xFFFF
291#define MAIN_MAX_DEV_BITS 0xFFFF0000
294#define MAIN_HDA_FLAG_BITS 0x000000FF
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
301#define MAX_VALID_PHYS 8
302#define IB_QUEUE_CFGSIZE 64
303#define OB_QUEUE_CFGSIZE 64
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
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
326#define OB_PROPERTY_INT_ENABLE 0x40000000
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
336#define GST_PHYSTATE0_OFFSET 0x18
337#define GST_PHYSTATE1_OFFSET 0x1C
338#define GST_PHYSTATE2_OFFSET 0x20
339#define GST_PHYSTATE3_OFFSET 0x24
340#define GST_PHYSTATE4_OFFSET 0x28
341#define GST_PHYSTATE5_OFFSET 0x2C
342#define GST_PHYSTATE6_OFFSET 0x30
343#define GST_PHYSTATE7_OFFSET 0x34
344#define GST_GPIO_PINS_OFFSET 0x38
345#define GST_RERRINFO_OFFSET 0x44
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
354#define GST_INF_STATE_BITS 0xfffe0007
358#define MPI_FATAL_ERROR_TABLE_OFFSET_MASK 0xFFFFFF
359#define MPI_FATAL_ERROR_TABLE_SIZE(value) ((0xFF000000 & value) >> SHIFT24)
362#define MPI_FATAL_EDUMP_TABLE_LO_OFFSET 0x00
363#define MPI_FATAL_EDUMP_TABLE_HI_OFFSET 0x04
364#define MPI_FATAL_EDUMP_TABLE_LENGTH 0x08
365#define MPI_FATAL_EDUMP_TABLE_HANDSHAKE 0x0C
366#define MPI_FATAL_EDUMP_TABLE_STATUS 0x10
367#define MPI_FATAL_EDUMP_TABLE_ACCUM_LEN 0x14
369#define MPI_FATAL_EDUMP_HANDSHAKE_RDY 0x1
370#define MPI_FATAL_EDUMP_HANDSHAKE_BUSY 0x0
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
377#define IOCTL_ERROR_NO_FATAL_ERROR 0x77
508#define INT_VT_Coal_CNT_TO 0
509#define INT_VT_Coal_ReAssert_Enab 4
524#define PHY_EVENT_OQ 4
546 bit32 interruptVectorIndex
551 bit32 interruptVectorIndex
struct fwMSGUConfig_s fwMSGUConfig_t
bit32(* InterruptOurs_t)(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
struct mpiInterruptVT_s mpiInterruptVT_t
void(* EnadDisabHandler_t)(agsaRoot_t *agRoot, bit32 interruptVectorIndex)
struct sasPhyAttribute_s sasPhyAttribute_t
struct phyAttrb_s phyAttrb_t
struct InterruptVT_s InterruptVT_t
data structure stores OS specific and LL specific context
agsaPhyAnalogSetupTable_t phyAnalogConfig
spc_GSTableDescriptor_t GeneralStatusTable
mpiInterruptVT_t interruptVTable
spc_configMainDescriptor_t mainConfiguration
sasPhyAttribute_t phyAttributeTable
spc_outboundQueueDescriptor_t outboundQueue[OB_QUEUE_CFGSIZE]
spc_inboundQueueDescriptor_t inboundQueue[IB_QUEUE_CFGSIZE]
InterruptVT_t IntVecTble[MAX_NUM_VECTOR<< 1]
phyAttrb_t phyAttribute[MAX_VALID_PHYS]
This structure is used for SPC MPI General Status Table.
bit32 PhyState[MAX_VALID_PHYS]
SAS Phy Analog Setup Table.
bit32 FatalErrorInterrupt
bit32 FatalErrorDumpOffset1
bit32 outboundTargetSSPEventPID4_7
bit32 InterruptVecTblOffset
bit32 outboundQueueOffset
bit32 interruptReassertionDelay
bit32 lowerEventLogAddress
bit32 outboundHWEventPID4_7
bit32 upperIOPeventLogAddress
bit32 outboundTargetITNexusEventPID0_3
bit32 FatalErrorDumpOffset0
bit32 analogSetupTblOffset
bit32 FatalErrorDumpLength1
bit32 phyAttributeTblOffset
bit32 outboundNCQEventPID0_3
bit32 outboundTargetITNexusEventPID4_7
bit32 outboundTargetSSPEventPID0_3
bit32 outboundHWEventPID0_3
bit32 outboundNCQEventPID4_7
bit32 upperEventLogAddress
bit32 lowerIOPeventLogAddress
bit32 portRecoveryResetTimer
bit32 FatalErrorDumpLength0
This structure is used to configure inbound queues.
bit32 elementPriSizeCount
This structure is used to configure outbound queues.
bit32 DInterruptTOPCIOffset
bit32 interruptVecCntDelay