Lines Matching defs:i40e

55  * would be: i40e:0:pfstats:.
59 * the full kstat would be i40e:0:vsi_0:.
110 i40e_stat_get_uint48(i40e_t *i40e, uintptr_t reg, kstat_named_t *kstat,
113 i40e_hw_t *hw = &i40e->i40e_hw_space;
116 ASSERT(MUTEX_HELD(&i40e->i40e_stat_lock));
118 raw = ddi_get64(i40e->i40e_osdep_space.ios_reg_handle,
141 i40e_stat_get_uint32(i40e_t *i40e, uintptr_t reg, kstat_named_t *kstat,
144 i40e_hw_t *hw = &i40e->i40e_hw_space;
147 ASSERT(MUTEX_HELD(&i40e->i40e_stat_lock));
149 raw = ddi_get32(i40e->i40e_osdep_space.ios_reg_handle,
172 i40e_stat_vsi_update(i40e_t *i40e, boolean_t init)
176 int id = i40e->i40e_vsi_stat_id;
178 ASSERT(i40e->i40e_vsi_kstat != NULL);
179 ivs = &i40e->i40e_vsi_stat;
180 ivk = i40e->i40e_vsi_kstat->ks_data;
182 mutex_enter(&i40e->i40e_stat_lock);
184 i40e_stat_get_uint48(i40e, I40E_GLV_GORCL(id), &ivk->ivk_rx_bytes,
186 i40e_stat_get_uint48(i40e, I40E_GLV_UPRCL(id), &ivk->ivk_rx_unicast,
188 i40e_stat_get_uint48(i40e, I40E_GLV_MPRCL(id), &ivk->ivk_rx_multicast,
190 i40e_stat_get_uint48(i40e, I40E_GLV_BPRCL(id), &ivk->ivk_rx_broadcast,
193 i40e_stat_get_uint32(i40e, I40E_GLV_RDPC(id), &ivk->ivk_rx_discards,
195 i40e_stat_get_uint32(i40e, I40E_GLV_RUPP(id),
200 i40e_stat_get_uint48(i40e, I40E_GLV_GOTCL(id), &ivk->ivk_tx_bytes,
202 i40e_stat_get_uint48(i40e, I40E_GLV_UPTCL(id), &ivk->ivk_tx_unicast,
204 i40e_stat_get_uint48(i40e, I40E_GLV_MPTCL(id), &ivk->ivk_tx_multicast,
206 i40e_stat_get_uint48(i40e, I40E_GLV_BPTCL(id), &ivk->ivk_tx_broadcast,
209 i40e_stat_get_uint32(i40e, I40E_GLV_TEPC(id), &ivk->ivk_tx_errors,
212 mutex_exit(&i40e->i40e_stat_lock);
219 if (i40e_check_acc_handle(i40e->i40e_osdep_space.ios_reg_handle) !=
221 ddi_fm_service_impact(i40e->i40e_dip, DDI_SERVICE_UNAFFECTED);
228 i40e_t *i40e;
233 i40e = ksp->ks_private;
234 i40e_stat_vsi_update(i40e, B_FALSE);
239 i40e_stat_vsi_fini(i40e_t *i40e)
241 if (i40e->i40e_vsi_kstat != NULL) {
242 kstat_delete(i40e->i40e_vsi_kstat);
243 i40e->i40e_vsi_kstat = NULL;
248 i40e_stat_vsi_init(i40e_t *i40e)
254 (void) snprintf(buf, sizeof (buf), "vsi_%d", i40e->i40e_vsi_id);
256 ksp = kstat_create(I40E_MODULE_NAME, ddi_get_instance(i40e->i40e_dip),
261 i40e_error(i40e, "Failed to create kstats for VSI %d",
262 i40e->i40e_vsi_id);
266 i40e->i40e_vsi_kstat = ksp;
269 ksp->ks_private = i40e;
294 bzero(&i40e->i40e_vsi_stat, sizeof (i40e_vsi_stats_t));
295 i40e_stat_vsi_update(i40e, B_TRUE);
296 kstat_install(i40e->i40e_vsi_kstat);
302 i40e_stat_pf_update(i40e_t *i40e, boolean_t init)
306 int port = i40e->i40e_hw_space.port;
309 ASSERT(i40e->i40e_pf_kstat != NULL);
310 ips = &i40e->i40e_pf_stat;
311 ipk = i40e->i40e_pf_kstat->ks_data;
313 mutex_enter(&i40e->i40e_stat_lock);
316 i40e_stat_get_uint48(i40e, I40E_GLPRT_GORCL(port),
318 i40e_stat_get_uint48(i40e, I40E_GLPRT_UPRCL(port),
320 i40e_stat_get_uint48(i40e, I40E_GLPRT_MPRCL(port),
322 i40e_stat_get_uint48(i40e, I40E_GLPRT_BPRCL(port),
324 i40e_stat_get_uint48(i40e, I40E_GLPRT_GOTCL(port),
326 i40e_stat_get_uint48(i40e, I40E_GLPRT_UPTCL(port),
328 i40e_stat_get_uint48(i40e, I40E_GLPRT_MPTCL(port),
330 i40e_stat_get_uint48(i40e, I40E_GLPRT_BPTCL(port),
333 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC64L(port),
335 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC127L(port),
337 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC255L(port),
339 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC511L(port),
341 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC1023L(port),
343 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC1522L(port),
345 i40e_stat_get_uint48(i40e, I40E_GLPRT_PRC9522L(port),
348 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC64L(port),
350 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC127L(port),
352 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC255L(port),
354 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC511L(port),
356 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC1023L(port),
358 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC1522L(port),
360 i40e_stat_get_uint48(i40e, I40E_GLPRT_PTC9522L(port),
364 i40e_stat_get_uint32(i40e, I40E_GLPRT_LXONRXC(port),
366 i40e_stat_get_uint32(i40e, I40E_GLPRT_LXOFFRXC(port),
368 i40e_stat_get_uint32(i40e, I40E_GLPRT_LXONTXC(port),
370 i40e_stat_get_uint32(i40e, I40E_GLPRT_LXOFFTXC(port),
374 i40e_stat_get_uint32(i40e, I40E_GLPRT_PXONRXC(port, i),
377 i40e_stat_get_uint32(i40e, I40E_GLPRT_PXOFFRXC(port, i),
381 i40e_stat_get_uint32(i40e, I40E_GLPRT_PXONTXC(port, i),
384 i40e_stat_get_uint32(i40e, I40E_GLPRT_PXOFFTXC(port, i),
388 i40e_stat_get_uint32(i40e, I40E_GLPRT_RXON2OFFCNT(port, i),
394 i40e_stat_get_uint32(i40e, I40E_GLPRT_CRCERRS(port),
396 i40e_stat_get_uint32(i40e, I40E_GLPRT_ILLERRC(port),
398 i40e_stat_get_uint32(i40e, I40E_GLPRT_MLFC(port),
400 i40e_stat_get_uint32(i40e, I40E_GLPRT_MRFC(port),
402 i40e_stat_get_uint32(i40e, I40E_GLPRT_RLEC(port),
404 i40e_stat_get_uint32(i40e, I40E_GLPRT_RUC(port),
406 i40e_stat_get_uint32(i40e, I40E_GLPRT_RFC(port),
408 i40e_stat_get_uint32(i40e, I40E_GLPRT_ROC(port),
410 i40e_stat_get_uint32(i40e, I40E_GLPRT_RJC(port),
412 i40e_stat_get_uint32(i40e, I40E_GLPRT_RDPC(port),
414 i40e_stat_get_uint32(i40e, I40E_GLPRT_LDPC(port),
416 i40e_stat_get_uint32(i40e, I40E_GLPRT_MSPDC(port),
418 i40e_stat_get_uint32(i40e, I40E_GLPRT_TDOLD(port),
421 i40e_stat_get_uint32(i40e, I40E_GLPRT_RUPP(port),
425 i40e_stat_get_uint48(i40e, I40E_GL_RXERR1_L(port), &ipk->ipk_rx_err1,
427 i40e_stat_get_uint48(i40e, I40E_GL_RXERR2_L(port), &ipk->ipk_rx_err2,
430 mutex_exit(&i40e->i40e_stat_lock);
437 if (i40e_check_acc_handle(i40e->i40e_osdep_space.ios_reg_handle) !=
439 ddi_fm_service_impact(i40e->i40e_dip, DDI_SERVICE_UNAFFECTED);
446 i40e_t *i40e;
451 i40e = ksp->ks_private;
452 i40e_stat_pf_update(i40e, B_FALSE);
458 i40e_stat_pf_init(i40e_t *i40e)
463 ksp = kstat_create(I40E_MODULE_NAME, ddi_get_instance(i40e->i40e_dip),
467 i40e_error(i40e, "Could not create kernel statistics.");
471 i40e->i40e_pf_kstat = ksp;
474 ksp->ks_private = i40e;
662 bzero(&i40e->i40e_pf_stat, sizeof (i40e_pf_stats_t));
663 i40e_stat_pf_update(i40e, B_TRUE);
665 kstat_install(i40e->i40e_pf_kstat);
671 i40e_stats_fini(i40e_t *i40e)
673 ASSERT(i40e->i40e_vsi_kstat == NULL);
674 if (i40e->i40e_pf_kstat != NULL) {
675 kstat_delete(i40e->i40e_pf_kstat);
676 i40e->i40e_pf_kstat = NULL;
679 mutex_destroy(&i40e->i40e_stat_lock);
683 i40e_stats_init(i40e_t *i40e)
685 mutex_init(&i40e->i40e_stat_lock, NULL, MUTEX_DRIVER, NULL);
686 if (i40e_stat_pf_init(i40e) == B_FALSE) {
687 mutex_destroy(&i40e->i40e_stat_lock);
700 i40e_t *i40e = (i40e_t *)arg;
701 i40e_hw_t *hw = &i40e->i40e_hw_space;
702 int port = i40e->i40e_hw_space.port;
707 ASSERT(i40e->i40e_pf_kstat != NULL);
708 ips = &i40e->i40e_pf_stat;
709 ipk = i40e->i40e_pf_kstat->ks_data;
715 mutex_enter(&i40e->i40e_general_lock);
717 if (i40e->i40e_state & I40E_SUSPENDED) {
718 mutex_exit(&i40e->i40e_general_lock);
722 mutex_enter(&i40e->i40e_stat_lock);
740 *val = i40e->i40e_link_speed * 1000000ull;
743 i40e_stat_get_uint48(i40e, I40E_GLPRT_MPRCL(port),
748 i40e_stat_get_uint48(i40e, I40E_GLPRT_BPRCL(port),
753 i40e_stat_get_uint48(i40e, I40E_GLPRT_MPTCL(port),
758 i40e_stat_get_uint48(i40e, I40E_GLPRT_BPTCL(port),
763 i40e_stat_get_uint32(i40e, I40E_GLPRT_RDPC(port),
765 i40e_stat_get_uint32(i40e, I40E_GLPRT_LDPC(port),
777 i40e_stat_get_uint32(i40e, I40E_GLPRT_CRCERRS(port),
779 i40e_stat_get_uint32(i40e, I40E_GLPRT_ILLERRC(port),
781 i40e_stat_get_uint32(i40e, I40E_GLPRT_RLEC(port),
784 i40e_stat_get_uint48(i40e, I40E_GL_RXERR1_L(port),
786 i40e_stat_get_uint48(i40e, I40E_GL_RXERR2_L(port),
796 i40e_stat_get_uint32(i40e, I40E_GLPRT_RUPP(port),
803 i40e_stat_get_uint48(i40e, I40E_GLPRT_GORCL(port),
808 i40e_stat_get_uint48(i40e, I40E_GLPRT_UPRCL(port),
810 i40e_stat_get_uint48(i40e, I40E_GLPRT_MPRCL(port),
812 i40e_stat_get_uint48(i40e, I40E_GLPRT_BPRCL(port),
819 i40e_stat_get_uint48(i40e, I40E_GLPRT_GOTCL(port),
824 i40e_stat_get_uint48(i40e, I40E_GLPRT_UPTCL(port),
826 i40e_stat_get_uint48(i40e, I40E_GLPRT_MPTCL(port),
828 i40e_stat_get_uint48(i40e, I40E_GLPRT_BPTCL(port),
835 i40e_stat_get_uint32(i40e, I40E_GLPRT_RUC(port),
837 i40e_stat_get_uint32(i40e, I40E_GLPRT_RFC(port),
839 i40e_stat_get_uint32(i40e, I40E_GLPRT_MSPDC(port),
847 i40e_stat_get_uint32(i40e, I40E_GLPRT_ROC(port),
849 i40e_stat_get_uint32(i40e, I40E_GLPRT_RJC(port),
857 i40e_stat_get_uint32(i40e, I40E_GLPRT_CRCERRS(port),
862 i40e_stat_get_uint32(i40e, I40E_GLPRT_ROC(port),
867 i40e_stat_get_uint32(i40e, I40E_GLPRT_ILLERRC(port),
869 i40e_stat_get_uint32(i40e, I40E_GLPRT_RLEC(port),
872 i40e_stat_get_uint32(i40e, I40E_GLPRT_RFC(port),
885 *val = i40e->i40e_hw_space.port;
894 *val = i40e->i40e_phy.phy_id[3] << 24 |
895 i40e->i40e_phy.phy_id[2] << 16 |
896 i40e->i40e_phy.phy_id[1] << 8;
903 *val = i40e->i40e_phy.phy_id[0] |
904 i40e->i40e_phy.phy_id[1] << 8 |
905 i40e->i40e_phy.phy_id[2] << 16;
931 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_100MB) != 0;
934 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_1GB) != 0;
937 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_10GB) != 0;
940 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_40GB) != 0;
950 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_100MB) != 0;
953 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_1GB) != 0;
956 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_10GB) != 0;
959 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_40GB) != 0;
970 *val = i40e->i40e_link_speed == 100;
973 *val = i40e->i40e_link_speed == 1000;
976 *val = i40e->i40e_link_speed == 10000;
979 *val = i40e->i40e_link_speed == 40000;
1016 *val = i40e->i40e_link_duplex;
1019 i40e_stat_get_uint32(i40e, I40E_GLPRT_RUC(port),
1022 i40e_stat_get_uint32(i40e, I40E_GLPRT_MSPDC(port),
1029 i40e_stat_get_uint32(i40e, I40E_GLPRT_RJC(port),
1058 *val = (i40e->i40e_phy.abilities &
1062 *val = (i40e->i40e_phy.abilities &
1090 mutex_exit(&i40e->i40e_stat_lock);
1091 mutex_exit(&i40e->i40e_general_lock);
1095 mutex_exit(&i40e->i40e_stat_lock);
1096 mutex_exit(&i40e->i40e_general_lock);
1098 if (i40e_check_acc_handle(i40e->i40e_osdep_space.ios_reg_handle) !=
1100 ddi_fm_service_impact(i40e->i40e_dip, DDI_SERVICE_DEGRADED);
1111 i40e_t *i40e = itrq->itrq_i40e;
1113 if (i40e->i40e_state & I40E_SUSPENDED) {
1136 i40e_t *i40e = itrq->itrq_i40e;
1138 if (i40e->i40e_state & I40E_SUSPENDED) {
1181 i40e_t *i40e = itrq->itrq_i40e;
1187 ddi_get_instance(i40e->i40e_dip), buf, "net", KSTAT_TYPE_NAMED,
1196 ddi_get_instance(i40e->i40e_dip), buf, "net", KSTAT_TYPE_NAMED,