Loading drivers/staging/bcm/hostmibs.c +49 −58 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ * * Abstract: This file contains the routines to copy the statistics used by * the driver to the Host MIBS structure and giving the same to Application. * */ #include "headers.h" Loading @@ -20,31 +19,28 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi UINT nClassifierIndex = 0, nPhsTableIndex = 0, nSfIndex = 0, uiIndex = 0; if(pDeviceExtension == NULL) { if (pDeviceExtension == NULL) { BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, HOST_MIBS, DBG_LVL_ALL, "Invalid Device Extension\n"); return STATUS_FAILURE; } /* Copy the classifier Table */ for(nClassifierIndex=0; nClassifierIndex < MAX_CLASSIFIERS; nClassifierIndex++) { for (nClassifierIndex = 0; nClassifierIndex < MAX_CLASSIFIERS; nClassifierIndex++) { if (Adapter->astClassifierTable[nClassifierIndex].bUsed == TRUE) memcpy((PVOID)&pstHostMibs->astClassifierTable[nClassifierIndex], (PVOID)&Adapter->astClassifierTable[nClassifierIndex], memcpy((PVOID) & pstHostMibs-> astClassifierTable[nClassifierIndex], (PVOID) & Adapter-> astClassifierTable[nClassifierIndex], sizeof(S_MIBS_CLASSIFIER_RULE)); } /* Copy the SF Table */ for(nSfIndex=0; nSfIndex < NO_OF_QUEUES ; nSfIndex++) { if(Adapter->PackInfo[nSfIndex].bValid) { memcpy((PVOID)&pstHostMibs->astSFtable[nSfIndex],(PVOID)&Adapter->PackInfo[nSfIndex],sizeof(S_MIBS_SERVICEFLOW_TABLE)); } else { for (nSfIndex = 0; nSfIndex < NO_OF_QUEUES; nSfIndex++) { if (Adapter->PackInfo[nSfIndex].bValid) { memcpy((PVOID) & pstHostMibs->astSFtable[nSfIndex], (PVOID) & Adapter->PackInfo[nSfIndex], sizeof(S_MIBS_SERVICEFLOW_TABLE)); } else { /* If index in not valid, * don't process this for the PHS table. * Go For the next entry. Loading @@ -53,29 +49,28 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi } /* Retrieve the SFID Entry Index for requested Service Flow */ if(PHS_INVALID_TABLE_INDEX == GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, Adapter->PackInfo[nSfIndex].usVCID_Value ,&pstServiceFlowEntry)) { if (PHS_INVALID_TABLE_INDEX == GetServiceFlowEntry(pDeviceExtension-> pstServiceFlowPhsRulesTable, Adapter->PackInfo[nSfIndex]. usVCID_Value, &pstServiceFlowEntry)) continue; } pstClassifierTable = pstServiceFlowEntry->pstClassifierTable; for(uiIndex = 0; uiIndex < MAX_PHSRULE_PER_SF; uiIndex++) { for (uiIndex = 0; uiIndex < MAX_PHSRULE_PER_SF; uiIndex++) { pstClassifierRule = &pstClassifierTable->stActivePhsRulesList[uiIndex]; if(pstClassifierRule->bUsed) { if (pstClassifierRule->bUsed) { pstPhsRule = pstClassifierRule->pstPhsRule; pstHostMibs->astPhsRulesTable[nPhsTableIndex].ulSFID = Adapter->PackInfo[nSfIndex].ulSFID; pstHostMibs->astPhsRulesTable[nPhsTableIndex]. ulSFID = Adapter->PackInfo[nSfIndex].ulSFID; memcpy(&pstHostMibs->astPhsRulesTable[nPhsTableIndex].u8PHSI, &pstPhsRule->u8PHSI, sizeof(S_PHS_RULE)); memcpy(&pstHostMibs-> astPhsRulesTable[nPhsTableIndex].u8PHSI, &pstPhsRule->u8PHSI, sizeof(S_PHS_RULE)); nPhsTableIndex++; } Loading @@ -84,12 +79,10 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi } /* Copy other Host Statistics parameters */ pstHostMibs->stHostInfo.GoodTransmits = Adapter->dev->stats.tx_packets; pstHostMibs->stHostInfo.GoodReceives = Adapter->dev->stats.rx_packets; pstHostMibs->stHostInfo.CurrNumFreeDesc = atomic_read(&Adapter->CurrNumFreeTxDesc); pstHostMibs->stHostInfo.CurrNumFreeDesc = atomic_read(&Adapter->CurrNumFreeTxDesc); pstHostMibs->stHostInfo.BEBucketSize = Adapter->BEBucketSize; pstHostMibs->stHostInfo.rtPSBucketSize = Adapter->rtPSBucketSize; pstHostMibs->stHostInfo.TimerActive = Adapter->TimerActive; Loading @@ -101,16 +94,14 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi return STATUS_SUCCESS; } VOID GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *pstHostMibs, const PPER_TARANG_DATA pTarang) { memcpy(&(pstHostMibs->stDroppedAppCntrlMsgs), &(pTarang->stDroppedAppCntrlMsgs),sizeof(S_MIBS_DROPPED_APP_CNTRL_MESSAGES)); &(pTarang->stDroppedAppCntrlMsgs), sizeof(S_MIBS_DROPPED_APP_CNTRL_MESSAGES)); } VOID CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter, CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex) VOID CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter, CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex) { Adapter->PackInfo[uiSearchRuleIndex].stMibsExtServiceFlowTable.wmanIfSfid = psfLocalSet->u32SFID; Adapter->PackInfo[uiSearchRuleIndex].stMibsExtServiceFlowTable.wmanIfCmnCpsMaxSustainedRate = psfLocalSet->u32MaxSustainedTrafficRate; Loading Loading
drivers/staging/bcm/hostmibs.c +49 −58 Original line number Diff line number Diff line Loading @@ -5,7 +5,6 @@ * * Abstract: This file contains the routines to copy the statistics used by * the driver to the Host MIBS structure and giving the same to Application. * */ #include "headers.h" Loading @@ -20,31 +19,28 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi UINT nClassifierIndex = 0, nPhsTableIndex = 0, nSfIndex = 0, uiIndex = 0; if(pDeviceExtension == NULL) { if (pDeviceExtension == NULL) { BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, HOST_MIBS, DBG_LVL_ALL, "Invalid Device Extension\n"); return STATUS_FAILURE; } /* Copy the classifier Table */ for(nClassifierIndex=0; nClassifierIndex < MAX_CLASSIFIERS; nClassifierIndex++) { for (nClassifierIndex = 0; nClassifierIndex < MAX_CLASSIFIERS; nClassifierIndex++) { if (Adapter->astClassifierTable[nClassifierIndex].bUsed == TRUE) memcpy((PVOID)&pstHostMibs->astClassifierTable[nClassifierIndex], (PVOID)&Adapter->astClassifierTable[nClassifierIndex], memcpy((PVOID) & pstHostMibs-> astClassifierTable[nClassifierIndex], (PVOID) & Adapter-> astClassifierTable[nClassifierIndex], sizeof(S_MIBS_CLASSIFIER_RULE)); } /* Copy the SF Table */ for(nSfIndex=0; nSfIndex < NO_OF_QUEUES ; nSfIndex++) { if(Adapter->PackInfo[nSfIndex].bValid) { memcpy((PVOID)&pstHostMibs->astSFtable[nSfIndex],(PVOID)&Adapter->PackInfo[nSfIndex],sizeof(S_MIBS_SERVICEFLOW_TABLE)); } else { for (nSfIndex = 0; nSfIndex < NO_OF_QUEUES; nSfIndex++) { if (Adapter->PackInfo[nSfIndex].bValid) { memcpy((PVOID) & pstHostMibs->astSFtable[nSfIndex], (PVOID) & Adapter->PackInfo[nSfIndex], sizeof(S_MIBS_SERVICEFLOW_TABLE)); } else { /* If index in not valid, * don't process this for the PHS table. * Go For the next entry. Loading @@ -53,29 +49,28 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi } /* Retrieve the SFID Entry Index for requested Service Flow */ if(PHS_INVALID_TABLE_INDEX == GetServiceFlowEntry(pDeviceExtension->pstServiceFlowPhsRulesTable, Adapter->PackInfo[nSfIndex].usVCID_Value ,&pstServiceFlowEntry)) { if (PHS_INVALID_TABLE_INDEX == GetServiceFlowEntry(pDeviceExtension-> pstServiceFlowPhsRulesTable, Adapter->PackInfo[nSfIndex]. usVCID_Value, &pstServiceFlowEntry)) continue; } pstClassifierTable = pstServiceFlowEntry->pstClassifierTable; for(uiIndex = 0; uiIndex < MAX_PHSRULE_PER_SF; uiIndex++) { for (uiIndex = 0; uiIndex < MAX_PHSRULE_PER_SF; uiIndex++) { pstClassifierRule = &pstClassifierTable->stActivePhsRulesList[uiIndex]; if(pstClassifierRule->bUsed) { if (pstClassifierRule->bUsed) { pstPhsRule = pstClassifierRule->pstPhsRule; pstHostMibs->astPhsRulesTable[nPhsTableIndex].ulSFID = Adapter->PackInfo[nSfIndex].ulSFID; pstHostMibs->astPhsRulesTable[nPhsTableIndex]. ulSFID = Adapter->PackInfo[nSfIndex].ulSFID; memcpy(&pstHostMibs->astPhsRulesTable[nPhsTableIndex].u8PHSI, &pstPhsRule->u8PHSI, sizeof(S_PHS_RULE)); memcpy(&pstHostMibs-> astPhsRulesTable[nPhsTableIndex].u8PHSI, &pstPhsRule->u8PHSI, sizeof(S_PHS_RULE)); nPhsTableIndex++; } Loading @@ -84,12 +79,10 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi } /* Copy other Host Statistics parameters */ pstHostMibs->stHostInfo.GoodTransmits = Adapter->dev->stats.tx_packets; pstHostMibs->stHostInfo.GoodReceives = Adapter->dev->stats.rx_packets; pstHostMibs->stHostInfo.CurrNumFreeDesc = atomic_read(&Adapter->CurrNumFreeTxDesc); pstHostMibs->stHostInfo.CurrNumFreeDesc = atomic_read(&Adapter->CurrNumFreeTxDesc); pstHostMibs->stHostInfo.BEBucketSize = Adapter->BEBucketSize; pstHostMibs->stHostInfo.rtPSBucketSize = Adapter->rtPSBucketSize; pstHostMibs->stHostInfo.TimerActive = Adapter->TimerActive; Loading @@ -101,16 +94,14 @@ INT ProcessGetHostMibs(PMINI_ADAPTER Adapter, S_MIBS_HOST_STATS_MIBS *pstHostMi return STATUS_SUCCESS; } VOID GetDroppedAppCntrlPktMibs(S_MIBS_HOST_STATS_MIBS *pstHostMibs, const PPER_TARANG_DATA pTarang) { memcpy(&(pstHostMibs->stDroppedAppCntrlMsgs), &(pTarang->stDroppedAppCntrlMsgs),sizeof(S_MIBS_DROPPED_APP_CNTRL_MESSAGES)); &(pTarang->stDroppedAppCntrlMsgs), sizeof(S_MIBS_DROPPED_APP_CNTRL_MESSAGES)); } VOID CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter, CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex) VOID CopyMIBSExtendedSFParameters(PMINI_ADAPTER Adapter, CServiceFlowParamSI *psfLocalSet, UINT uiSearchRuleIndex) { Adapter->PackInfo[uiSearchRuleIndex].stMibsExtServiceFlowTable.wmanIfSfid = psfLocalSet->u32SFID; Adapter->PackInfo[uiSearchRuleIndex].stMibsExtServiceFlowTable.wmanIfCmnCpsMaxSustainedRate = psfLocalSet->u32MaxSustainedTrafficRate; Loading