⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ixparityenaccmain.c

📁 有关ARM开发板上的IXP400网络驱动程序的源码以。
💻 C
📖 第 1 页 / 共 5 页
字号:
            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 + -