FreeBSD kernel pms device code
|
The file implements the functions to initialize the LL layer. More...
#include <sys/cdefs.h>
#include <dev/pms/config.h>
#include <dev/pms/RefTisa/sallsdk/spc/saglobal.h>
Go to the source code of this file.
Variables | |
bit32 | gLLDebugLevel = 3 |
bit32 | gPollForMissingInt |
bit32 | gWait_3 |
bit32 | gWait_2 |
bit32 | gFPGA_TEST = 0 |
The file implements the functions to initialize the LL layer.
Definition in file sainit.c.
__FBSDID | ( | "$FreeBSD$" | ) |
GLOBAL bit32 mpiGetPCIBarIndex | ( | agsaRoot_t * | agRoot, |
bit32 | pciBar | ||
) |
Definition at line 3663 of file sainit.c.
References BAR0, BAR1, BAR2, BAR3, BAR4, BAR5, PCIBAR0, PCIBAR1, PCIBAR2, and PCIBAR3.
Referenced by mpiInitialize(), mpiReadCALTable(), mpiReadGSTable(), mpiUnInitConfigTable(), mpiWaitForConfigTable(), mpiWrAnalogSetupTable(), mpiWrIntVecTable(), mpiWriteCALTable(), mpiWrPhyAttrbTable(), saGetControllerInfo(), saGetControllerStatus(), and siGetPciBar().
GLOBAL bit32 mpiInitialize | ( | agsaRoot_t * | agRoot, |
mpiMemReq_t * | memoryAllocated, | ||
mpiConfig_t * | config | ||
) |
Definition at line 1839 of file sainit.c.
References agNULL, mpiOCQueue_s::agRoot, mpiICQueue_s::agRoot, AGSA_MAX_INBOUND_Q, AGSA_MAX_OUTBOUND_Q, AGSA_MAX_VALID_PHYS, AGSA_MPI_GENERAL_STATUS_TABLE, AGSA_MPI_INBOUND_QUEUE_CONFIGURATION_TABLE, AGSA_MPI_INTERRUPT_VECTOR_TABLE, AGSA_MPI_MAIN_CONFIGURATION_TABLE, AGSA_MPI_OUTBOUND_QUEUE_CONFIGURATION_TABLE, AGSA_MPI_OUTBOUND_QUEUE_FAILOVER_TABLE, AGSA_MPI_PER_SAS_PHY_ATTRIBUTE_TABLE, AGSA_MPI_SAS_PHY_ANALOG_SETUP_TABLE, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, mpiHostLLConfigDescriptor_s::analogSetupTblOffset, spc_configMainDescriptor_s::analogSetupTblOffset, spc_inboundQueueDescriptor_s::ciLowerBaseAddress, mpiOCQueue_s::CIPCIBar, mpiOCQueue_s::CIPCIOffset, mpiICQueue_s::ciPointer, spc_inboundQueueDescriptor_s::ciUpperBaseAddress, mpiOCQueue_s::consumerIdx, mpiICQueue_s::consumerIdx, spc_configMainDescriptor_s::ContrlCapFlag, agsaLLRoot_s::ControllerInfo, mpiMemReq_s::count, mpiHostLLConfigDescriptor_s::custset, spc_configMainDescriptor_s::custset, mpiOCQueue_s::DIntTOffset, spc_inboundQueueDescriptor_s::elementPriSizeCount, mpiMem_s::elementSize, mpiOCQueue_s::elementSize, mpiICQueue_s::elementSize, mpiInboundQueueDescriptor_s::elementSize, mpiOutboundQueueDescriptor_s::elementSize, spc_outboundQueueDescriptor_s::elementSizeCount, mpiHostLLConfigDescriptor_s::eventLogOption, spc_configMainDescriptor_s::eventLogOption, mpiHostLLConfigDescriptor_s::eventLogSize, spc_configMainDescriptor_s::eventLogSize, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, mpiHostLLConfigDescriptor_s::FatalErrorInterrupt, spc_configMainDescriptor_s::FatalErrorInterrupt, agsaControllerInfo_s::fwInterfaceRev, GEN_MSGU_IBDB_SET, GEN_MSGU_SCRATCH_PAD_0, GST_GSTLEN_MPIS_OFFSET, GST_MPI_STATE_INIT, GST_MPI_STATE_MASK, GST_MPI_STATE_UNINIT, spc_configMainDescriptor_s::GSTOffset, gWait_2, mpiHostLLConfigDescriptor_s::HDAModeFlags, spc_configMainDescriptor_s::HDAModeFlags, HP_SUPPORT_BIT, hpDBG_VERY_LOUD, agsaLLRoot_s::hwConfig, agsaHwConfig_s::hwOption, IB_PIPCI_BAR, IB_PIPCI_BAR_OFFSET, agsaLLRoot_s::inboundQueue, spc_configMainDescriptor_s::inboundQueueOffset, mpiConfig_s::inboundQueues, INT_COL_BIT, INT_DELAY_BITS, INT_THR_BITS, INT_VEC_BITS, mpiOutboundQueueDescriptor_s::interruptDelay, mpiOutboundQueueDescriptor_s::interruptEnable, mpiHostLLConfigDescriptor_s::InterruptReassertionDelay, spc_configMainDescriptor_s::interruptReassertionDelay, mpiOutboundQueueDescriptor_s::interruptThreshold, spc_outboundQueueDescriptor_s::interruptVecCntDelay, agsaLLRoot_s::interruptVecIndexBitMap, agsaLLRoot_s::interruptVecIndexBitMap1, mpiOutboundQueueDescriptor_s::interruptVector, agsaHwConfig_s::intReassertionOption, mpiHostLLConfigDescriptor_s::ioAbortDelay, spc_configMainDescriptor_s::ioAbortDelay, mpiHostLLConfigDescriptor_s::IOPeventLogOption, spc_configMainDescriptor_s::IOPeventLogOption, mpiHostLLConfigDescriptor_s::IOPeventLogSize, spc_configMainDescriptor_s::IOPeventLogSize, IQ_NUM_32, mpiHostLLConfigDescriptor_s::iQNPPD_HPPD_GEvent, spc_configMainDescriptor_s::iQNPPD_HPPD_GEvent, spc_inboundQueueDescriptor_s::lowerBaseAddress, spc_outboundQueueDescriptor_s::lowerBaseAddress, mpiHostLLConfigDescriptor_s::lowerEventLogAddress, spc_configMainDescriptor_s::lowerEventLogAddress, mpiHostLLConfigDescriptor_s::lowerIOPeventLogAddress, spc_configMainDescriptor_s::lowerIOPeventLogAddress, MAIN_ANALOG_SETUP_OFFSET, MAIN_AWT_MIDRANGE, MAIN_CUSTOMER_SETTING, MAIN_EVENT_LOG_ADDR_HI, MAIN_EVENT_LOG_ADDR_LO, MAIN_EVENT_LOG_BUFF_SIZE, MAIN_EVENT_LOG_OPTION, MAIN_FATAL_ERROR_INTERRUPT, MAIN_FATAL_ERROR_RDUMP0_LENGTH, MAIN_FATAL_ERROR_RDUMP0_OFFSET, MAIN_FATAL_ERROR_RDUMP1_LENGTH, MAIN_FATAL_ERROR_RDUMP1_OFFSET, MAIN_GST_OFFSET, MAIN_IBQ_OFFSET, MAIN_INT_VEC_TABLE_OFFSET, MAIN_IO_ABORT_DELAY, MAIN_IO_ABORT_DELAY_END_TO_END_CRC_DISABLE, MAIN_IOP_EVENT_LOG_ADDR_HI, MAIN_IOP_EVENT_LOG_ADDR_LO, MAIN_IOP_EVENT_LOG_BUFF_SIZE, MAIN_IOP_EVENT_LOG_OPTION, MAIN_IQNPPD_HPPD_OFFSET, MAIN_IRAD_RESERVED, MAIN_MOQFOT_MOQFOES, MAIN_OB_HW_EVENT_PID03_OFFSET, MAIN_OB_HW_EVENT_PID47_OFFSET, MAIN_OB_NCQ_EVENT_PID03_OFFSET, MAIN_OB_NCQ_EVENT_PID47_OFFSET, MAIN_OB_SSP_EVENT_PID03_OFFSET, MAIN_OB_SSP_EVENT_PID47_OFFSET, MAIN_OBQ_OFFSET, MAIN_PHY_ATTRIBUTE_OFFSET, MAIN_PRECTD_PRESETD, MAIN_TITNX_EVENT_PID03_OFFSET, MAIN_TITNX_EVENT_PID47_OFFSET, mpiConfig_s::mainConfig, agsaLLRoot_s::mainConfigTable, MAKE_MODULO, MAX_NUM_VECTOR, MAX_QUEUE_EACH_MEM, mpiConfig_s::maxNumInboundQueues, mpiConfig_s::maxNumOutboundQueues, MBIC_GSM_SM_BASE, mpiOCQueue_s::memoryRegion, mpiICQueue_s::memoryRegion, MPI_CI_INDEX, agsaSwConfig_s::mpiContextTable, agsaSwConfig_s::mpiContextTablelen, mpiGetPCIBarIndex(), agsaMPIContext_s::MPITableType, mpiUpdateIBQueueCfgTable(), mpiUpdateOBQueueCfgTable(), mpiWaitForConfigTable(), mpiWrAnalogSetupTable(), mpiWrIntVecTable(), mpiWriteCALAll(), MSGU_IBDB_SET, MSGU_READ_IDR, MSGU_SCRATCH_PAD_0, NULL, mpiMem_s::numElements, mpiOCQueue_s::numElements, mpiICQueue_s::numElements, mpiInboundQueueDescriptor_s::numElements, mpiOutboundQueueDescriptor_s::numElements, mpiConfig_s::numInboundQueues, agsaLLRoot_s::numInterruptVectors, mpiConfig_s::numOutboundQueues, OB_CIPCI_BAR, OB_CIPCI_BAR_OFFSET, OB_DYNAMIC_COALES_OFFSET, OB_PROPERTY_INT_ENABLE, agsaMPIContext_s::offset, OQ_NUM_32, ossaHwRegRead(), ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaStallThread(), mpiHostLLConfigDescriptor_s::outboundHWEventPID0_3, spc_configMainDescriptor_s::outboundHWEventPID0_3, mpiHostLLConfigDescriptor_s::outboundHWEventPID4_7, spc_configMainDescriptor_s::outboundHWEventPID4_7, mpiHostLLConfigDescriptor_s::outboundNCQEventPID0_3, spc_configMainDescriptor_s::outboundNCQEventPID0_3, mpiHostLLConfigDescriptor_s::outboundNCQEventPID4_7, spc_configMainDescriptor_s::outboundNCQEventPID4_7, agsaLLRoot_s::outboundQueue, spc_configMainDescriptor_s::outboundQueueOffset, mpiConfig_s::outboundQueues, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID0_3, spc_configMainDescriptor_s::outboundTargetITNexusEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID4_7, spc_configMainDescriptor_s::outboundTargetITNexusEventPID4_7, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID0_3, spc_configMainDescriptor_s::outboundTargetSSPEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID4_7, spc_configMainDescriptor_s::outboundTargetSSPEventPID4_7, PHY_COUNT_BITS, mpiConfig_s::phyAnalogConfig, mpiMem_s::physAddrLower, mpiMem_s::physAddrUpper, spc_outboundQueueDescriptor_s::piLowerBaseAddress, mpiICQueue_s::PIPCIBar, mpiICQueue_s::PIPCIOffset, mpiOCQueue_s::piPointer, spc_outboundQueueDescriptor_s::piUpperBaseAddress, spc_configMainDescriptor_s::portRecoveryResetTimer, mpiHostLLConfigDescriptor_s::PortRecoveryTimerPortResetTimer, mpiICQueue_s::priority, mpiInboundQueueDescriptor_s::priority, mpiOCQueue_s::producerIdx, mpiICQueue_s::producerIdx, mpiOCQueue_s::qNumber, mpiICQueue_s::qNumber, mpiMemReq_s::region, SA_ASSERT, SA_DBG1, SA_DBG2, SA_DBG3, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SCRATCH_PAD1_V_ERROR_STATE, agsaContext_s::sdkData, SHIFT16, SHIFT19, SHIFT24, SHIFT26, SHIFT30, si_memcpy(), si_memset(), siBar4Shift(), siGetPciBar(), siHalRegReadExt(), siHalRegWriteExt(), smIS_HIL(), smIS_SPC(), smIS_SPC12V(), smIS_SPC6V(), smIS_SPCV(), smIsCfgVREV_A, smIsCfgVREV_B, smIsCfgVREV_C, smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_MSGU_CFG_TABLE_UPDATE, agsaLLRoot_s::swConfig, TOTAL_MPI_MEM_CHUNKS, mpiMem_s::totalLength, spc_inboundQueueDescriptor_s::upperBaseAddress, spc_outboundQueueDescriptor_s::upperBaseAddress, mpiHostLLConfigDescriptor_s::upperEventLogAddress, spc_configMainDescriptor_s::upperEventLogAddress, mpiHostLLConfigDescriptor_s::upperIOPeventLogAddress, spc_configMainDescriptor_s::upperIOPeventLogAddress, V_Scratchpad_1_Register, agsaMPIContext_s::value, mpiMem_s::virtPtr, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by saInitialize().
void mpiReadCALTable | ( | agsaRoot_t * | agRoot, |
spc_SPASTable_t * | mpiCALTable, | ||
bit32 | index | ||
) |
Reading the Phy Analog Setup Register Table.
agsaRoot | Handles for this instance of SAS/SATA LLL |
mpiCALTable | Pointer of Phy Calibration Table |
Return: None
Definition at line 4065 of file sainit.c.
References ANALOG_SETUP_ENTRY_SIZE, GEN_MSGU_SCRATCH_PAD_0, index, MAIN_ANALOG_SETUP_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), RV_CFG1_OFFSET, RV_CFG2_OFFSET, RV_PORT_CFG1_OFFSET, RV_PORT_CFG2_OFFSET, SA_DBG3, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, siHalRegReadExt(), smIS_SPCV(), spc_SPASTable_s::spaReg0, spc_SPASTable_s::spaReg1, spc_SPASTable_s::spaReg2, spc_SPASTable_s::spaReg3, spc_SPASTable_s::spaReg4, spc_SPASTable_s::spaReg5, spc_SPASTable_s::spaReg6, spc_SPASTable_s::spaReg7, TX_CFG_OFFSET, TX_PORT_CFG1_OFFSET, TX_PORT_CFG2_OFFSET, and TX_PORT_CFG3_OFFSET.
GLOBAL void mpiReadGSTable | ( | agsaRoot_t * | agRoot, |
spc_GSTableDescriptor_t * | mpiGSTable | ||
) |
Definition at line 3700 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, spc_GSTableDescriptor_s::GPIOpins, GST_GPIO_PINS_OFFSET, GST_GSTLEN_MPIS_OFFSET, GST_IOP1TCNT_OFFSET, GST_IOPTCNT_OFFSET, GST_IQ_FREEZE_STATE0_OFFSET, GST_IQ_FREEZE_STATE1_OFFSET, GST_MSGUTCNT_OFFSET, GST_PHYSTATE_OFFSET, GST_RERRINFO_OFFSET, spc_GSTableDescriptor_s::GSTLenMPIS, hpDBG_VERY_LOUD, spc_GSTableDescriptor_s::Iop1Tcnt, spc_GSTableDescriptor_s::IopTcnt, spc_GSTableDescriptor_s::IQFreezeState0, spc_GSTableDescriptor_s::IQFreezeState1, MAIN_GST_OFFSET, MAIN_PHY_ATTRIBUTE_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, spc_GSTableDescriptor_s::MsguTcnt, ossaHwRegReadExt(), spc_GSTableDescriptor_s::PhyState, spc_GSTableDescriptor_s::recoverErrInfo, SA_ASSERT, SA_DBG1, SA_DBG4, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, SHIFT3, siHalRegReadExt(), smIS_SPCV(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by saGetControllerStatus().
GLOBAL bit32 mpiUnInitConfigTable | ( | agsaRoot_t * | agRoot | ) |
Definition at line 3434 of file sainit.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, GEN_MSGU_IBDB_SET, GEN_MSGU_SCRATCH_PAD_0, GST_GSTLEN_MPIS_OFFSET, GST_MPI_STATE_MASK, GST_MPI_STATE_UNINIT, gWait_2, hpDBG_VERY_LOUD, MAIN_GST_OFFSET, MAKE_MODULO, mpiGetPCIBarIndex(), MSGU_IBDB_SET, MSGU_READ_IDR, MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, NULL, ossaHwRegReadExt(), ossaStallThread(), PCIBAR0, SA_ASSERT, SA_DBG1, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, siHalRegReadExt(), siHalRegWriteExt(), smIS_SPC(), smTraceFuncEnter, smTraceFuncExit, SPC_MSGU_CFG_TABLE_RESET, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by saHwShutdown().
GLOBAL void mpiUpdateFatalErrorTable | ( | agsaRoot_t * | agRoot, |
bit32 | FerrTableOffset, | ||
bit32 | lowerBaseAddress, | ||
bit32 | upperBaseAddress, | ||
bit32 | length, | ||
bit8 | pcibar | ||
) |
Definition at line 3627 of file sainit.c.
References hpDBG_VERY_LOUD, MPI_FATAL_EDUMP_TABLE_HANDSHAKE, MPI_FATAL_EDUMP_TABLE_HI_OFFSET, MPI_FATAL_EDUMP_TABLE_LENGTH, MPI_FATAL_EDUMP_TABLE_LO_OFFSET, MPI_FATAL_EDUMP_TABLE_STATUS, ossaHwRegWriteExt(), SA_DBG3, smTraceFuncEnter, and smTraceFuncExit.
void mpiUpdateIBQueueCfgTable | ( | agsaRoot_t * | agRoot, |
spc_inboundQueueDescriptor_t * | outQueueCfg, | ||
bit32 | QueueTableOffset, | ||
bit8 | pcibar | ||
) |
Writing to the inbound queue of the Configuration Table.
agsaRoot | Pointer to a data structure containing both application and LL layer context handles |
outQueueCfg | Pointer to inbuond configuration area |
QueueTableOffset | Queue configuration table offset |
pcibar | PCI BAR |
Return: None
Definition at line 3545 of file sainit.c.
References spc_inboundQueueDescriptor_s::ciLowerBaseAddress, spc_inboundQueueDescriptor_s::ciUpperBaseAddress, spc_inboundQueueDescriptor_s::elementPriSizeCount, hpDBG_VERY_LOUD, IB_BASE_ADDR_HI_OFFSET, IB_BASE_ADDR_LO_OFFSET, IB_CI_BASE_ADDR_HI_OFFSET, IB_CI_BASE_ADDR_LO_OFFSET, IB_PROPERITY_OFFSET, spc_inboundQueueDescriptor_s::lowerBaseAddress, ossaHwRegWriteExt(), SA_DBG3, smTrace, smTraceFuncEnter, smTraceFuncExit, and spc_inboundQueueDescriptor_s::upperBaseAddress.
Referenced by mpiInitialize().
void mpiUpdateOBQueueCfgTable | ( | agsaRoot_t * | agRoot, |
spc_outboundQueueDescriptor_t * | outQueueCfg, | ||
bit32 | QueueTableOffset, | ||
bit8 | pcibar | ||
) |
Writing to the inbound queue of the Configuration Table.
agsaRoot | Pointer to a data structure containing both application and LL layer context handles |
outQueueCfg | Pointer to outbuond configuration area |
QueueTableOffset | Queue configuration table offset |
pcibar | PCI BAR |
Return: None
Definition at line 3587 of file sainit.c.
References spc_outboundQueueDescriptor_s::elementSizeCount, hpDBG_VERY_LOUD, spc_outboundQueueDescriptor_s::interruptVecCntDelay, spc_outboundQueueDescriptor_s::lowerBaseAddress, OB_BASE_ADDR_HI_OFFSET, OB_BASE_ADDR_LO_OFFSET, OB_INTERRUPT_COALES_OFFSET, OB_PI_BASE_ADDR_HI_OFFSET, OB_PI_BASE_ADDR_LO_OFFSET, OB_PROPERITY_OFFSET, ossaHwRegWriteExt(), spc_outboundQueueDescriptor_s::piLowerBaseAddress, spc_outboundQueueDescriptor_s::piUpperBaseAddress, SA_DBG3, smTraceFuncEnter, smTraceFuncExit, and spc_outboundQueueDescriptor_s::upperBaseAddress.
Referenced by mpiInitialize().
mpiWaitForConfigTable | ( | agsaRoot_t * | agRoot, |
spc_configMainDescriptor_t * | config | ||
) |
Reading and Writing the Configuration Table.
agsaRoot | Pointer to a data structure containing LL layer context handles |
config | Pointer to Configuration Table |
Return: AGSA_RC_SUCCESS if read the configuration table from SPC sucessful AGSA_RC_FAILURE if read the configuration table from SPC failed
Definition at line 2904 of file sainit.c.
References agNULL, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_RC_VERSION_INCOMPATIBLE, AGSA_RC_VERSION_UNTESTED, mpiHostLLConfigDescriptor_s::analogSetupTblOffset, spc_configMainDescriptor_s::analogSetupTblOffset, BAR4, BAR5, spc_configMainDescriptor_s::ContrlCapFlag, agsaLLRoot_s::ControllerInfo, agsaControllerInfo_s::controllerSetting, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength0, spc_configMainDescriptor_s::FatalErrorDumpLength0, mpiHostLLConfigDescriptor_s::FatalErrorDumpLength1, spc_configMainDescriptor_s::FatalErrorDumpLength1, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset0, spc_configMainDescriptor_s::FatalErrorDumpOffset0, mpiHostLLConfigDescriptor_s::FatalErrorDumpOffset1, spc_configMainDescriptor_s::FatalErrorDumpOffset1, agsaControllerInfo_s::fwInterfaceRev, agsaControllerInfo_s::fwRevision, spc_configMainDescriptor_s::FWRevision, GEN_MSGU_SCRATCH_PAD_0, GEN_MSGU_SCRATCH_PAD_1, GEN_MSGU_SCRATCH_PAD_2, GEN_MSGU_SCRATCH_PAD_3, spc_configMainDescriptor_s::GSTOffset, gWait_2, mpiHostLLConfigDescriptor_s::HDAModeFlags, spc_configMainDescriptor_s::HDAModeFlags, hpDBG_VERY_LOUD, agsaControllerInfo_s::hwRevision, agsaControllerInfo_s::ilaRevision, spc_configMainDescriptor_s::ilaRevision, spc_configMainDescriptor_s::inboundQueueOffset, spc_configMainDescriptor_s::InterfaceRev, mpiHostLLConfigDescriptor_s::InterruptVecTblOffset, spc_configMainDescriptor_s::InterruptVecTblOffset, MAIN_ANALOG_SETUP_OFFSET, MAIN_AWT_MIDRANGE, MAIN_CNTRL_CAP_OFFSET, MAIN_FATAL_ERROR_RDUMP0_LENGTH, MAIN_FATAL_ERROR_RDUMP0_OFFSET, MAIN_FATAL_ERROR_RDUMP1_LENGTH, MAIN_FATAL_ERROR_RDUMP1_OFFSET, MAIN_FW_REVISION, MAIN_GST_OFFSET, MAIN_HDA_FLAGS_OFFSET, MAIN_IBQ_OFFSET, MAIN_ILAT_ILAV_ILASMRN_ILAMRN_ILAMJN, MAIN_INACTIVE_ILA_REVSION, MAIN_INT_VEC_TABLE_OFFSET, MAIN_INTERFACE_REVISION, MAIN_MAX_OUTSTANDING_IO_OFFSET, MAIN_MAX_SGL_OFFSET, MAIN_OBQ_OFFSET, MAIN_PHY_ATTRIBUTE_OFFSET, MAIN_SEEPROM_REVSION, agsaLLRoot_s::mainConfigTable, MAKE_MODULO, MATCHING_12G_V_FW_VERSION, MATCHING_SPC_FW_VERSION, MATCHING_V_FW_VERSION, MAX_DEV_BITS, agsaSwConfig_s::maxActiveIOs, agsaControllerInfo_s::maxDevices, spc_configMainDescriptor_s::MaxOutstandingIO, agsaControllerInfo_s::maxPendingIO, agsaControllerInfo_s::maxSgElements, spc_configMainDescriptor_s::MDevMaxSGL, MIN_FW_12G_SPCVE_VERSION_SUPPORTED, MIN_FW_SPC_VERSION_SUPPORTED, MIN_FW_SPCVE_VERSION_SUPPORTED, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, NULL, ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaStallThread(), spc_configMainDescriptor_s::outboundQueueOffset, PHY_COUNT_BITS, mpiHostLLConfigDescriptor_s::phyAttributeTblOffset, spc_configMainDescriptor_s::phyAttributeTblOffset, agsaControllerInfo_s::phyCount, spc_configMainDescriptor_s::portRecoveryResetTimer, mpiHostLLConfigDescriptor_s::PortRecoveryTimerPortResetTimer, Q_SUPPORT_BITS, agsaControllerInfo_s::queueSupport, mpiHostLLConfigDescriptor_s::regDumpPCIBAR, SA_ASSERT, SA_DBG1, SA_DBG2, SAS_SPEC_BITS, agsaControllerInfo_s::sasSpecsSupport, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SCRATCH_PAD1_ERR, SCRATCH_PAD1_RDY, SCRATCH_PAD1_STATE_MASK, SCRATCH_PAD1_V_BOOTSTATE_HDA_SEEPROM, SCRATCH_PAD1_V_READY, SCRATCH_PAD2_ERR, SCRATCH_PAD2_RDY, SCRATCH_PAD2_STATE_MASK, SCRATCH_PAD_STATE_MASK, agsaContext_s::sdkData, agsaControllerInfo_s::sdkInterfaceRev, agsaControllerInfo_s::sdkRevision, SHIFT16, SHIFT19, SHIFT24, SHIFT25, SHIFT26, SHIFT8, si_memcpy(), Signature, agsaControllerInfo_s::signature, spc_configMainDescriptor_s::Signature, siHalRegReadExt(), smIS_SFC, smIS_SPC(), smIS_SPC12V(), smIS_SPC6V(), smIS_spc8081, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, SPC_READ_DEV_REV, STSDK_LL_12G_INTERFACE_VERSION, STSDK_LL_12G_VERSION, STSDK_LL_INTERFACE_VERSION, STSDK_LL_INTERFACE_VERSION_IGNORE_MASK, STSDK_LL_OLD_INTERFACE_VERSION, STSDK_LL_SPC_VERSION, STSDK_LL_VERSION, agsaLLRoot_s::swConfig, WAIT_INCREMENT, and WAIT_SECONDS.
Referenced by mpiInitialize(), and siSpcSoftReset().
GLOBAL void mpiWrAnalogSetupTable | ( | agsaRoot_t * | agRoot, |
mpiConfig_t * | config | ||
) |
Definition at line 4194 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, MAIN_ANALOG_SETUP_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), mpiConfig_s::phyAnalogConfig, agsaPhyAnalogSetupTable_s::phyAnalogSetupRegisters, SA_DBG1, SA_DBG4, SCRATCH_PAD0_OFFSET_MASK, SHIFT24, siHalRegReadExt(), agsaPhyAnalogSetupRegisters_s::spaRegister0, agsaPhyAnalogSetupRegisters_s::spaRegister1, agsaPhyAnalogSetupRegisters_s::spaRegister2, agsaPhyAnalogSetupRegisters_s::spaRegister3, agsaPhyAnalogSetupRegisters_s::spaRegister4, agsaPhyAnalogSetupRegisters_s::spaRegister5, agsaPhyAnalogSetupRegisters_s::spaRegister6, agsaPhyAnalogSetupRegisters_s::spaRegister7, agsaPhyAnalogSetupRegisters_s::spaRegister8, and agsaPhyAnalogSetupRegisters_s::spaRegister9.
Referenced by mpiInitialize().
GLOBAL void mpiWrIntVecTable | ( | agsaRoot_t * | agRoot, |
mpiConfig_t * | config | ||
) |
Definition at line 4246 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, INT_VT_Coal_CNT_TO, mpiOutboundQueueDescriptor_s::interruptDelay, mpiOutboundQueueDescriptor_s::interruptThreshold, mpiOutboundQueueDescriptor_s::interruptVector, MAIN_INT_VEC_TABLE_OFFSET, MAX_NUM_VECTOR, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), mpiConfig_s::outboundQueues, SA_DBG1, SA_DBG3, SA_DBG4, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT15, SHIFT26, and siHalRegReadExt().
Referenced by mpiInitialize().
void mpiWriteCALAll | ( | agsaRoot_t * | agRoot, |
agsaPhyAnalogSetupTable_t * | mpiCALTable | ||
) |
Writing the Phy Analog Setup Register Table.
agsaRoot | Handles for this instance of SAS/SATA LLL |
mpiCALTable | Pointer of Phy Calibration Table |
Return: None
Definition at line 4175 of file sainit.c.
References hpDBG_VERY_LOUD, MAX_INDEX, mpiWriteCALTable(), agsaPhyAnalogSetupTable_s::phyAnalogSetupRegisters, smIS_SPCV(), smTraceFuncEnter, and smTraceFuncExit.
Referenced by mpiInitialize().
GLOBAL void mpiWriteCALTable | ( | agsaRoot_t * | agRoot, |
spc_SPASTable_t * | mpiCALTable, | ||
bit32 | index | ||
) |
Definition at line 4121 of file sainit.c.
References ANALOG_SETUP_ENTRY_SIZE, GEN_MSGU_SCRATCH_PAD_0, hpDBG_VERY_LOUD, index, MAIN_ANALOG_SETUP_OFFSET, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), RV_CFG1_OFFSET, RV_CFG2_OFFSET, RV_PORT_CFG1_OFFSET, RV_PORT_CFG2_OFFSET, SA_DBG4, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, siHalRegReadExt(), smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, spc_SPASTable_s::spaReg0, spc_SPASTable_s::spaReg1, spc_SPASTable_s::spaReg2, spc_SPASTable_s::spaReg3, spc_SPASTable_s::spaReg4, spc_SPASTable_s::spaReg5, spc_SPASTable_s::spaReg6, spc_SPASTable_s::spaReg7, TX_CFG_OFFSET, TX_PORT_CFG1_OFFSET, TX_PORT_CFG2_OFFSET, and TX_PORT_CFG3_OFFSET.
Referenced by mpiWriteCALAll().
GLOBAL void mpiWrPhyAttrbTable | ( | agsaRoot_t * | agRoot, |
sasPhyAttribute_t * | phyAttrib | ||
) |
Definition at line 4310 of file sainit.c.
References GEN_MSGU_SCRATCH_PAD_0, MAIN_PHY_ATTRIBUTE_OFFSET, MAX_VALID_PHYS, mpiGetPCIBarIndex(), MSGU_SCRATCH_PAD_0, ossaHwRegReadExt(), ossaHwRegWriteExt(), PHY_EVENT_OQ, sasPhyAttribute_s::phyAttribute, phyAttrb_s::phyEventOQ, SA_DBG1, SA_DBG3, SCRATCH_PAD0_BAR_MASK, SCRATCH_PAD0_OFFSET_MASK, SHIFT26, and siHalRegReadExt().
GLOBAL void saGetRequirements | ( | agsaRoot_t * | agRoot, |
agsaSwConfig_t * | swConfig, | ||
agsaMemoryRequirement_t * | memoryRequirement, | ||
bit32 * | usecsPerTick, | ||
bit32 * | maxNumLocks | ||
) |
Get the memory and lock requirement from LL layer.
Get the memory and lock requirement from LL layer
agRoot | Handles for this instance of SAS/SATA hardware |
swConfig | Pointer to the software configuration |
memoryRequirement | Point to the data structure that holds the different chunks of memory that are required |
usecsPerTick | micro-seconds per tick for the LL layer |
maxNumLocks | maximum number of locks for the LL layer |
Definition at line 74 of file sainit.c.
References agsaMemoryRequirement_s::agMemory, agNULL, AGSA_CACHED_MEM, AGSA_DMA_MEM, AGSA_MAX_INBOUND_Q, AGSA_NUM_MEM_CHUNKS, agsaMem_s::alignment, mpiMem_s::alignment, agsaMemoryRequirement_s::count, mpiMemReq_s::count, DEVICELINK_MEM_INDEX, agsaSwConfig_s::disableMDF, mpiMem_s::elementSize, HDA_DMA_BUFFER, agsaSwConfig_s::hostDirectAccessMode, agsaSwConfig_s::hostDirectAccessSupport, IOREQLINK_MEM_INDEX, agsaSwConfig_s::legacyInt_X, LL_FAST_IO, LL_FUNCTION_TRACE, LL_IOREQ_IBQ_LOCK, LL_IOREQ_IBQ_LOCK_PARM, LLROOT_MEM_INDEX, agsaSwConfig_s::max_MSI_InterruptVectors, agsaSwConfig_s::max_MSIX_InterruptVectors, agsaSwConfig_s::maxActiveIOs, mpiRequirementsGet(), NUM_TIMERS, agsaSwConfig_s::numDevHandles, agsaMem_s::numElements, mpiMem_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaSwConfig_s::param3, mpiMemReq_s::region, SA_ASSERT, SA_DBG1, SA_RESERVED_REQUEST_COUNT, SA_USECS_PER_TICK, si_memset(), siConfiguration(), agsaMem_s::singleElementLength, agsaSwConfig_s::stallUsec, TIMERLINK_MEM_INDEX, agsaMem_s::totalLength, mpiMem_s::totalLength, agsaMem_s::type, and mpiMem_s::type.
Referenced by tdsaLoLevelGetResource(), and tiCOMPortInit().
GLOBAL bit32 saInitialize | ( | agsaRoot_t * | agRoot, |
agsaMemoryRequirement_t * | memoryAllocated, | ||
agsaHwConfig_t * | hwConfig, | ||
agsaSwConfig_t * | swConfig, | ||
bit32 | usecsPerTick | ||
) |
Initialize the Hardware.
Initialize the Hardware
agRoot | Handles for this instance of SAS/SATA hardware |
memoryAllocated | Point to the data structure that holds the different chunks of memory that are required |
hwConfig | Pointer to the hardware configuration |
swConfig | Pointer to the software configuration |
usecsPerTick | micro-seconds per tick for the LL layer |
Definition at line 303 of file sainit.c.
References agFALSE, agsaMemoryRequirement_s::agMemory, agNULL, mpiOCQueue_s::agRoot, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, AGSA_RC_VERSION_UNTESTED, AGSA_REQ_TYPE_UNKNOWN, AGSAMEM_ELEMENT_READ, agTRUE, agsaMem_s::alignment, mpiMem_s::alignment, mpiMem_s::appHandle, agsaLLRoot_s::autoDeregDeviceflag, BOOTTLOADERHDA_IDLE, CHIP_FATAL_ERROR, CHIP_NORMAL, agsaLLRoot_s::ChipId, agsaLLRoot_s::chipStatus, mpiOCQueue_s::consumerIdx, agsaLLRoot_s::ControllerInfo, agsaMemoryRequirement_s::count, mpiMemReq_s::count, agsaLLRoot_s::DeviceDeregistrationCB, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, DEVICELINK_MEM_INDEX, agsaLLRoot_s::deviceLinkMem, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::DeviceRegistrationCB, agsaDeviceDesc_s::deviceType, agsaLLRoot_s::DisableInterrupts, agsaSwConfig_s::disableMDF, mpiMem_s::elementSize, agsaTimerDesc_s::Event, FALSE, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, agsaLLRoot_s::freeDevicesList, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freePorts, agsaLLRoot_s::freeReservedRequests, agsaLLRoot_s::freeTimers, gLLDebugLevel, gPollForMissingInt, HDA_CMD_CODE_OFFSET, HDA_RSP_OFFSET1MB, HDA_STATUS_BITS, agsaSwConfig_s::hostDirectAccessMode, agsaSwConfig_s::hostDirectAccessSupport, hpDBG_VERY_LOUD, agsaIORequestDesc_s::HTag, agsaLLRoot_s::hwConfig, agsaHwConfig_s::hwInterruptCoalescingControl, agsaHwConfig_s::hwInterruptCoalescingTimer, agsaDeviceDesc_s::initiatorDevHandle, agsaQueueOutbound_s::interruptCount, agsaQueueOutbound_s::interruptDelay, agsaLLRoot_s::interruptVecIndexBitMap, agsaLLRoot_s::interruptVecIndexBitMap1, agsaLLRoot_s::IoErrorCount, agsaLLRoot_s::IoEventCount, agsaLLRoot_s::IOMap, IOREQLINK_MEM_INDEX, agsaIOMap_s::IORequest, agsaLLRoot_s::IORequestMem, agsaSwConfig_s::legacyInt_X, agsaTimerDesc_s::linkNode, agsaPort_s::linkNode, agsaDeviceDesc_s::linkNode, agsaIORequestDesc_s::linkNode, agsaPort_s::listSASATADevices, LL_FAST_IO, LL_FUNCTION_TRACE, LL_IOREQ_IBQ0_LOCK, LLROOT_MEM_INDEX, MARK_OFF, MAX_ACTIVE_IO_REQUESTS, MAX_IO_DEVICE_ENTRIES, agsaSwConfig_s::max_MSI_InterruptVectors, agsaSwConfig_s::max_MSIX_InterruptVectors, MAX_NUM_VECTOR, agsaSwConfig_s::maxActiveIOs, agsaControllerInfo_s::maxPendingIO, MBIC_GSM_SM_BASE, agsaLLRoot_s::memoryAllocated, agsaLLRoot_s::minStallusecs, MPI_IBQ_OBQ_INDEX, MPI_MEM_INDEX, agsaLLRoot_s::mpiConfig, mpiInitialize(), MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, NUM_TIMERS, agsaSwConfig_s::numDevHandles, agsaMem_s::numElements, mpiMem_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, agsaContext_s::osData, agsaMem_s::osHandle, ossaDisableInterrupts(), ossaHwRegRead(), ossaHwRegReadConfig32(), ossaHwRegReadExt(), ossaHwRegWriteExt(), ossaReenableInterrupts(), agsaLLRoot_s::OurInterrupt, agsaLLRoot_s::outboundQueue, agsaQueueConfig_s::outboundQueues, agsaSwConfig_s::param3, agsaSwConfig_s::param4, PCI_TRIGGER_INIT_TEST, PCIBAR0, PCIBAR1, PCIBAR3, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaTimerDesc_s::pfnTimeout, PHY_STATUS_SET, PHY_STOPPED, agsaMem_s::phyAddrLower, agsaMem_s::phyAddrUpper, agsaHwConfig_s::phyAnalogConfig, mpiConfig_s::phyAnalogConfig, agsaHwConfig_s::phyCount, agsaLLRoot_s::phyCount, agsaPhy_s::phyId, agsaPort_s::phyMap, agsaLLRoot_s::phys, mpiMem_s::physAddrLower, mpiMem_s::physAddrUpper, agsaIORequestDesc_s::pIORequestContext, mpiOCQueue_s::piPointer, PORT_MARK_OFF, PORT_NORMAL, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaLLRoot_s::portCount, agsaPort_s::portId, agsaPortMap_s::PortID, agsaPort_s::portIdx, agsaLLRoot_s::PortMap, agsaSwConfig_s::PortRecoveryResetTimer, agsaLLRoot_s::ports, agsaPortMap_s::PortStatus, agsaTimerDesc_s::pParm, agsaPhy_s::pPort, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, agsaLLRoot_s::ReEnableInterrupts, mpiMemReq_s::region, agsaIORequestDesc_s::requestType, SA_ASSERT, SA_DBG1, SA_DBG2, SA_RESERVED_REQUEST_COUNT, saLlinkInitialize, saLlistAdd, saLlistInitialize, saLlistIOAdd, saLlistIOGetCount, saLlistIOInitialize, SAS_SATA_UNKNOWN_DEVICE, SCRATCH_PAD1_V_RAAE_MASK, SCRATCH_PAD3_V_ENC_DIS_ERR, SCRATCH_PAD3_V_ENC_ENA_ERR, SCRATCH_PAD3_V_ENC_MASK, agsaContext_s::sdkData, si_macro_check(), si_memcpy(), si_memset(), siBar4Shift(), siChipResetV(), siConfiguration(), siDisableLegacy_V_Interrupts(), siDisableLegacyInterrupts(), siDisableMSIInterrupts(), siDisableMSIX_V_Interrupts(), siDisableMSIXInterrupts(), siDumpActiveIORequests(), siEnableTracing(), agsaMem_s::singleElementLength, siOurLegacy_V_Interrupt(), siOurLegacyInterrupt(), siOurMSIInterrupt(), siOurMSIX_V_Interrupt(), siOurMSIXInterrupt(), siPCITriger(), siReenableLegacy_V_Interrupts(), siReenableLegacyInterrupts(), siReenableMSIInterrupts(), siReenableMSIX_V_Interrupts(), siReenableMSIXInterrupts(), siScratchDump(), siSoftReset(), siSpcSoftReset(), siTimerAdd(), siUpdateBarOffsetTable(), smIS64bInt, smIS_SFC, smIS_SPC(), smIS_spc8081, smIS_SPCV(), smIsCfgSpcREV_A, smIsCfgSpcREV_B, smIsCfgSpcREV_C, smIsCfgVREV_A, smIsCfgVREV_B, smIsCfgVREV_C, smTrace, smTraceFuncEnter, smTraceFuncExit, SPC_HDASOFT_RESET_SIGNATURE, SPC_ICCONTROL, SPC_ICTIMER, SPC_SOFT_RESET_SIGNATURE, SPC_V_HDA_RESPONSE_OFFSET, SPC_V_HDAR_IDLE, SPC_V_HDAR_RSPCODE_MASK, agsaSwConfig_s::stallUsec, agsaPort_s::status, agsaLLRoot_s::swConfig, agsaLLRoot_s::sysIntsActive, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, agsaTimerDesc_s::timeoutTick, TIMERLINK_MEM_INDEX, agsaLLRoot_s::timerLinkMem, agsaLLRoot_s::timeTick, agsaMem_s::totalLength, mpiMem_s::totalLength, TRUE, agsaMem_s::type, mpiMem_s::type, agsaLLRoot_s::Use64bit, agsaLLRoot_s::usecsPerTick, V_Outbound_Doorbell_Mask_Set_Register, V_Outbound_Doorbell_Mask_Set_RegisterU, V_Outbound_Doorbell_Set_Register, V_Outbound_Doorbell_Set_RegisterU, V_Scratchpad_0_Register, V_Scratchpad_1_Register, V_Scratchpad_2_Register, V_Scratchpad_3_Register, V_SoftResetRegister, agsaTimerDesc_s::valid, agsaIORequestDesc_s::valid, agsaLLRoot_s::validPorts, agsaLLRoot_s::validTimers, VEN_DEV_9015, VEN_DEV_9060, VEN_DEV_ADAPVEP, VEN_DEV_ADAPVP, VEN_DEV_HIL, VEN_DEV_SFC, VEN_DEV_SPC, VEN_DEV_SPC12ADP, VEN_DEV_SPC12ADPE, VEN_DEV_SPC12ADPEP, VEN_DEV_SPC12ADPP, VEN_DEV_SPC12SATA, VEN_DEV_SPC12V, VEN_DEV_SPC12VE, VEN_DEV_SPC12VEP, VEN_DEV_SPC12VP, VEN_DEV_SPCV, VEN_DEV_SPCVE, VEN_DEV_SPCVEP, VEN_DEV_SPCVP, agsaMem_s::virtPtr, mpiMem_s::virtPtr, WAIT_INCREMENT, and WAIT_INCREMENT_DEFAULT.
Referenced by tiCOMPortInit().
GLOBAL bit32 si_check_V_HDA | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4486 of file sainit.c.
References AGSA_RC_HDA_NO_FW_RUNNING, AGSA_RC_SUCCESS, ossaHwRegReadExt(), PCIBAR0, SA_DBG1, SPC_V_HDA_RESPONSE_OFFSET, SPC_V_HDAR_IDLE, and SPC_V_HDAR_RSPCODE_MASK.
Referenced by saGetControllerInfo(), and saGetControllerStatus().
GLOBAL bit32 si_check_V_Ready | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4505 of file sainit.c.
References AGSA_RC_FAILURE, AGSA_RC_SUCCESS, MAKE_MODULO, MSGU_SCRATCH_PAD_1, ossaHwRegReadExt(), ossaStallThread(), PCIBAR0, SA_DBG1, SCRATCH_PAD1_V_ILA_MASK, SCRATCH_PAD1_V_IOP0_MASK, SCRATCH_PAD1_V_IOP1_MASK, SCRATCH_PAD1_V_RAAE_MASK, and WAIT_INCREMENT.
Referenced by saGetControllerStatus().
void si_macro_check | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4633 of file sainit.c.
References SA_DBG1, smIS64bInt, smIS_ADAP8088, smIS_ADAP8089, smIS_HIL(), smIS_SFC, smIS_SPC(), smIS_spc8001, smIS_spc8081, smIS_SPCV(), smIS_SPCV8008, smIS_SPCV8009, smIS_SPCV8018, smIS_SPCV8019, smIS_SPCV8070, smIS_SPCV8071, smIS_SPCV8072, smIS_SPCV8073, smIS_SPCV8074, smIS_SPCV8075, smIS_SPCV8076, smIS_SPCV8077, smIS_SPCV9015, and smIS_SPCV9060.
Referenced by saInitialize().
GLOBAL bit32 siConfiguration | ( | agsaRoot_t * | agRoot, |
mpiConfig_t * | mpiConfig, | ||
agsaHwConfig_t * | hwConfig, | ||
agsaSwConfig_t * | swConfig | ||
) |
Routine to do SPC configuration with default or specified values.
Set up configuration table in LL Layer
agRoot | handles for this instance of SAS/SATA hardware |
mpiConfig | MPI Configuration |
swConfig | Pointer to the software configuration |
Definition at line 1556 of file sainit.c.
References agNULL, AGSA_MAX_INBOUND_Q, AGSA_MAX_OUTBOUND_Q, AGSA_RC_FAILURE, AGSA_RC_SUCCESS, mpiHostLLConfigDescriptor_s::custset, agsaSwConfig_s::disableMDF, agsaQueueInbound_s::elementCount, agsaQueueOutbound_s::elementCount, agsaQueueInbound_s::elementSize, agsaQueueOutbound_s::elementSize, mpiInboundQueueDescriptor_s::elementSize, mpiOutboundQueueDescriptor_s::elementSize, agsaSwConfig_s::eventLog1Option, agsaSwConfig_s::eventLog2Option, mpiHostLLConfigDescriptor_s::eventLogOption, mpiHostLLConfigDescriptor_s::eventLogSize, FATAL_ERROR_INT_BITS, mpiHostLLConfigDescriptor_s::FatalErrorInterrupt, agsaSwConfig_s::fatalErrorInterruptEnable, agsaSwConfig_s::fatalErrorInterruptVector, agsaSwConfig_s::FWConfig, agsaQueueConfig_s::generalEventQueue, hpDBG_VERY_LOUD, HW_CFG_PICI_EFFECTIVE_ADDRESS, agsaHwConfig_s::hwOption, INBOUND_DEPTH_SIZE, agsaQueueConfig_s::inboundQueues, mpiConfig_s::inboundQueues, INT_OPTION, agsaQueueOutbound_s::interruptCount, agsaQueueOutbound_s::interruptDelay, mpiOutboundQueueDescriptor_s::interruptDelay, agsaQueueOutbound_s::interruptEnable, mpiOutboundQueueDescriptor_s::interruptEnable, mpiOutboundQueueDescriptor_s::interruptThreshold, mpiOutboundQueueDescriptor_s::interruptVector, agsaQueueOutbound_s::interruptVectorIndex, agsaHwConfig_s::intReassertionOption, mpiHostLLConfigDescriptor_s::ioAbortDelay, IOMB_SIZE64, mpiHostLLConfigDescriptor_s::IOPeventLogOption, mpiHostLLConfigDescriptor_s::IOPeventLogSize, IQ_NUM_32, agsaQueueConfig_s::iqHighPriorityProcessingDepth, agsaQueueConfig_s::iqNormalPriorityProcessingDepth, mpiHostLLConfigDescriptor_s::iQNPPD_HPPD_GEvent, KBYTES, mpiHostLLConfigDescriptor_s::lowerEventLogAddress, mpiHostLLConfigDescriptor_s::lowerIOPeventLogAddress, mpiConfig_s::mainConfig, mpiConfig_s::maxNumInboundQueues, mpiConfig_s::maxNumOutboundQueues, MPI_LOGSIZE, MPI_QUEUE_NORMAL, mpiInboundQueueDescriptor_s::numElements, mpiOutboundQueueDescriptor_s::numElements, agsaQueueConfig_s::numInboundQueues, mpiConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, mpiConfig_s::numOutboundQueues, OQ_NUM_32, OUTBOUND_DEPTH_SIZE, mpiHostLLConfigDescriptor_s::outboundHWEventPID0_3, mpiHostLLConfigDescriptor_s::outboundHWEventPID4_7, mpiHostLLConfigDescriptor_s::outboundNCQEventPID0_3, mpiHostLLConfigDescriptor_s::outboundNCQEventPID4_7, agsaQueueConfig_s::outboundQueues, mpiConfig_s::outboundQueues, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetITNexusEventPID4_7, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID0_3, mpiHostLLConfigDescriptor_s::outboundTargetSSPEventPID4_7, agsaSwConfig_s::param3, agsaSwConfig_s::PortRecoveryResetTimer, mpiHostLLConfigDescriptor_s::PortRecoveryTimerPortResetTimer, agsaQueueInbound_s::priority, mpiInboundQueueDescriptor_s::priority, agsaQueueConfig_s::queueOption, mpiConfig_s::queueOption, SA_ARBTE, SA_ASSERT, SA_DBG1, SA_DBG2, SA_MDFD_MULTI_DATA_FETCH, SA_OUTBOUND_COALESCE, SA_PTNFE_POISION_TLP, agsaQueueConfig_s::sasHwEventQueue, agsaQueueConfig_s::sataNCQErrorEventQueue, agsaSwConfig_s::sgpioSupportEnable, SHIFT1, SHIFT16, SHIFT17, SHIFT2, SHIFT24, SHIFT3, SHIFT4, SHIFT5, SHIFT6, SHIFT8, si_memset(), agsaSwConfig_s::sizefEventLog1, agsaSwConfig_s::sizefEventLog2, smIS_SPCV(), smTraceFuncEnter, smTraceFuncExit, agsaQueueConfig_s::tgtDeviceRemovedEventQueue, mpiHostLLConfigDescriptor_s::upperEventLogAddress, and mpiHostLLConfigDescriptor_s::upperIOPeventLogAddress.
Referenced by saGetRequirements(), and saInitialize().
GLOBAL void siInitResources | ( | agsaRoot_t * | agRoot, |
agsaMemoryRequirement_t * | memoryAllocated, | ||
agsaHwConfig_t * | hwConfig, | ||
agsaSwConfig_t * | swConfig, | ||
bit32 | usecsPerTick | ||
) |
Definition at line 3796 of file sainit.c.
References agFALSE, agsaMemoryRequirement_s::agMemory, agNULL, AGSA_REQ_TYPE_UNKNOWN, AGSAMEM_ELEMENT_READ, agsaLLRoot_s::autoDeregDeviceflag, mpiICQueue_s::ciPointer, mpiOCQueue_s::consumerIdx, agsaLLRoot_s::DeviceDeregistrationCB, agsaDeviceMap_s::DeviceHandle, agsaDeviceMap_s::DeviceIdFromFW, DEVICELINK_MEM_INDEX, agsaLLRoot_s::deviceLinkMem, agsaLLRoot_s::DeviceMap, agsaDeviceDesc_s::DeviceMapIndex, agsaLLRoot_s::DeviceRegistrationCB, agsaDeviceDesc_s::deviceType, agsaTimerDesc_s::Event, agsaLLRoot_s::freeDevicesList, agsaLLRoot_s::freeIORequests, agsaLLRoot_s::freePorts, agsaLLRoot_s::freeReservedRequests, agsaLLRoot_s::freeTimers, agsaIORequestDesc_s::HTag, agsaLLRoot_s::inboundQueue, agsaDeviceDesc_s::initiatorDevHandle, agsaLLRoot_s::IOMap, IOREQLINK_MEM_INDEX, agsaIOMap_s::IORequest, agsaLLRoot_s::IORequestMem, agsaTimerDesc_s::linkNode, agsaPort_s::linkNode, agsaDeviceDesc_s::linkNode, agsaIORequestDesc_s::linkNode, agsaPort_s::listSASATADevices, LLROOT_MEM_INDEX, MARK_OFF, MAX_ACTIVE_IO_REQUESTS, MAX_IO_DEVICE_ENTRIES, agsaSwConfig_s::maxActiveIOs, mpiOCQueue_s::memoryRegion, mpiICQueue_s::memoryRegion, NUM_TIMERS, agsaSwConfig_s::numDevHandles, agsaMem_s::numElements, mpiOCQueue_s::numElements, mpiICQueue_s::numElements, agsaQueueConfig_s::numInboundQueues, agsaQueueConfig_s::numOutboundQueues, agsaContext_s::osData, agsaLLRoot_s::outboundQueue, agsaIORequestDesc_s::pDevice, agsaDeviceDesc_s::pendingIORequests, agsaTimerDesc_s::pfnTimeout, PHY_STATUS_SET, PHY_STOPPED, agsaMem_s::phyAddrLower, agsaHwConfig_s::phyCount, agsaLLRoot_s::phyCount, agsaPhy_s::phyId, agsaPort_s::phyMap, agsaLLRoot_s::phys, agsaIORequestDesc_s::pIORequestContext, mpiOCQueue_s::piPointer, PORT_MARK_OFF, PORT_NORMAL, agsaPort_s::portContext, agsaPortMap_s::PortContext, agsaLLRoot_s::portCount, agsaPort_s::portId, agsaPortMap_s::PortID, agsaPort_s::portIdx, agsaLLRoot_s::PortMap, agsaLLRoot_s::ports, agsaPortMap_s::PortStatus, agsaTimerDesc_s::pParm, agsaPhy_s::pPort, agsaDeviceDesc_s::pPort, agsaIORequestDesc_s::pPort, mpiOCQueue_s::producerIdx, agsaLLRoot_s::QueueConfig, agsaIORequestDesc_s::requestType, SA_DBG2, SA_DBG3, SA_RESERVED_REQUEST_COUNT, saLlinkInitialize, saLlinkIOInitialize, saLlistAdd, saLlistInitialize, saLlistIOAdd, saLlistIOGetCount, saLlistIOInitialize, SAS_SATA_UNKNOWN_DEVICE, agsaContext_s::sdkData, si_memset(), agsaPort_s::status, agsaLLRoot_s::sysIntsActive, agsaIOMap_s::Tag, agsaDeviceDesc_s::targetDevHandle, agsaTimerDesc_s::timeoutTick, TIMERLINK_MEM_INDEX, agsaLLRoot_s::timerLinkMem, agsaLLRoot_s::timeTick, agsaMem_s::totalLength, mpiMem_s::totalLength, agsaMem_s::type, agsaLLRoot_s::usecsPerTick, agsaTimerDesc_s::valid, agsaIORequestDesc_s::valid, agsaLLRoot_s::validPorts, agsaLLRoot_s::validTimers, agsaMem_s::virtPtr, and mpiMem_s::virtPtr.
Referenced by saHwReset(), and saHwShutdown().
GLOBAL bit32 siScratchDump | ( | agsaRoot_t * | agRoot | ) |
Definition at line 4574 of file sainit.c.
References MSGU_SCRATCH_PAD_0, MSGU_SCRATCH_PAD_1, MSGU_SCRATCH_PAD_2, MSGU_SCRATCH_PAD_3, ossaHwRegReadExt(), PCIBAR0, SA_DBG1, SCRATCH_PAD1_V_BOOTSTATE_MASK, SCRATCH_PAD1_V_ILA_MASK, SCRATCH_PAD1_V_IOP0_MASK, SCRATCH_PAD1_V_IOP1_MASK, SCRATCH_PAD1_V_RAAE_MASK, SCRATCH_PAD1_V_READY, and SCRATCH_PAD1_V_RESERVED.
Referenced by saHwShutdown(), and saInitialize().
bit32 gLLDebugLevel = 3 |
Definition at line 40 of file sainit.c.
Referenced by ossaLogDebugString(), and saInitialize().
bit32 gPollForMissingInt |
Definition at line 48 of file sainit.c.
Referenced by saInitialize().
|
extern |
Definition at line 55 of file sahw.c.
Referenced by mpiInitialize(), mpiUnInitConfigTable(), and mpiWaitForConfigTable().