📄 ixparityenaccmain.c
字号:
IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "SWCP Configuration failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ /* * Change in configuration of AQM? */ if (hwParityConfig->aqmEnabled != ixParityENAccParityConfigStatus.aqmEnabled) { ixAqmPDCfg = hwParityConfig->aqmEnabled; if (IX_SUCCESS == ixParityENAccAqmPEDetectionConfigure(ixAqmPDCfg)) { ixParityENAccParityConfigStatus.aqmEnabled = hwParityConfig->aqmEnabled; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "SWCP Configuration failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ /* * Change in the configuration of PCI Bus Controller * * Send the configuration request only when * a) previously both Initiator and Target interfaces are both disabled * and now both or one of them is to be enabled * b) previously both Initiator and Target interfaces are both enabled * and now both of them to be disabled * c) previously one of them enabled and same is to be disabled */ ixPbcPrevInitTgtDisableCurrInitOrTgtEnable = (((ixParityENAccParityConfigStatus.pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_DISABLE) && (ixParityENAccParityConfigStatus.pbcConfig.pbcTargetEnabled == IX_PARITYENACC_DISABLE)) && ((hwParityConfig->pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_ENABLE) || (hwParityConfig->pbcConfig.pbcTargetEnabled == IX_PARITYENACC_ENABLE))); ixPbcPrevInitTgtEnableCurrInitAndTgtDisable = (((ixParityENAccParityConfigStatus.pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_ENABLE) && (ixParityENAccParityConfigStatus.pbcConfig.pbcTargetEnabled == IX_PARITYENACC_ENABLE)) && ((hwParityConfig->pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_DISABLE) && (hwParityConfig->pbcConfig.pbcTargetEnabled == IX_PARITYENACC_DISABLE))); ixPbcPrevInitEnableCurrInitDisable = (((ixParityENAccParityConfigStatus.pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_ENABLE) && (ixParityENAccParityConfigStatus.pbcConfig.pbcTargetEnabled == IX_PARITYENACC_DISABLE)) && ((hwParityConfig->pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_DISABLE) && (hwParityConfig->pbcConfig.pbcTargetEnabled == IX_PARITYENACC_DISABLE))); ixPbcPrevTgtEnableCurrTgtDisable = (((ixParityENAccParityConfigStatus.pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_DISABLE) && (ixParityENAccParityConfigStatus.pbcConfig.pbcTargetEnabled == IX_PARITYENACC_ENABLE)) && ((hwParityConfig->pbcConfig.pbcInitiatorEnabled == IX_PARITYENACC_DISABLE) && (hwParityConfig->pbcConfig.pbcTargetEnabled == IX_PARITYENACC_DISABLE))); if (FALSE == IXP400_PARITYENACC_VAL_BIT_CHECK(ixParityENAccFusedModules, IXP400_PARITYENACC_FUSED_MODULE_PBC)) { if ((TRUE == ixPbcPrevInitTgtEnableCurrInitAndTgtDisable) || (TRUE == ixPbcPrevInitEnableCurrInitDisable) || (TRUE == ixPbcPrevTgtEnableCurrTgtDisable) || (TRUE == ixPbcPrevInitTgtDisableCurrInitOrTgtEnable)) { IxParityENAccPEConfigOption pbcConfigOption = (TRUE == ixPbcPrevInitTgtDisableCurrInitOrTgtEnable) ? IXP400_PARITYENACC_PE_ENABLE : IXP400_PARITYENACC_PE_DISABLE; if (IX_SUCCESS == ixParityENAccPbcPEDetectionConfigure(pbcConfigOption)) { ixParityENAccParityConfigStatus.pbcConfig.pbcInitiatorEnabled = hwParityConfig->pbcConfig.pbcInitiatorEnabled; ixParityENAccParityConfigStatus.pbcConfig.pbcTargetEnabled = hwParityConfig->pbcConfig.pbcTargetEnabled; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_USER, IX_OSAL_LOG_DEV_STDOUT, "ixParityENAccParityDetectionConfigure(): " "PBC Configuration failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* No need to send the configuration request but update required */ else { ixParityENAccParityConfigStatus.pbcConfig.pbcInitiatorEnabled = hwParityConfig->pbcConfig.pbcInitiatorEnabled; ixParityENAccParityConfigStatus.pbcConfig.pbcTargetEnabled = hwParityConfig->pbcConfig.pbcTargetEnabled; } /* end of if */ } /* end of if */ /* * Change in the configuration of Expansion Bus Controller */ if ((hwParityConfig->ebcConfig.ebcCs0Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs0Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (ixParityENAccParityConfigStatus.ebcConfig.ebcCs0Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs0Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL0; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs0Enabled = hwParityConfig->ebcConfig.ebcCs0Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "EBC Configuration of CS0 failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ if ((hwParityConfig->ebcConfig.ebcCs1Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs1Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (hwParityConfig->ebcConfig.ebcCs1Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs1Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL1; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs1Enabled = hwParityConfig->ebcConfig.ebcCs1Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "EBC Configuration of CS1 failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ if ((hwParityConfig->ebcConfig.ebcCs2Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs2Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (hwParityConfig->ebcConfig.ebcCs2Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs2Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL2; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs2Enabled = hwParityConfig->ebcConfig.ebcCs2Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "EBC Configuration of CS2 failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ if ((hwParityConfig->ebcConfig.ebcCs3Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs3Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (hwParityConfig->ebcConfig.ebcCs3Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs3Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL3; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs3Enabled = hwParityConfig->ebcConfig.ebcCs3Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "EBC Configuration of CS3 failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ if ((hwParityConfig->ebcConfig.ebcCs4Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs4Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (hwParityConfig->ebcConfig.ebcCs4Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs4Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL4; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs4Enabled = hwParityConfig->ebcConfig.ebcCs4Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "EBC Configuration of CS4 failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ if ((hwParityConfig->ebcConfig.ebcCs5Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs5Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (hwParityConfig->ebcConfig.ebcCs5Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs5Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL5; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs5Enabled = hwParityConfig->ebcConfig.ebcCs5Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR, "ixParityENAccParityDetectionConfigure(): " "EBC Configuration of CS5 failed\n",0,0,0,0,0,0); ixReturnStatus = IX_FAIL; } /* end of if */#endif /* end of #ifndef NDEBUG */ } /* end of if */ if ((hwParityConfig->ebcConfig.ebcCs6Enabled != ixParityENAccParityConfigStatus.ebcConfig.ebcCs6Enabled) || ((hwParityConfig->ebcConfig.parityOddEven != ixParityENAccParityConfigStatus.ebcConfig.parityOddEven) && (hwParityConfig->ebcConfig.ebcCs6Enabled == IX_PARITYENACC_ENABLE))) { ixEbcPDCfg.ebcCsExtSource = IXP400_PARITYENACC_PE_EBC_CS; ixEbcPDCfg.ebcInOrOutbound.ebcCsEnabled = hwParityConfig->ebcConfig.ebcCs6Enabled; ixEbcPDCfg.ebcCsId = IXP400_PARITYENACC_PE_EBC_CHIPSEL6; ixEbcPDCfg.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; if (IX_SUCCESS == ixParityENAccEbcPEDetectionConfigure(ixEbcPDCfg)) { ixParityENAccParityConfigStatus.ebcConfig.ebcCs6Enabled = hwParityConfig->ebcConfig.ebcCs6Enabled; ixParityENAccParityConfigStatus.ebcConfig.parityOddEven = hwParityConfig->ebcConfig.parityOddEven; } /* else/end of if */#ifndef NDEBUG else { IXP400_PARITYENACC_MSGLOG(IX_OSAL_LOG_LVL_ERROR, IX_OSAL_LOG_DEV_STDERR,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -