Lines Matching refs:pUM

570     um_device_t * pUM    = (um_device_t *)kstats->ks_private;
571 lm_device_t * pLM = (lm_device_t *)pUM;
579 BNXE_LOCK_ENTER_STATS(pUM);
581 snprintf(buf, sizeof(buf), "%p", (void *)pUM);
587 strncpy(pStats->version.value.c, pUM->version, sizeof(pStats->version.value.c));
588 strncpy(pStats->versionFW.value.c, pUM->versionFW, sizeof(pStats->versionFW.value.c));
589 strncpy(pStats->versionBC.value.c, pUM->versionBC, sizeof(pStats->versionBC.value.c));
591 strncpy(pStats->chipName.value.c, pUM->chipName, sizeof(pStats->chipName.value.c));
592 strncpy(pStats->chipID.value.c, pUM->chipID, sizeof(pStats->chipID.value.c));
594 strncpy(pStats->devBDF.value.c, pUM->bus_dev_func, sizeof(pStats->devBDF.value.c));
595 strncpy(pStats->devID.value.c, pUM->vendor_device, sizeof(pStats->devID.value.c));
598 ((pUM->lm_dev.params.mf_mode == SINGLE_FUNCTION) ? "Single" :
599 (pUM->lm_dev.params.mf_mode == MULTI_FUNCTION_SD) ? "MF-SD" :
600 (pUM->lm_dev.params.mf_mode == MULTI_FUNCTION_SI) ? "MF-SI" :
601 (pUM->lm_dev.params.mf_mode == MULTI_FUNCTION_AFEX) ? "MF-AFEX" :
604 pStats->multiFunctionVnics.value.ui64 = IS_MULTI_VNIC(&pUM->lm_dev) ? pLM->params.vnics_per_port : 0;
611 pStats->hwInitDone.value.ui64 = pUM->hwInitDone;
613 snprintf(pStats->clientsHw.value.c, 16, BnxeClientsHw(pUM));
614 snprintf(pStats->clientsDevi.value.c, 16, BnxeClientsDevi(pUM));
615 snprintf(pStats->clientsBound.value.c, 16, BnxeClientsBound(pUM));
617 pStats->txMsgPullUp.value.ui64 = pUM->txMsgPullUp;
619 strncpy(pStats->intrAlloc.value.c, pUM->intrAlloc, sizeof(pStats->intrAlloc.value.c));
620 pStats->intrFired.value.ui64 = pUM->intrFired;
628 pStats->workQueueInstCnt.value.ui64 = s_list_entry_cnt(&pUM->workqs.instq.workQueue);
629 pStats->workItemInstQueued.value.ui64 = pUM->workqs.instq.workItemQueued;
630 pStats->workItemInstError.value.ui64 = pUM->workqs.instq.workItemError;
631 pStats->workItemInstComplete.value.ui64 = pUM->workqs.instq.workItemComplete;
632 pStats->workItemInstHighWater.value.ui64 = pUM->workqs.instq.highWater;
634 pStats->workQueueDelayCnt.value.ui64 = s_list_entry_cnt(&pUM->workqs.delayq.workQueue);
635 pStats->workItemDelayQueued.value.ui64 = pUM->workqs.delayq.workItemQueued;
636 pStats->workItemDelayError.value.ui64 = pUM->workqs.delayq.workItemError;
637 pStats->workItemDelayComplete.value.ui64 = pUM->workqs.delayq.workItemComplete;
638 pStats->workItemDelayHighWater.value.ui64 = pUM->workqs.delayq.highWater;
640 pStats->memAllocBlocks.value.ui64 = d_list_entry_cnt(&pUM->memBlockList);
641 pStats->memAllocDMAs.value.ui64 = d_list_entry_cnt(&pUM->memDmaList);
642 pStats->memAllocBARs.value.ui64 = d_list_entry_cnt(&pUM->memRegionList);
644 BNXE_LOCK_EXIT_STATS(pUM);
654 um_device_t * pUM = (um_device_t *)kstats->ks_private;
655 lm_device_t * pLM = (lm_device_t *)pUM;
662 BNXE_LOCK_ENTER_STATS(pUM);
664 snprintf(pStats->clients.value.c, 16, BnxeClientsBound(pUM));
665 pStats->uptime.value.ui64 = (pUM->props.link_speed) ?
666 (ddi_get_time() - pUM->props.uptime) : 0;
667 pStats->mtuL2.value.ui64 = pUM->lm_dev.params.mtu[LM_CLI_IDX_NDIS];
668 pStats->mtuFCOE.value.ui64 = (BNXE_FCOE(pUM)) ?
669 pUM->lm_dev.params.mtu[LM_CLI_IDX_FCOE] :
671 pStats->speed.value.ui64 = pUM->props.link_speed;
672 pStats->link.value.ui64 = (!pUM->props.link_speed) ? 0 : 1;
673 pStats->duplex.value.ui64 = pUM->props.link_duplex;
674 pStats->pauseRx.value.ui64 = pUM->props.link_rxpause;
675 pStats->pauseTx.value.ui64 = pUM->props.link_txpause;
677 BNXE_LOCK_EXIT_STATS(pUM);
687 um_device_t * pUM = (um_device_t *)kstats->ks_private;
688 lm_device_t * pLM = (lm_device_t *)pUM;
695 BNXE_LOCK_ENTER_STATS(pUM);
697 strncpy(pStats->intrAlloc.value.c, pUM->intrAlloc, sizeof(pStats->intrAlloc.value.c));
698 pStats->intrFired.value.ui64 = pUM->intrFired;
702 pStats->sb_00.value.ui64 = pUM->intrSbCnt[0];
703 pStats->sb_01.value.ui64 = pUM->intrSbCnt[1];
704 pStats->sb_02.value.ui64 = pUM->intrSbCnt[2];
705 pStats->sb_03.value.ui64 = pUM->intrSbCnt[3];
706 pStats->sb_04.value.ui64 = pUM->intrSbCnt[4];
707 pStats->sb_05.value.ui64 = pUM->intrSbCnt[5];
708 pStats->sb_06.value.ui64 = pUM->intrSbCnt[6];
709 pStats->sb_07.value.ui64 = pUM->intrSbCnt[7];
710 pStats->sb_08.value.ui64 = pUM->intrSbCnt[8];
711 pStats->sb_09.value.ui64 = pUM->intrSbCnt[9];
712 pStats->sb_10.value.ui64 = pUM->intrSbCnt[10];
713 pStats->sb_11.value.ui64 = pUM->intrSbCnt[11];
714 pStats->sb_12.value.ui64 = pUM->intrSbCnt[12];
715 pStats->sb_13.value.ui64 = pUM->intrSbCnt[13];
716 pStats->sb_14.value.ui64 = pUM->intrSbCnt[14];
717 pStats->sb_15.value.ui64 = pUM->intrSbCnt[15];
718 pStats->sb_16.value.ui64 = pUM->intrSbCnt[16];
719 pStats->sb_nc_00.value.ui64 = pUM->intrSbNoChangeCnt[0];
720 pStats->sb_nc_01.value.ui64 = pUM->intrSbNoChangeCnt[1];
721 pStats->sb_nc_02.value.ui64 = pUM->intrSbNoChangeCnt[2];
722 pStats->sb_nc_03.value.ui64 = pUM->intrSbNoChangeCnt[3];
723 pStats->sb_nc_04.value.ui64 = pUM->intrSbNoChangeCnt[4];
724 pStats->sb_nc_05.value.ui64 = pUM->intrSbNoChangeCnt[5];
725 pStats->sb_nc_06.value.ui64 = pUM->intrSbNoChangeCnt[6];
726 pStats->sb_nc_07.value.ui64 = pUM->intrSbNoChangeCnt[7];
727 pStats->sb_nc_08.value.ui64 = pUM->intrSbNoChangeCnt[8];
728 pStats->sb_nc_09.value.ui64 = pUM->intrSbNoChangeCnt[9];
729 pStats->sb_nc_10.value.ui64 = pUM->intrSbNoChangeCnt[10];
730 pStats->sb_nc_11.value.ui64 = pUM->intrSbNoChangeCnt[11];
731 pStats->sb_nc_12.value.ui64 = pUM->intrSbNoChangeCnt[12];
732 pStats->sb_nc_13.value.ui64 = pUM->intrSbNoChangeCnt[13];
733 pStats->sb_nc_14.value.ui64 = pUM->intrSbNoChangeCnt[14];
734 pStats->sb_nc_15.value.ui64 = pUM->intrSbNoChangeCnt[15];
735 pStats->sb_nc_16.value.ui64 = pUM->intrSbNoChangeCnt[16];
736 pStats->sb_poll_00.value.ui64 = pUM->intrSbPollCnt[0];
737 pStats->sb_poll_01.value.ui64 = pUM->intrSbPollCnt[1];
738 pStats->sb_poll_02.value.ui64 = pUM->intrSbPollCnt[2];
739 pStats->sb_poll_03.value.ui64 = pUM->intrSbPollCnt[3];
740 pStats->sb_poll_04.value.ui64 = pUM->intrSbPollCnt[4];
741 pStats->sb_poll_05.value.ui64 = pUM->intrSbPollCnt[5];
742 pStats->sb_poll_06.value.ui64 = pUM->intrSbPollCnt[6];
743 pStats->sb_poll_07.value.ui64 = pUM->intrSbPollCnt[7];
744 pStats->sb_poll_08.value.ui64 = pUM->intrSbPollCnt[8];
745 pStats->sb_poll_09.value.ui64 = pUM->intrSbPollCnt[9];
746 pStats->sb_poll_10.value.ui64 = pUM->intrSbPollCnt[10];
747 pStats->sb_poll_11.value.ui64 = pUM->intrSbPollCnt[11];
748 pStats->sb_poll_12.value.ui64 = pUM->intrSbPollCnt[12];
749 pStats->sb_poll_13.value.ui64 = pUM->intrSbPollCnt[13];
750 pStats->sb_poll_14.value.ui64 = pUM->intrSbPollCnt[14];
751 pStats->sb_poll_15.value.ui64 = pUM->intrSbPollCnt[15];
752 pStats->sb_poll_16.value.ui64 = pUM->intrSbPollCnt[16];
753 pStats->sb_poll_nc_00.value.ui64 = pUM->intrSbPollNoChangeCnt[0];
754 pStats->sb_poll_nc_01.value.ui64 = pUM->intrSbPollNoChangeCnt[1];
755 pStats->sb_poll_nc_02.value.ui64 = pUM->intrSbPollNoChangeCnt[2];
756 pStats->sb_poll_nc_03.value.ui64 = pUM->intrSbPollNoChangeCnt[3];
757 pStats->sb_poll_nc_04.value.ui64 = pUM->intrSbPollNoChangeCnt[4];
758 pStats->sb_poll_nc_05.value.ui64 = pUM->intrSbPollNoChangeCnt[5];
759 pStats->sb_poll_nc_06.value.ui64 = pUM->intrSbPollNoChangeCnt[6];
760 pStats->sb_poll_nc_07.value.ui64 = pUM->intrSbPollNoChangeCnt[7];
761 pStats->sb_poll_nc_08.value.ui64 = pUM->intrSbPollNoChangeCnt[8];
762 pStats->sb_poll_nc_09.value.ui64 = pUM->intrSbPollNoChangeCnt[9];
763 pStats->sb_poll_nc_10.value.ui64 = pUM->intrSbPollNoChangeCnt[10];
764 pStats->sb_poll_nc_11.value.ui64 = pUM->intrSbPollNoChangeCnt[11];
765 pStats->sb_poll_nc_12.value.ui64 = pUM->intrSbPollNoChangeCnt[12];
766 pStats->sb_poll_nc_13.value.ui64 = pUM->intrSbPollNoChangeCnt[13];
767 pStats->sb_poll_nc_14.value.ui64 = pUM->intrSbPollNoChangeCnt[14];
768 pStats->sb_poll_nc_15.value.ui64 = pUM->intrSbPollNoChangeCnt[15];
769 pStats->sb_poll_nc_16.value.ui64 = pUM->intrSbPollNoChangeCnt[16];
771 BNXE_LOCK_EXIT_STATS(pUM);
781 um_device_t * pUM = (um_device_t *)kstats->ks_private;
782 lm_device_t * pLM = (lm_device_t *)pUM;
790 BNXE_LOCK_ENTER_STATS(pUM);
864 BNXE_LOCK_EXIT_STATS(pUM);
874 um_device_t * pUM = (um_device_t *)kstats->ks_private;
875 lm_device_t * pLM = (lm_device_t *)pUM;
883 BNXE_LOCK_ENTER_STATS(pUM);
897 BNXE_LOCK_EXIT_STATS(pUM);
907 um_device_t * pUM = (um_device_t *)kstats->ks_private;
908 lm_device_t * pLM = (lm_device_t *)pUM;
915 BNXE_LOCK_ENTER_STATS(pUM);
953 BNXE_LOCK_EXIT_STATS(pUM);
963 um_device_t * pUM = (um_device_t *)kstats->ks_private;
964 lm_device_t * pLM = (lm_device_t *)pUM;
972 BNXE_LOCK_ENTER_STATS(pUM);
974 if (pUM->fcoe.pDev)
976 snprintf(buf, sizeof(buf), "%p", (void *)pUM->fcoe.pDev);
983 ddi_get_instance(pUM->fcoe.pDev));
985 if ((pUM->fcoe.wwn.fcp_pwwn[0] == 0) &&
986 (pUM->fcoe.wwn.fcp_pwwn[1] == 0) &&
987 (pUM->fcoe.wwn.fcp_pwwn[2] == 0) &&
988 (pUM->fcoe.wwn.fcp_pwwn[3] == 0) &&
989 (pUM->fcoe.wwn.fcp_pwwn[4] == 0) &&
990 (pUM->fcoe.wwn.fcp_pwwn[5] == 0) &&
991 (pUM->fcoe.wwn.fcp_pwwn[6] == 0) &&
992 (pUM->fcoe.wwn.fcp_pwwn[7] == 0))
1006 pUM->fcoe.wwn.fcp_pwwn[0],
1007 pUM->fcoe.wwn.fcp_pwwn[1],
1008 pUM->fcoe.wwn.fcp_pwwn[2],
1009 pUM->fcoe.wwn.fcp_pwwn[3],
1010 pUM->fcoe.wwn.fcp_pwwn[4],
1011 pUM->fcoe.wwn.fcp_pwwn[5],
1012 pUM->fcoe.wwn.fcp_pwwn[7],
1013 pUM->fcoe.wwn.fcp_pwwn[7]);
1034 pStats->mtu.value.ui64 = pUM->lm_dev.params.mtu[LM_CLI_IDX_FCOE];
1035 pStats->initWqeTx.value.ui64 = pUM->fcoe.stats.initWqeTx;
1036 pStats->initWqeTxErr.value.ui64 = pUM->fcoe.stats.initWqeTxErr;
1037 pStats->initCqeRx.value.ui64 = pUM->fcoe.stats.initCqeRx;
1038 pStats->initCqeRxErr.value.ui64 = pUM->fcoe.stats.initCqeRxErr;
1039 pStats->offloadConnWqeTx.value.ui64 = pUM->fcoe.stats.offloadConnWqeTx;
1040 pStats->offloadConnWqeTxErr.value.ui64 = pUM->fcoe.stats.offloadConnWqeTxErr;
1041 pStats->offloadConnCqeRx.value.ui64 = pUM->fcoe.stats.offloadConnCqeRx;
1042 pStats->offloadConnCqeRxErr.value.ui64 = pUM->fcoe.stats.offloadConnCqeRxErr;
1043 pStats->enableConnWqeTx.value.ui64 = pUM->fcoe.stats.enableConnWqeTx;
1044 pStats->enableConnWqeTxErr.value.ui64 = pUM->fcoe.stats.enableConnWqeTxErr;
1045 pStats->enableConnCqeRx.value.ui64 = pUM->fcoe.stats.enableConnCqeRx;
1046 pStats->enableConnCqeRxErr.value.ui64 = pUM->fcoe.stats.enableConnCqeRxErr;
1047 pStats->disableConnWqeTx.value.ui64 = pUM->fcoe.stats.disableConnWqeTx;
1048 pStats->disableConnWqeTxErr.value.ui64 = pUM->fcoe.stats.disableConnWqeTxErr;
1049 pStats->disableConnCqeRx.value.ui64 = pUM->fcoe.stats.disableConnCqeRx;
1050 pStats->disableConnCqeRxErr.value.ui64 = pUM->fcoe.stats.disableConnCqeRxErr;
1051 pStats->destroyConnWqeTx.value.ui64 = pUM->fcoe.stats.destroyConnWqeTx;
1052 pStats->destroyConnWqeTxErr.value.ui64 = pUM->fcoe.stats.destroyConnWqeTxErr;
1053 pStats->destroyConnCqeRx.value.ui64 = pUM->fcoe.stats.destroyConnCqeRx;
1054 pStats->destroyConnCqeRxErr.value.ui64 = pUM->fcoe.stats.destroyConnCqeRxErr;
1055 pStats->destroyWqeTx.value.ui64 = pUM->fcoe.stats.destroyWqeTx;
1056 pStats->destroyWqeTxErr.value.ui64 = pUM->fcoe.stats.destroyWqeTxErr;
1057 pStats->destroyCqeRx.value.ui64 = pUM->fcoe.stats.destroyCqeRx;
1058 pStats->destroyCqeRxErr.value.ui64 = pUM->fcoe.stats.destroyCqeRxErr;
1059 pStats->compRequestCqeRx.value.ui64 = pUM->fcoe.stats.compRequestCqeRx;
1060 pStats->compRequestCqeRxErr.value.ui64 = pUM->fcoe.stats.compRequestCqeRxErr;
1061 pStats->statWqeTx.value.ui64 = pUM->fcoe.stats.statWqeTx;
1062 pStats->statWqeTxErr.value.ui64 = pUM->fcoe.stats.statWqeTxErr;
1063 pStats->statCqeRx.value.ui64 = pUM->fcoe.stats.statCqeRx;
1064 pStats->statCqeRxErr.value.ui64 = pUM->fcoe.stats.statCqeRxErr;
1066 BNXE_LOCK_EXIT_STATS(pUM);
1104 um_device_t * pUM = (um_device_t *)kstats->ks_private;
1105 lm_device_t * pLM = (lm_device_t *)pUM;
1122 BNXE_LOCK_ENTER_STATS(pUM);
1556 BNXE_LOCK_EXIT_STATS(pUM);
1567 um_device_t * pUM = (um_device_t *)pMap->pUM;
1569 lm_device_t * pLM = (lm_device_t *)pUM;
1579 BNXE_LOCK_ENTER_STATS(pUM);
1614 pStats->rxDoneDescs.value.ui64 = s_list_entry_cnt(&pUM->rxq[idx].doneRxQ);
1615 pStats->rxWaitingDescs.value.ui64 = s_list_entry_cnt(&pUM->rxq[idx].waitRxQ);
1616 pStats->rxCopied.value.ui64 = pUM->rxq[idx].rxCopied;
1617 pStats->rxDiscards.value.ui64 = pUM->rxq[idx].rxDiscards;
1618 pStats->rxBufUpInStack.value.ui64 = pUM->rxq[idx].rxBufUpInStack;
1619 pStats->rxLowWater.value.ui64 = pUM->rxq[idx].rxLowWater;
1620 pStats->inPollMode.value.ui64 = pUM->rxq[idx].inPollMode;
1621 pStats->pollCnt.value.ui64 = pUM->rxq[idx].pollCnt;
1622 pStats->intrDisableCnt.value.ui64 = pUM->rxq[idx].intrDisableCnt;
1623 pStats->intrEnableCnt.value.ui64 = pUM->rxq[idx].intrEnableCnt;
1624 pStats->genNumber.value.ui64 = pUM->rxq[idx].genNumber;
1626 BNXE_LOCK_EXIT_STATS(pUM);
1637 um_device_t * pUM = (um_device_t *)pMap->pUM;
1639 lm_device_t * pLM = (lm_device_t *)pUM;
1646 BNXE_LOCK_ENTER_STATS(pUM);
1660 pStats->txSentPkts.value.ui64 = s_list_entry_cnt(&pUM->txq[idx].sentTxQ);
1661 pStats->txFreeDesc.value.ui64 = s_list_entry_cnt(&pUM->txq[idx].freeTxDescQ);
1662 pStats->txWaitingPkts.value.ui64 = s_list_entry_cnt(&pUM->txq[idx].waitTxDescQ);
1663 pStats->txLowWater.value.ui64 = pUM->txq[idx].txLowWater;
1664 pStats->txFailed.value.ui64 = pUM->txq[idx].txFailed;
1665 pStats->txDiscards.value.ui64 = pUM->txq[idx].txDiscards;
1666 pStats->txRecycle.value.ui64 = pUM->txq[idx].txRecycle;
1667 pStats->txCopied.value.ui64 = pUM->txq[idx].txCopied;
1668 pStats->txBlocked.value.ui64 = pUM->txq[idx].txBlocked;
1669 pStats->txWait.value.ui64 = pUM->txq[idx].txWait;
1671 BNXE_LOCK_EXIT_STATS(pUM);
1677 boolean_t BnxeKstatInitRxQ(um_device_t * pUM,
1687 if ((pUM->kstats_rxq[idx] = kstat_create("bnxe",
1688 pUM->instance,
1695 BnxeLogWarn(pUM, "Failed to create rxq%d kstat", idx);
1699 pStatsRxq = (BnxeKstatRxq *)pUM->kstats_rxq[idx]->ks_data;
1741 pUM->kstats_rxq_map[idx].idx = idx;
1742 pUM->kstats_rxq_map[idx].pUM = pUM;
1744 pUM->kstats_rxq[idx]->ks_update = BnxeKstatRxRingUpdate;
1745 pUM->kstats_rxq[idx]->ks_private = (void *)&pUM->kstats_rxq_map[idx];
1747 kstat_install(pUM->kstats_rxq[idx]);
1753 boolean_t BnxeKstatInitTxQ(um_device_t * pUM,
1763 if ((pUM->kstats_txq[idx] = kstat_create("bnxe",
1764 pUM->instance,
1771 BnxeLogWarn(pUM, "Failed to create txq%d kstat", idx);
1775 pStatsTxq = (BnxeKstatTxq *)pUM->kstats_txq[idx]->ks_data;
1798 pUM->kstats_txq_map[idx].idx = idx;
1799 pUM->kstats_txq_map[idx].pUM = pUM;
1801 pUM->kstats_txq[idx]->ks_update = BnxeKstatTxRingUpdate;
1802 pUM->kstats_txq[idx]->ks_private = (void *)&pUM->kstats_txq_map[idx];
1804 kstat_install(pUM->kstats_txq[idx]);
1810 boolean_t BnxeKstatInit(um_device_t * pUM)
1812 lm_device_t * pLM = (lm_device_t *)pUM;
1835 if ((pUM->kstats = kstat_create("bnxe",
1836 pUM->instance,
1843 BnxeLogWarn(pUM, "Failed to create kstat");
1847 pStats = (BnxeKstat *)pUM->kstats->ks_data;
1887 pUM->kstats->ks_update = BnxeKstatUpdate;
1888 pUM->kstats->ks_private = (void *)pUM;
1890 kstat_install(pUM->kstats);
1894 if ((pUM->kstatsLink = kstat_create("bnxe",
1895 pUM->instance,
1902 BnxeLogWarn(pUM, "Failed to create link kstat");
1906 pStatsLink = (BnxeKstatLink *)pUM->kstatsLink->ks_data;
1918 pUM->kstatsLink->ks_update = BnxeKstatLinkUpdate;
1919 pUM->kstatsLink->ks_private = (void *)pUM;
1921 kstat_install(pUM->kstatsLink);
1925 if ((pUM->kstatsIntr = kstat_create("bnxe",
1926 pUM->instance,
1933 BnxeLogWarn(pUM, "Failed to create intr kstat");
1937 pStatsIntr = (BnxeKstatIntr *)pUM->kstatsIntr->ks_data;
2013 pUM->kstatsIntr->ks_update = BnxeKstatIntrUpdate;
2014 pUM->kstatsIntr->ks_private = (void *)pUM;
2016 kstat_install(pUM->kstatsIntr);
2020 if ((pUM->kstatsL2Chip = kstat_create("bnxe",
2021 pUM->instance,
2028 BnxeLogWarn(pUM, "Failed to create l2chip kstat");
2032 pStatsL2Chip = (BnxeKstatL2Chip *)pUM->kstatsL2Chip->ks_data;
2103 pUM->kstatsL2Chip->ks_update = BnxeKstatL2ChipUpdate;
2104 pUM->kstatsL2Chip->ks_private = (void *)pUM;
2106 kstat_install(pUM->kstatsL2Chip);
2110 if ((pUM->kstatsL2Driver = kstat_create("bnxe",
2111 pUM->instance,
2118 BnxeLogWarn(pUM, "Failed to create l2driver kstat");
2122 pStatsL2Driver = (BnxeKstatL2Driver *)pUM->kstatsL2Driver->ks_data;
2134 pUM->kstatsL2Driver->ks_update = BnxeKstatL2DriverUpdate;
2135 pUM->kstatsL2Driver->ks_private = (void *)pUM;
2137 kstat_install(pUM->kstatsL2Driver);
2141 if ((pUM->kstatsL2Stats = kstat_create("bnxe",
2142 pUM->instance,
2149 BnxeLogWarn(pUM, "Failed to create l2stats kstat");
2153 pStatsL2Stats = (BnxeKstatEthStats *)pUM->kstatsL2Stats->ks_data;
2191 pUM->kstatsL2Stats->ks_update = BnxeKstatL2StatsUpdate;
2192 pUM->kstatsL2Stats->ks_private = (void *)pUM;
2194 kstat_install(pUM->kstatsL2Stats);
2198 if (BNXE_FCOE(pUM))
2200 if ((pUM->kstatsFcoe = kstat_create("bnxe",
2201 pUM->instance,
2208 BnxeLogWarn(pUM, "Failed to create fcoe kstat");
2209 BnxeKstatFini(pUM);
2213 pStatsFcoe = (BnxeKstatFcoe *)pUM->kstatsFcoe->ks_data;
2253 pUM->kstatsFcoe->ks_update = BnxeKstatFcoeUpdate;
2254 pUM->kstatsFcoe->ks_private = (void *)pUM;
2256 kstat_install(pUM->kstatsFcoe);
2258 if (!BnxeKstatInitRxQ(pUM, FCOE_CID(pLM)))
2260 BnxeKstatFini(pUM);
2264 if (!BnxeKstatInitTxQ(pUM, FCOE_CID(pLM)))
2266 BnxeKstatFini(pUM);
2275 if ((pUM->kstatsDcbx = kstat_create("bnxe",
2276 pUM->instance,
2283 BnxeLogWarn(pUM, "Failed to create dcbx kstat");
2284 BnxeKstatFini(pUM);
2288 pStatsDcbx = (BnxeKstatDcbx *)pUM->kstatsDcbx->ks_data;
2427 pUM->kstatsDcbx->ks_update = BnxeKstatDcbxUpdate;
2428 pUM->kstatsDcbx->ks_private = (void *)pUM;
2430 kstat_install(pUM->kstatsDcbx);
2435 if (!BnxeProtoFcoeAfex(pUM))
2439 if (!BnxeKstatInitRxQ(pUM, idx))
2441 BnxeKstatFini(pUM);
2448 if (!BnxeKstatInitTxQ(pUM, idx))
2450 BnxeKstatFini(pUM);
2462 void BnxeKstatFini(um_device_t * pUM)
2464 lm_device_t * pLM = (lm_device_t *)pUM;
2467 if (pUM->kstats)
2469 kstat_delete(pUM->kstats);
2470 pUM->kstats = NULL;
2473 if (pUM->kstatsLink)
2475 kstat_delete(pUM->kstatsLink);
2476 pUM->kstatsLink = NULL;
2479 if (pUM->kstatsIntr)
2481 kstat_delete(pUM->kstatsIntr);
2482 pUM->kstatsIntr = NULL;
2485 if (pUM->kstatsL2Chip)
2487 kstat_delete(pUM->kstatsL2Chip);
2488 pUM->kstatsL2Chip = NULL;
2491 if (pUM->kstatsL2Driver)
2493 kstat_delete(pUM->kstatsL2Driver);
2494 pUM->kstatsL2Driver = NULL;
2497 if (pUM->kstatsL2Stats)
2499 kstat_delete(pUM->kstatsL2Stats);
2500 pUM->kstatsL2Stats = NULL;
2503 if (BNXE_FCOE(pUM))
2505 if (pUM->kstatsFcoe)
2507 kstat_delete(pUM->kstatsFcoe);
2508 pUM->kstatsFcoe = NULL;
2513 if (pUM->kstats_rxq[idx])
2515 kstat_delete(pUM->kstats_rxq[idx]);
2516 pUM->kstats_rxq[idx] = NULL;
2519 pUM->kstats_rxq_map[idx].idx = 0;
2520 pUM->kstats_rxq_map[idx].pUM = NULL;
2522 if (pUM->kstats_txq[idx])
2524 kstat_delete(pUM->kstats_txq[idx]);
2525 pUM->kstats_txq[idx] = NULL;
2528 pUM->kstats_txq_map[idx].idx = 0;
2529 pUM->kstats_txq_map[idx].pUM = NULL;
2534 if (pUM->kstatsDcbx)
2536 kstat_delete(pUM->kstatsDcbx);
2537 pUM->kstatsDcbx = NULL;
2541 if (!BnxeProtoFcoeAfex(pUM))
2545 if (pUM->kstats_rxq[idx])
2547 kstat_delete(pUM->kstats_rxq[idx]);
2548 pUM->kstats_rxq[idx] = NULL;
2551 pUM->kstats_rxq_map[idx].idx = 0;
2552 pUM->kstats_rxq_map[idx].pUM = NULL;
2557 if (pUM->kstats_txq[idx])
2559 kstat_delete(pUM->kstats_txq[idx]);
2560 pUM->kstats_txq[idx] = NULL;
2563 pUM->kstats_txq_map[idx].idx = 0;
2564 pUM->kstats_txq_map[idx].pUM = NULL;