Lines Matching refs:bgep
197 bge_t *bgep; in bge_statistics_update() local
206 bgep = ksp->ks_private; in bge_statistics_update()
207 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_statistics_update()
208 bstp = DMA_VPTR(bgep->statistics); in bge_statistics_update()
220 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_statistics_update()
224 pstats = bgep->pstats; in bge_statistics_update()
310 bge_t *bgep; in bge_chipid_update() local
317 bgep = ksp->ks_private; in bge_chipid_update()
320 (knp++)->value.ui64 = bgep->chipid.asic_rev; in bge_chipid_update()
321 (knp++)->value.ui64 = bgep->chipid.businfo; in bge_chipid_update()
322 (knp++)->value.ui64 = bgep->chipid.command; in bge_chipid_update()
324 (knp++)->value.ui64 = bgep->chipid.vendor; in bge_chipid_update()
325 (knp++)->value.ui64 = bgep->chipid.device; in bge_chipid_update()
326 (knp++)->value.ui64 = bgep->chipid.subven; in bge_chipid_update()
327 (knp++)->value.ui64 = bgep->chipid.subdev; in bge_chipid_update()
328 (knp++)->value.ui64 = bgep->chipid.revision; in bge_chipid_update()
329 (knp++)->value.ui64 = bgep->chipid.clsize; in bge_chipid_update()
330 (knp++)->value.ui64 = bgep->chipid.latency; in bge_chipid_update()
332 (knp++)->value.ui64 = bgep->chipid.flags; in bge_chipid_update()
333 (knp++)->value.ui64 = bgep->chipid.chip_label; in bge_chipid_update()
334 (knp++)->value.ui64 = bgep->chipid.mbuf_base; in bge_chipid_update()
335 (knp++)->value.ui64 = bgep->chipid.mbuf_length; in bge_chipid_update()
336 (knp++)->value.ui64 = bgep->chipid.hw_mac_addr; in bge_chipid_update()
341 tmp = bgep->chipid.businfo; in bge_chipid_update()
349 tmp = bgep->chipid.flags; in bge_chipid_update()
356 ((bgep->chipid.nvtype == BGE_NVTYPE_NONE) || in bge_chipid_update()
357 (bgep->chipid.nvtype == BGE_NVTYPE_UNKNOWN)) ? in bge_chipid_update()
358 0 : bgep->chipid.nvtype; in bge_chipid_update()
360 (knp++)->value.ui64 = bgep->chipid.asic_rev_prod_id; in bge_chipid_update()
404 bge_t *bgep; in bge_driverinfo_update() local
411 bgep = ksp->ks_private; in bge_driverinfo_update()
412 if (bgep->bge_chip_state == BGE_CHIP_FAULT) in bge_driverinfo_update()
417 (knp++)->value.ui64 = bgep->rx_buff[0].cookie.dmac_laddress; in bge_driverinfo_update()
418 (knp++)->value.ui64 = bgep->tx_buff[0].cookie.dmac_laddress; in bge_driverinfo_update()
419 (knp++)->value.ui64 = bgep->rx_desc[0].cookie.dmac_laddress; in bge_driverinfo_update()
420 (knp++)->value.ui64 = bgep->tx_desc.cookie.dmac_laddress; in bge_driverinfo_update()
422 (knp++)->value.ui64 = bgep->send[0].tx_free; in bge_driverinfo_update()
423 (knp++)->value.ui64 = bgep->send[0].tx_array; in bge_driverinfo_update()
424 (knp++)->value.ui64 = bgep->send[0].tc_next; in bge_driverinfo_update()
425 (knp++)->value.ui64 = bgep->send[0].tx_next; in bge_driverinfo_update()
426 (knp++)->value.ui64 = bgep->send[0].txfill_next; in bge_driverinfo_update()
427 (knp++)->value.ui64 = bgep->send[0].txpkt_next; in bge_driverinfo_update()
428 (knp++)->value.ui64 = bgep->send[0].txbuf_pop_queue->count + in bge_driverinfo_update()
429 bgep->send[0].txbuf_push_queue->count; in bge_driverinfo_update()
430 (knp++)->value.ui64 = bgep->send[0].tx_flow; in bge_driverinfo_update()
431 (knp++)->value.ui64 = bgep->tx_resched_needed; in bge_driverinfo_update()
432 (knp++)->value.ui64 = bgep->tx_resched; in bge_driverinfo_update()
433 (knp++)->value.ui64 = bgep->send[0].tx_nobuf; in bge_driverinfo_update()
434 (knp++)->value.ui64 = bgep->send[0].tx_nobd; in bge_driverinfo_update()
435 (knp++)->value.ui64 = bgep->send[0].tx_block; in bge_driverinfo_update()
436 (knp++)->value.ui64 = bgep->send[0].tx_alloc_fail; in bge_driverinfo_update()
438 (knp++)->value.ui64 = bgep->watchdog; in bge_driverinfo_update()
439 (knp++)->value.ui64 = bgep->chip_resets; in bge_driverinfo_update()
440 (knp++)->value.ui64 = bgep->missed_dmas; in bge_driverinfo_update()
441 (knp++)->value.ui64 = bgep->missed_updates; in bge_driverinfo_update()
447 handle = bgep->cfg_handle; in bge_driverinfo_update()
448 mutex_enter(bgep->genlock); in bge_driverinfo_update()
452 if (bge_check_acc_handle(bgep, bgep->cfg_handle) != DDI_FM_OK) { in bge_driverinfo_update()
453 ddi_fm_service_impact(bgep->devinfo, DDI_SERVICE_DEGRADED); in bge_driverinfo_update()
454 mutex_exit(bgep->genlock); in bge_driverinfo_update()
458 (knp++)->value.ui64 = bge_reg_get32(bgep, BUFFER_MANAGER_STATUS_REG); in bge_driverinfo_update()
459 (knp++)->value.ui64 = bge_reg_get32(bgep, RCV_INITIATOR_STATUS_REG); in bge_driverinfo_update()
460 if (bge_check_acc_handle(bgep, bgep->io_handle) != DDI_FM_OK) { in bge_driverinfo_update()
461 ddi_fm_service_impact(bgep->devinfo, DDI_SERVICE_DEGRADED); in bge_driverinfo_update()
462 mutex_exit(bgep->genlock); in bge_driverinfo_update()
465 mutex_exit(bgep->genlock); in bge_driverinfo_update()
481 bge_t *bgep; in bge_serdes_update() local
487 bgep = ksp->ks_private; in bge_serdes_update()
490 (knp++)->value.ui64 = bgep->serdes_status; in bge_serdes_update()
491 (knp++)->value.ui64 = bgep->serdes_advert; in bge_serdes_update()
492 (knp++)->value.ui64 = bgep->serdes_lpadv; in bge_serdes_update()
526 bge_t *bgep; in bge_phydata_update() local
533 bgep = ksp->ks_private; in bge_phydata_update()
534 if (bgep->bge_chip_state == BGE_CHIP_FAULT) in bge_phydata_update()
548 mutex_enter(bgep->genlock); in bge_phydata_update()
551 knp->value.ui64 = bgep->phy_gen_status; in bge_phydata_update()
555 knp->value.ui64 = bge_mii_get16(bgep, MII_PHYIDH); in bge_phydata_update()
557 knp->value.ui64 |= bge_mii_get16(bgep, MII_PHYIDL); in bge_phydata_update()
562 if (bgep->link_state == LINK_STATE_UP) in bge_phydata_update()
565 (bge_reg_get32(bgep, EEE_MODE_REG) & 0x80) ? in bge_phydata_update()
571 knp->value.ui64 = bge_mii_get16(bgep, ksip->index); in bge_phydata_update()
574 if (bge_check_acc_handle(bgep, bgep->io_handle) != DDI_FM_OK) { in bge_phydata_update()
575 ddi_fm_service_impact(bgep->devinfo, in bge_phydata_update()
577 mutex_exit(bgep->genlock); in bge_phydata_update()
580 mutex_exit(bgep->genlock); in bge_phydata_update()
587 bge_setup_named_kstat(bge_t *bgep, int instance, char *name, in bge_setup_named_kstat() argument
601 ksp->ks_private = bgep; in bge_setup_named_kstat()
629 bge_init_kstats(bge_t *bgep, int instance) in bge_init_kstats() argument
633 BGE_TRACE(("bge_init_kstats($%p, %d)", (void *)bgep, instance)); in bge_init_kstats()
635 if (bgep->chipid.statistic_type == BGE_STAT_BLK) { in bge_init_kstats()
636 DMA_ZERO(bgep->statistics); in bge_init_kstats()
637 bgep->bge_kstats[BGE_KSTAT_RAW] = ksp = in bge_init_kstats()
642 ksp->ks_data = DMA_VPTR(bgep->statistics); in bge_init_kstats()
646 bgep->bge_kstats[BGE_KSTAT_STATS] = bge_setup_named_kstat(bgep, in bge_init_kstats()
650 bgep->bge_kstats[BGE_KSTAT_STATS] = bge_setup_named_kstat(bgep, in bge_init_kstats()
655 bgep->bge_kstats[BGE_KSTAT_CHIPID] = bge_setup_named_kstat(bgep, in bge_init_kstats()
659 bgep->bge_kstats[BGE_KSTAT_DRIVER] = bge_setup_named_kstat(bgep, in bge_init_kstats()
663 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_init_kstats()
664 bgep->bge_kstats[BGE_KSTAT_PHYS] = bge_setup_named_kstat(bgep, in bge_init_kstats()
668 bgep->bge_kstats[BGE_KSTAT_PHYS] = bge_setup_named_kstat(bgep, in bge_init_kstats()
675 bge_fini_kstats(bge_t *bgep) in bge_fini_kstats() argument
679 BGE_TRACE(("bge_fini_kstats($%p)", (void *)bgep)); in bge_fini_kstats()
682 if (bgep->bge_kstats[i] != NULL) in bge_fini_kstats()
683 kstat_delete(bgep->bge_kstats[i]); in bge_fini_kstats()
689 bge_t *bgep = arg; in bge_m_stat() local
693 if (bgep->bge_chip_state != BGE_CHIP_RUNNING) { in bge_m_stat()
697 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
698 bstp = DMA_VPTR(bgep->statistics); in bge_m_stat()
700 pstats = bgep->pstats; in bge_m_stat()
702 bge_reg_get32(bgep, STAT_IFHCOUT_OCTETS_REG); in bge_m_stat()
704 bge_reg_get32(bgep, STAT_ETHER_COLLIS_REG); in bge_m_stat()
706 bge_reg_get32(bgep, STAT_OUTXON_SENT_REG); in bge_m_stat()
708 bge_reg_get32(bgep, STAT_OUTXOFF_SENT_REG); in bge_m_stat()
710 bge_reg_get32(bgep, STAT_DOT3_INTMACTX_ERR_REG); in bge_m_stat()
712 bge_reg_get32(bgep, STAT_DOT3_SCOLLI_FRAME_REG); in bge_m_stat()
714 bge_reg_get32(bgep, STAT_DOT3_MCOLLI_FRAME_REG); in bge_m_stat()
716 bge_reg_get32(bgep, STAT_DOT3_DEFERED_TX_REG); in bge_m_stat()
718 bge_reg_get32(bgep, STAT_DOT3_EXCE_COLLI_REG); in bge_m_stat()
720 bge_reg_get32(bgep, STAT_DOT3_LATE_COLLI_REG); in bge_m_stat()
722 bge_reg_get32(bgep, STAT_IFHCOUT_UPKGS_REG); in bge_m_stat()
724 bge_reg_get32(bgep, STAT_IFHCOUT_MPKGS_REG); in bge_m_stat()
726 bge_reg_get32(bgep, STAT_IFHCOUT_BPKGS_REG); in bge_m_stat()
728 bge_reg_get32(bgep, STAT_IFHCIN_OCTETS_REG); in bge_m_stat()
730 bge_reg_get32(bgep, STAT_ETHER_FRAGMENT_REG); in bge_m_stat()
732 bge_reg_get32(bgep, STAT_IFHCIN_UPKGS_REG); in bge_m_stat()
734 bge_reg_get32(bgep, STAT_IFHCIN_MPKGS_REG); in bge_m_stat()
736 bge_reg_get32(bgep, STAT_IFHCIN_BPKGS_REG); in bge_m_stat()
738 bge_reg_get32(bgep, STAT_DOT3_FCS_ERR_REG); in bge_m_stat()
740 bge_reg_get32(bgep, STAT_DOT3_ALIGN_ERR_REG); in bge_m_stat()
742 bge_reg_get32(bgep, STAT_XON_PAUSE_RX_REG); in bge_m_stat()
744 bge_reg_get32(bgep, STAT_XOFF_PAUSE_RX_REG); in bge_m_stat()
746 bge_reg_get32(bgep, STAT_MAC_CTRL_RX_REG); in bge_m_stat()
748 bge_reg_get32(bgep, STAT_XOFF_STATE_ENTER_REG); in bge_m_stat()
750 bge_reg_get32(bgep, STAT_DOT3_FRAME_TOOLONG_REG); in bge_m_stat()
752 bge_reg_get32(bgep, STAT_ETHER_JABBERS_REG); in bge_m_stat()
754 bge_reg_get32(bgep, STAT_ETHER_UNDERSIZE_REG); in bge_m_stat()
755 mutex_enter(bgep->genlock); in bge_m_stat()
756 if (bge_check_acc_handle(bgep, bgep->io_handle) != DDI_FM_OK) { in bge_m_stat()
757 ddi_fm_service_impact(bgep->devinfo, in bge_m_stat()
760 mutex_exit(bgep->genlock); in bge_m_stat()
765 *val = (bgep->link_state != LINK_STATE_UNKNOWN) ? in bge_m_stat()
766 (bgep->param_link_speed * 1000000ull) : 0; in bge_m_stat()
770 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
777 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
784 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
791 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
798 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
805 if (bgep->chipid.statistic_type == BGE_STAT_BLK) { in bge_m_stat()
821 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
828 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
835 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
842 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
849 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
860 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
867 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
878 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
885 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
892 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
899 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
906 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
913 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
920 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
927 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
930 *val = bgep->pstats->dot3StatsInternalMacTransmitErrors; in bge_m_stat()
934 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
941 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
949 if (bgep->chipid.statistic_type == BGE_STAT_BLK) in bge_m_stat()
957 *val = bgep->phy_mii_addr; in bge_m_stat()
961 mutex_enter(bgep->genlock); in bge_m_stat()
962 *val = bge_mii_get16(bgep, MII_PHYIDH); in bge_m_stat()
964 *val |= bge_mii_get16(bgep, MII_PHYIDL); in bge_m_stat()
965 if (bge_check_acc_handle(bgep, bgep->io_handle) != DDI_FM_OK) { in bge_m_stat()
966 ddi_fm_service_impact(bgep->devinfo, in bge_m_stat()
969 mutex_exit(bgep->genlock); in bge_m_stat()
973 *val = (uint64_t)bge_phys_media(bgep); in bge_m_stat()
985 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_m_stat()
992 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_m_stat()
999 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_m_stat()
1006 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_m_stat()
1031 *val = bgep->param_adv_1000fdx; in bge_m_stat()
1035 *val = bgep->param_adv_1000hdx; in bge_m_stat()
1039 *val = bgep->param_adv_100fdx; in bge_m_stat()
1043 *val = bgep->param_adv_100hdx; in bge_m_stat()
1047 *val = bgep->param_adv_10fdx; in bge_m_stat()
1051 *val = bgep->param_adv_10hdx; in bge_m_stat()
1055 *val = bgep->param_adv_asym_pause; in bge_m_stat()
1059 *val = bgep->param_adv_pause; in bge_m_stat()
1063 *val = bgep->param_adv_autoneg; in bge_m_stat()
1068 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_m_stat()
1071 mutex_enter(bgep->genlock); in bge_m_stat()
1072 *val = bge_mii_get16(bgep, MII_AN_ADVERT) & in bge_m_stat()
1074 if (bge_check_acc_handle(bgep, bgep->io_handle) != in bge_m_stat()
1076 ddi_fm_service_impact(bgep->devinfo, in bge_m_stat()
1079 mutex_exit(bgep->genlock); in bge_m_stat()
1085 *val = bgep->param_lp_1000fdx; in bge_m_stat()
1089 *val = bgep->param_lp_1000hdx; in bge_m_stat()
1093 *val = bgep->param_lp_100fdx; in bge_m_stat()
1097 *val = bgep->param_lp_100hdx; in bge_m_stat()
1101 *val = bgep->param_lp_10fdx; in bge_m_stat()
1105 *val = bgep->param_lp_10hdx; in bge_m_stat()
1109 *val = bgep->param_lp_asym_pause; in bge_m_stat()
1113 *val = bgep->param_lp_pause; in bge_m_stat()
1117 *val = bgep->param_lp_autoneg; in bge_m_stat()
1122 if (bgep->chipid.flags & CHIP_FLAG_SERDES) in bge_m_stat()
1125 mutex_enter(bgep->genlock); in bge_m_stat()
1126 *val = bge_mii_get16(bgep, MII_AN_LPABLE) & in bge_m_stat()
1128 if (bge_check_acc_handle(bgep, bgep->io_handle) != in bge_m_stat()
1130 ddi_fm_service_impact(bgep->devinfo, in bge_m_stat()
1133 mutex_exit(bgep->genlock); in bge_m_stat()
1139 *val = bgep->param_adv_asym_pause && in bge_m_stat()
1140 bgep->param_lp_asym_pause && in bge_m_stat()
1141 bgep->param_adv_pause != bgep->param_lp_pause; in bge_m_stat()
1145 *val = bgep->param_link_rx_pause; in bge_m_stat()
1149 *val = bgep->param_link_autoneg; in bge_m_stat()
1153 *val = (bgep->link_state != LINK_STATE_UNKNOWN) ? in bge_m_stat()
1154 bgep->param_link_duplex : LINK_DUPLEX_UNKNOWN; in bge_m_stat()