Lines Matching +full:- +full:i

10  * vxge-ethtool.c: Driver for Exar Corp's X3100 Series 10GbE PCIe I/O
12 * Copyright(c) 2002-2010 Exar Corp.
19 #include "vxge-ethtool.h"
22 * vxge_ethtool_sset - Sets different link parameters.
35 if ((info->autoneg == AUTONEG_ENABLE) || in vxge_ethtool_sset()
37 (info->duplex != DUPLEX_FULL)) in vxge_ethtool_sset()
38 return -EINVAL; in vxge_ethtool_sset()
44 * vxge_ethtool_gset - Return link specific information.
55 info->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE); in vxge_ethtool_gset()
56 info->advertising = (ADVERTISED_10000baseT_Full | ADVERTISED_FIBRE); in vxge_ethtool_gset()
57 info->port = PORT_FIBRE; in vxge_ethtool_gset()
59 info->transceiver = XCVR_EXTERNAL; in vxge_ethtool_gset()
63 info->duplex = DUPLEX_FULL; in vxge_ethtool_gset()
65 ethtool_cmd_speed_set(info, -1); in vxge_ethtool_gset()
66 info->duplex = -1; in vxge_ethtool_gset()
69 info->autoneg = AUTONEG_DISABLE; in vxge_ethtool_gset()
74 * vxge_ethtool_gdrvinfo - Returns driver specific information.
85 strlcpy(info->driver, VXGE_DRIVER_NAME, sizeof(VXGE_DRIVER_NAME)); in vxge_ethtool_gdrvinfo()
86 strlcpy(info->version, DRV_VERSION, sizeof(DRV_VERSION)); in vxge_ethtool_gdrvinfo()
87 strlcpy(info->fw_version, vdev->fw_version, VXGE_HW_FW_STRLEN); in vxge_ethtool_gdrvinfo()
88 strlcpy(info->bus_info, pci_name(vdev->pdev), sizeof(info->bus_info)); in vxge_ethtool_gdrvinfo()
89 info->regdump_len = sizeof(struct vxge_hw_vpath_reg) in vxge_ethtool_gdrvinfo()
90 * vdev->no_of_vpath; in vxge_ethtool_gdrvinfo()
92 info->n_stats = STAT_LEN; in vxge_ethtool_gdrvinfo()
96 * vxge_ethtool_gregs - dumps the entire space of Titan into the buffer.
113 struct __vxge_hw_device *hldev = vdev->devh; in vxge_ethtool_gregs()
115 regs->len = sizeof(struct vxge_hw_vpath_reg) * vdev->no_of_vpath; in vxge_ethtool_gregs()
116 regs->version = vdev->pdev->subsystem_device; in vxge_ethtool_gregs()
117 for (index = 0; index < vdev->no_of_vpath; index++) { in vxge_ethtool_gregs()
122 vdev->vpaths[index].device_id, in vxge_ethtool_gregs()
136 * vxge_ethtool_idnic - To physically identify the nic on the system.
147 struct __vxge_hw_device *hldev = vdev->devh; in vxge_ethtool_idnic()
159 return -EINVAL; in vxge_ethtool_idnic()
166 * vxge_ethtool_getpause_data - Pause frame frame generation and reception.
178 struct __vxge_hw_device *hldev = vdev->devh; in vxge_ethtool_getpause_data()
180 vxge_hw_device_getpause_data(hldev, 0, &ep->tx_pause, &ep->rx_pause); in vxge_ethtool_getpause_data()
184 * vxge_ethtool_setpause_data - set/reset pause frame generation.
197 struct __vxge_hw_device *hldev = vdev->devh; in vxge_ethtool_setpause_data()
199 vxge_hw_device_setpause_data(hldev, 0, ep->tx_pause, ep->rx_pause); in vxge_ethtool_setpause_data()
201 vdev->config.tx_pause_enable = ep->tx_pause; in vxge_ethtool_setpause_data()
202 vdev->config.rx_pause_enable = ep->rx_pause; in vxge_ethtool_setpause_data()
215 struct __vxge_hw_device *hldev = vdev->devh; in vxge_get_ethtool_stats()
276 for (k = 0; k < vdev->no_of_vpath; k++) { in vxge_get_ethtool_stats()
279 vpath = &vdev->vpaths[k]; in vxge_get_ethtool_stats()
280 j = vpath->device_id; in vxge_get_ethtool_stats()
281 vpath_info = hw_stats->vpath_info[j]; in vxge_get_ethtool_stats()
290 *ptr++ = vpath_info->tx_stats.tx_ttl_eth_frms; in vxge_get_ethtool_stats()
291 *ptr++ = vpath_info->tx_stats.tx_ttl_eth_octets; in vxge_get_ethtool_stats()
292 *ptr++ = vpath_info->tx_stats.tx_data_octets; in vxge_get_ethtool_stats()
293 *ptr++ = vpath_info->tx_stats.tx_mcast_frms; in vxge_get_ethtool_stats()
294 *ptr++ = vpath_info->tx_stats.tx_bcast_frms; in vxge_get_ethtool_stats()
295 *ptr++ = vpath_info->tx_stats.tx_ucast_frms; in vxge_get_ethtool_stats()
296 *ptr++ = vpath_info->tx_stats.tx_tagged_frms; in vxge_get_ethtool_stats()
297 *ptr++ = vpath_info->tx_stats.tx_vld_ip; in vxge_get_ethtool_stats()
298 *ptr++ = vpath_info->tx_stats.tx_vld_ip_octets; in vxge_get_ethtool_stats()
299 *ptr++ = vpath_info->tx_stats.tx_icmp; in vxge_get_ethtool_stats()
300 *ptr++ = vpath_info->tx_stats.tx_tcp; in vxge_get_ethtool_stats()
301 *ptr++ = vpath_info->tx_stats.tx_rst_tcp; in vxge_get_ethtool_stats()
302 *ptr++ = vpath_info->tx_stats.tx_udp; in vxge_get_ethtool_stats()
303 *ptr++ = vpath_info->tx_stats.tx_unknown_protocol; in vxge_get_ethtool_stats()
304 *ptr++ = vpath_info->tx_stats.tx_lost_ip; in vxge_get_ethtool_stats()
305 *ptr++ = vpath_info->tx_stats.tx_parse_error; in vxge_get_ethtool_stats()
306 *ptr++ = vpath_info->tx_stats.tx_tcp_offload; in vxge_get_ethtool_stats()
307 *ptr++ = vpath_info->tx_stats.tx_retx_tcp_offload; in vxge_get_ethtool_stats()
308 *ptr++ = vpath_info->tx_stats.tx_lost_ip_offload; in vxge_get_ethtool_stats()
309 *ptr++ = vpath_info->rx_stats.rx_ttl_eth_frms; in vxge_get_ethtool_stats()
310 *ptr++ = vpath_info->rx_stats.rx_vld_frms; in vxge_get_ethtool_stats()
311 *ptr++ = vpath_info->rx_stats.rx_offload_frms; in vxge_get_ethtool_stats()
312 *ptr++ = vpath_info->rx_stats.rx_ttl_eth_octets; in vxge_get_ethtool_stats()
313 *ptr++ = vpath_info->rx_stats.rx_data_octets; in vxge_get_ethtool_stats()
314 *ptr++ = vpath_info->rx_stats.rx_offload_octets; in vxge_get_ethtool_stats()
315 *ptr++ = vpath_info->rx_stats.rx_vld_mcast_frms; in vxge_get_ethtool_stats()
316 *ptr++ = vpath_info->rx_stats.rx_vld_bcast_frms; in vxge_get_ethtool_stats()
317 *ptr++ = vpath_info->rx_stats.rx_accepted_ucast_frms; in vxge_get_ethtool_stats()
318 *ptr++ = vpath_info->rx_stats.rx_accepted_nucast_frms; in vxge_get_ethtool_stats()
319 *ptr++ = vpath_info->rx_stats.rx_tagged_frms; in vxge_get_ethtool_stats()
320 *ptr++ = vpath_info->rx_stats.rx_long_frms; in vxge_get_ethtool_stats()
321 *ptr++ = vpath_info->rx_stats.rx_usized_frms; in vxge_get_ethtool_stats()
322 *ptr++ = vpath_info->rx_stats.rx_osized_frms; in vxge_get_ethtool_stats()
323 *ptr++ = vpath_info->rx_stats.rx_frag_frms; in vxge_get_ethtool_stats()
324 *ptr++ = vpath_info->rx_stats.rx_jabber_frms; in vxge_get_ethtool_stats()
325 *ptr++ = vpath_info->rx_stats.rx_ttl_64_frms; in vxge_get_ethtool_stats()
326 *ptr++ = vpath_info->rx_stats.rx_ttl_65_127_frms; in vxge_get_ethtool_stats()
327 *ptr++ = vpath_info->rx_stats.rx_ttl_128_255_frms; in vxge_get_ethtool_stats()
328 *ptr++ = vpath_info->rx_stats.rx_ttl_256_511_frms; in vxge_get_ethtool_stats()
329 *ptr++ = vpath_info->rx_stats.rx_ttl_512_1023_frms; in vxge_get_ethtool_stats()
330 *ptr++ = vpath_info->rx_stats.rx_ttl_1024_1518_frms; in vxge_get_ethtool_stats()
331 *ptr++ = vpath_info->rx_stats.rx_ttl_1519_4095_frms; in vxge_get_ethtool_stats()
332 *ptr++ = vpath_info->rx_stats.rx_ttl_4096_8191_frms; in vxge_get_ethtool_stats()
333 *ptr++ = vpath_info->rx_stats.rx_ttl_8192_max_frms; in vxge_get_ethtool_stats()
334 *ptr++ = vpath_info->rx_stats.rx_ttl_gt_max_frms; in vxge_get_ethtool_stats()
335 *ptr++ = vpath_info->rx_stats.rx_ip; in vxge_get_ethtool_stats()
336 *ptr++ = vpath_info->rx_stats.rx_accepted_ip; in vxge_get_ethtool_stats()
337 *ptr++ = vpath_info->rx_stats.rx_ip_octets; in vxge_get_ethtool_stats()
338 *ptr++ = vpath_info->rx_stats.rx_err_ip; in vxge_get_ethtool_stats()
339 *ptr++ = vpath_info->rx_stats.rx_icmp; in vxge_get_ethtool_stats()
340 *ptr++ = vpath_info->rx_stats.rx_tcp; in vxge_get_ethtool_stats()
341 *ptr++ = vpath_info->rx_stats.rx_udp; in vxge_get_ethtool_stats()
342 *ptr++ = vpath_info->rx_stats.rx_err_tcp; in vxge_get_ethtool_stats()
343 *ptr++ = vpath_info->rx_stats.rx_lost_frms; in vxge_get_ethtool_stats()
344 *ptr++ = vpath_info->rx_stats.rx_lost_ip; in vxge_get_ethtool_stats()
345 *ptr++ = vpath_info->rx_stats.rx_lost_ip_offload; in vxge_get_ethtool_stats()
346 *ptr++ = vpath_info->rx_stats.rx_various_discard; in vxge_get_ethtool_stats()
347 *ptr++ = vpath_info->rx_stats.rx_sleep_discard; in vxge_get_ethtool_stats()
348 *ptr++ = vpath_info->rx_stats.rx_red_discard; in vxge_get_ethtool_stats()
349 *ptr++ = vpath_info->rx_stats.rx_queue_full_discard; in vxge_get_ethtool_stats()
350 *ptr++ = vpath_info->rx_stats.rx_mpa_ok_frms; in vxge_get_ethtool_stats()
353 for (k = 0; k < vdev->max_config_port; k++) { in vxge_get_ethtool_stats()
354 *ptr++ = xmac_stats->aggr_stats[k].tx_frms; in vxge_get_ethtool_stats()
355 *ptr++ = xmac_stats->aggr_stats[k].tx_data_octets; in vxge_get_ethtool_stats()
356 *ptr++ = xmac_stats->aggr_stats[k].tx_mcast_frms; in vxge_get_ethtool_stats()
357 *ptr++ = xmac_stats->aggr_stats[k].tx_bcast_frms; in vxge_get_ethtool_stats()
358 *ptr++ = xmac_stats->aggr_stats[k].tx_discarded_frms; in vxge_get_ethtool_stats()
359 *ptr++ = xmac_stats->aggr_stats[k].tx_errored_frms; in vxge_get_ethtool_stats()
360 *ptr++ = xmac_stats->aggr_stats[k].rx_frms; in vxge_get_ethtool_stats()
361 *ptr++ = xmac_stats->aggr_stats[k].rx_data_octets; in vxge_get_ethtool_stats()
362 *ptr++ = xmac_stats->aggr_stats[k].rx_mcast_frms; in vxge_get_ethtool_stats()
363 *ptr++ = xmac_stats->aggr_stats[k].rx_bcast_frms; in vxge_get_ethtool_stats()
364 *ptr++ = xmac_stats->aggr_stats[k].rx_discarded_frms; in vxge_get_ethtool_stats()
365 *ptr++ = xmac_stats->aggr_stats[k].rx_errored_frms; in vxge_get_ethtool_stats()
366 *ptr++ = xmac_stats->aggr_stats[k].rx_unknown_slow_proto_frms; in vxge_get_ethtool_stats()
369 for (k = 0; k < vdev->max_config_port; k++) { in vxge_get_ethtool_stats()
370 *ptr++ = xmac_stats->port_stats[k].tx_ttl_frms; in vxge_get_ethtool_stats()
371 *ptr++ = xmac_stats->port_stats[k].tx_ttl_octets; in vxge_get_ethtool_stats()
372 *ptr++ = xmac_stats->port_stats[k].tx_data_octets; in vxge_get_ethtool_stats()
373 *ptr++ = xmac_stats->port_stats[k].tx_mcast_frms; in vxge_get_ethtool_stats()
374 *ptr++ = xmac_stats->port_stats[k].tx_bcast_frms; in vxge_get_ethtool_stats()
375 *ptr++ = xmac_stats->port_stats[k].tx_ucast_frms; in vxge_get_ethtool_stats()
376 *ptr++ = xmac_stats->port_stats[k].tx_tagged_frms; in vxge_get_ethtool_stats()
377 *ptr++ = xmac_stats->port_stats[k].tx_vld_ip; in vxge_get_ethtool_stats()
378 *ptr++ = xmac_stats->port_stats[k].tx_vld_ip_octets; in vxge_get_ethtool_stats()
379 *ptr++ = xmac_stats->port_stats[k].tx_icmp; in vxge_get_ethtool_stats()
380 *ptr++ = xmac_stats->port_stats[k].tx_tcp; in vxge_get_ethtool_stats()
381 *ptr++ = xmac_stats->port_stats[k].tx_rst_tcp; in vxge_get_ethtool_stats()
382 *ptr++ = xmac_stats->port_stats[k].tx_udp; in vxge_get_ethtool_stats()
383 *ptr++ = xmac_stats->port_stats[k].tx_parse_error; in vxge_get_ethtool_stats()
384 *ptr++ = xmac_stats->port_stats[k].tx_unknown_protocol; in vxge_get_ethtool_stats()
385 *ptr++ = xmac_stats->port_stats[k].tx_pause_ctrl_frms; in vxge_get_ethtool_stats()
386 *ptr++ = xmac_stats->port_stats[k].tx_marker_pdu_frms; in vxge_get_ethtool_stats()
387 *ptr++ = xmac_stats->port_stats[k].tx_lacpdu_frms; in vxge_get_ethtool_stats()
388 *ptr++ = xmac_stats->port_stats[k].tx_drop_ip; in vxge_get_ethtool_stats()
389 *ptr++ = xmac_stats->port_stats[k].tx_marker_resp_pdu_frms; in vxge_get_ethtool_stats()
390 *ptr++ = xmac_stats->port_stats[k].tx_xgmii_char2_match; in vxge_get_ethtool_stats()
391 *ptr++ = xmac_stats->port_stats[k].tx_xgmii_char1_match; in vxge_get_ethtool_stats()
392 *ptr++ = xmac_stats->port_stats[k].tx_xgmii_column2_match; in vxge_get_ethtool_stats()
393 *ptr++ = xmac_stats->port_stats[k].tx_xgmii_column1_match; in vxge_get_ethtool_stats()
394 *ptr++ = xmac_stats->port_stats[k].tx_any_err_frms; in vxge_get_ethtool_stats()
395 *ptr++ = xmac_stats->port_stats[k].tx_drop_frms; in vxge_get_ethtool_stats()
396 *ptr++ = xmac_stats->port_stats[k].rx_ttl_frms; in vxge_get_ethtool_stats()
397 *ptr++ = xmac_stats->port_stats[k].rx_vld_frms; in vxge_get_ethtool_stats()
398 *ptr++ = xmac_stats->port_stats[k].rx_offload_frms; in vxge_get_ethtool_stats()
399 *ptr++ = xmac_stats->port_stats[k].rx_ttl_octets; in vxge_get_ethtool_stats()
400 *ptr++ = xmac_stats->port_stats[k].rx_data_octets; in vxge_get_ethtool_stats()
401 *ptr++ = xmac_stats->port_stats[k].rx_offload_octets; in vxge_get_ethtool_stats()
402 *ptr++ = xmac_stats->port_stats[k].rx_vld_mcast_frms; in vxge_get_ethtool_stats()
403 *ptr++ = xmac_stats->port_stats[k].rx_vld_bcast_frms; in vxge_get_ethtool_stats()
404 *ptr++ = xmac_stats->port_stats[k].rx_accepted_ucast_frms; in vxge_get_ethtool_stats()
405 *ptr++ = xmac_stats->port_stats[k].rx_accepted_nucast_frms; in vxge_get_ethtool_stats()
406 *ptr++ = xmac_stats->port_stats[k].rx_tagged_frms; in vxge_get_ethtool_stats()
407 *ptr++ = xmac_stats->port_stats[k].rx_long_frms; in vxge_get_ethtool_stats()
408 *ptr++ = xmac_stats->port_stats[k].rx_usized_frms; in vxge_get_ethtool_stats()
409 *ptr++ = xmac_stats->port_stats[k].rx_osized_frms; in vxge_get_ethtool_stats()
410 *ptr++ = xmac_stats->port_stats[k].rx_frag_frms; in vxge_get_ethtool_stats()
411 *ptr++ = xmac_stats->port_stats[k].rx_jabber_frms; in vxge_get_ethtool_stats()
412 *ptr++ = xmac_stats->port_stats[k].rx_ttl_64_frms; in vxge_get_ethtool_stats()
413 *ptr++ = xmac_stats->port_stats[k].rx_ttl_65_127_frms; in vxge_get_ethtool_stats()
414 *ptr++ = xmac_stats->port_stats[k].rx_ttl_128_255_frms; in vxge_get_ethtool_stats()
415 *ptr++ = xmac_stats->port_stats[k].rx_ttl_256_511_frms; in vxge_get_ethtool_stats()
416 *ptr++ = xmac_stats->port_stats[k].rx_ttl_512_1023_frms; in vxge_get_ethtool_stats()
417 *ptr++ = xmac_stats->port_stats[k].rx_ttl_1024_1518_frms; in vxge_get_ethtool_stats()
418 *ptr++ = xmac_stats->port_stats[k].rx_ttl_1519_4095_frms; in vxge_get_ethtool_stats()
419 *ptr++ = xmac_stats->port_stats[k].rx_ttl_4096_8191_frms; in vxge_get_ethtool_stats()
420 *ptr++ = xmac_stats->port_stats[k].rx_ttl_8192_max_frms; in vxge_get_ethtool_stats()
421 *ptr++ = xmac_stats->port_stats[k].rx_ttl_gt_max_frms; in vxge_get_ethtool_stats()
422 *ptr++ = xmac_stats->port_stats[k].rx_ip; in vxge_get_ethtool_stats()
423 *ptr++ = xmac_stats->port_stats[k].rx_accepted_ip; in vxge_get_ethtool_stats()
424 *ptr++ = xmac_stats->port_stats[k].rx_ip_octets; in vxge_get_ethtool_stats()
425 *ptr++ = xmac_stats->port_stats[k].rx_err_ip; in vxge_get_ethtool_stats()
426 *ptr++ = xmac_stats->port_stats[k].rx_icmp; in vxge_get_ethtool_stats()
427 *ptr++ = xmac_stats->port_stats[k].rx_tcp; in vxge_get_ethtool_stats()
428 *ptr++ = xmac_stats->port_stats[k].rx_udp; in vxge_get_ethtool_stats()
429 *ptr++ = xmac_stats->port_stats[k].rx_err_tcp; in vxge_get_ethtool_stats()
430 *ptr++ = xmac_stats->port_stats[k].rx_pause_count; in vxge_get_ethtool_stats()
431 *ptr++ = xmac_stats->port_stats[k].rx_pause_ctrl_frms; in vxge_get_ethtool_stats()
432 *ptr++ = xmac_stats->port_stats[k].rx_unsup_ctrl_frms; in vxge_get_ethtool_stats()
433 *ptr++ = xmac_stats->port_stats[k].rx_fcs_err_frms; in vxge_get_ethtool_stats()
434 *ptr++ = xmac_stats->port_stats[k].rx_in_rng_len_err_frms; in vxge_get_ethtool_stats()
435 *ptr++ = xmac_stats->port_stats[k].rx_out_rng_len_err_frms; in vxge_get_ethtool_stats()
436 *ptr++ = xmac_stats->port_stats[k].rx_drop_frms; in vxge_get_ethtool_stats()
437 *ptr++ = xmac_stats->port_stats[k].rx_discarded_frms; in vxge_get_ethtool_stats()
438 *ptr++ = xmac_stats->port_stats[k].rx_drop_ip; in vxge_get_ethtool_stats()
439 *ptr++ = xmac_stats->port_stats[k].rx_drop_udp; in vxge_get_ethtool_stats()
440 *ptr++ = xmac_stats->port_stats[k].rx_marker_pdu_frms; in vxge_get_ethtool_stats()
441 *ptr++ = xmac_stats->port_stats[k].rx_lacpdu_frms; in vxge_get_ethtool_stats()
442 *ptr++ = xmac_stats->port_stats[k].rx_unknown_pdu_frms; in vxge_get_ethtool_stats()
443 *ptr++ = xmac_stats->port_stats[k].rx_marker_resp_pdu_frms; in vxge_get_ethtool_stats()
444 *ptr++ = xmac_stats->port_stats[k].rx_fcs_discard; in vxge_get_ethtool_stats()
445 *ptr++ = xmac_stats->port_stats[k].rx_illegal_pdu_frms; in vxge_get_ethtool_stats()
446 *ptr++ = xmac_stats->port_stats[k].rx_switch_discard; in vxge_get_ethtool_stats()
447 *ptr++ = xmac_stats->port_stats[k].rx_len_discard; in vxge_get_ethtool_stats()
448 *ptr++ = xmac_stats->port_stats[k].rx_rpa_discard; in vxge_get_ethtool_stats()
449 *ptr++ = xmac_stats->port_stats[k].rx_l2_mgmt_discard; in vxge_get_ethtool_stats()
450 *ptr++ = xmac_stats->port_stats[k].rx_rts_discard; in vxge_get_ethtool_stats()
451 *ptr++ = xmac_stats->port_stats[k].rx_trash_discard; in vxge_get_ethtool_stats()
452 *ptr++ = xmac_stats->port_stats[k].rx_buff_full_discard; in vxge_get_ethtool_stats()
453 *ptr++ = xmac_stats->port_stats[k].rx_red_discard; in vxge_get_ethtool_stats()
454 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_ctrl_err_cnt; in vxge_get_ethtool_stats()
455 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_data_err_cnt; in vxge_get_ethtool_stats()
456 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_char1_match; in vxge_get_ethtool_stats()
457 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_err_sym; in vxge_get_ethtool_stats()
458 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_column1_match; in vxge_get_ethtool_stats()
459 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_char2_match; in vxge_get_ethtool_stats()
460 *ptr++ = xmac_stats->port_stats[k].rx_local_fault; in vxge_get_ethtool_stats()
461 *ptr++ = xmac_stats->port_stats[k].rx_xgmii_column2_match; in vxge_get_ethtool_stats()
462 *ptr++ = xmac_stats->port_stats[k].rx_jettison; in vxge_get_ethtool_stats()
463 *ptr++ = xmac_stats->port_stats[k].rx_remote_fault; in vxge_get_ethtool_stats()
467 for (k = 0; k < vdev->no_of_vpath; k++) { in vxge_get_ethtool_stats()
470 vpath = &vdev->vpaths[k]; in vxge_get_ethtool_stats()
471 j = vpath->device_id; in vxge_get_ethtool_stats()
473 &sw_stats->vpath_info[j]; in vxge_get_ethtool_stats()
474 *ptr++ = vpath_info->soft_reset_cnt; in vxge_get_ethtool_stats()
475 *ptr++ = vpath_info->error_stats.unknown_alarms; in vxge_get_ethtool_stats()
476 *ptr++ = vpath_info->error_stats.network_sustained_fault; in vxge_get_ethtool_stats()
477 *ptr++ = vpath_info->error_stats.network_sustained_ok; in vxge_get_ethtool_stats()
478 *ptr++ = vpath_info->error_stats.kdfcctl_fifo0_overwrite; in vxge_get_ethtool_stats()
479 *ptr++ = vpath_info->error_stats.kdfcctl_fifo0_poison; in vxge_get_ethtool_stats()
480 *ptr++ = vpath_info->error_stats.kdfcctl_fifo0_dma_error; in vxge_get_ethtool_stats()
481 *ptr++ = vpath_info->error_stats.dblgen_fifo0_overflow; in vxge_get_ethtool_stats()
482 *ptr++ = vpath_info->error_stats.statsb_pif_chain_error; in vxge_get_ethtool_stats()
483 *ptr++ = vpath_info->error_stats.statsb_drop_timeout; in vxge_get_ethtool_stats()
484 *ptr++ = vpath_info->error_stats.target_illegal_access; in vxge_get_ethtool_stats()
485 *ptr++ = vpath_info->error_stats.ini_serr_det; in vxge_get_ethtool_stats()
486 *ptr++ = vpath_info->error_stats.prc_ring_bumps; in vxge_get_ethtool_stats()
487 *ptr++ = vpath_info->error_stats.prc_rxdcm_sc_err; in vxge_get_ethtool_stats()
488 *ptr++ = vpath_info->error_stats.prc_rxdcm_sc_abort; in vxge_get_ethtool_stats()
489 *ptr++ = vpath_info->error_stats.prc_quanta_size_err; in vxge_get_ethtool_stats()
490 *ptr++ = vpath_info->ring_stats.common_stats.full_cnt; in vxge_get_ethtool_stats()
491 *ptr++ = vpath_info->ring_stats.common_stats.usage_cnt; in vxge_get_ethtool_stats()
492 *ptr++ = vpath_info->ring_stats.common_stats.usage_max; in vxge_get_ethtool_stats()
493 *ptr++ = vpath_info->ring_stats.common_stats. in vxge_get_ethtool_stats()
495 *ptr++ = vpath_info->ring_stats.common_stats.total_compl_cnt; in vxge_get_ethtool_stats()
497 *ptr++ = vpath_info->ring_stats.rxd_t_code_err_cnt[j]; in vxge_get_ethtool_stats()
498 *ptr++ = vpath_info->fifo_stats.common_stats.full_cnt; in vxge_get_ethtool_stats()
499 *ptr++ = vpath_info->fifo_stats.common_stats.usage_cnt; in vxge_get_ethtool_stats()
500 *ptr++ = vpath_info->fifo_stats.common_stats.usage_max; in vxge_get_ethtool_stats()
501 *ptr++ = vpath_info->fifo_stats.common_stats. in vxge_get_ethtool_stats()
503 *ptr++ = vpath_info->fifo_stats.common_stats.total_compl_cnt; in vxge_get_ethtool_stats()
504 *ptr++ = vpath_info->fifo_stats.total_posts; in vxge_get_ethtool_stats()
505 *ptr++ = vpath_info->fifo_stats.total_buffers; in vxge_get_ethtool_stats()
507 *ptr++ = vpath_info->fifo_stats.txd_t_code_err_cnt[j]; in vxge_get_ethtool_stats()
511 for (k = 0; k < vdev->no_of_vpath; k++) { in vxge_get_ethtool_stats()
513 vpath = &vdev->vpaths[k]; in vxge_get_ethtool_stats()
514 j = vpath->device_id; in vxge_get_ethtool_stats()
515 vpath_info = hw_stats->vpath_info[j]; in vxge_get_ethtool_stats()
521 *ptr++ = vpath_info->ini_num_mwr_sent; in vxge_get_ethtool_stats()
522 *ptr++ = vpath_info->ini_num_mrd_sent; in vxge_get_ethtool_stats()
523 *ptr++ = vpath_info->ini_num_cpl_rcvd; in vxge_get_ethtool_stats()
524 *ptr++ = vpath_info->ini_num_mwr_byte_sent; in vxge_get_ethtool_stats()
525 *ptr++ = vpath_info->ini_num_cpl_byte_rcvd; in vxge_get_ethtool_stats()
526 *ptr++ = vpath_info->wrcrdtarb_xoff; in vxge_get_ethtool_stats()
527 *ptr++ = vpath_info->rdcrdtarb_xoff; in vxge_get_ethtool_stats()
528 *ptr++ = vpath_info->vpath_genstats_count0; in vxge_get_ethtool_stats()
529 *ptr++ = vpath_info->vpath_genstats_count1; in vxge_get_ethtool_stats()
530 *ptr++ = vpath_info->vpath_genstats_count2; in vxge_get_ethtool_stats()
531 *ptr++ = vpath_info->vpath_genstats_count3; in vxge_get_ethtool_stats()
532 *ptr++ = vpath_info->vpath_genstats_count4; in vxge_get_ethtool_stats()
533 *ptr++ = vpath_info->vpath_genstats_count5; in vxge_get_ethtool_stats()
534 *ptr++ = vpath_info->prog_event_vnum0; in vxge_get_ethtool_stats()
535 *ptr++ = vpath_info->prog_event_vnum1; in vxge_get_ethtool_stats()
536 *ptr++ = vpath_info->prog_event_vnum2; in vxge_get_ethtool_stats()
537 *ptr++ = vpath_info->prog_event_vnum3; in vxge_get_ethtool_stats()
538 *ptr++ = vpath_info->rx_multi_cast_frame_discard; in vxge_get_ethtool_stats()
539 *ptr++ = vpath_info->rx_frm_transferred; in vxge_get_ethtool_stats()
540 *ptr++ = vpath_info->rxd_returned; in vxge_get_ethtool_stats()
541 *ptr++ = vpath_info->rx_mpa_len_fail_frms; in vxge_get_ethtool_stats()
542 *ptr++ = vpath_info->rx_mpa_mrk_fail_frms; in vxge_get_ethtool_stats()
543 *ptr++ = vpath_info->rx_mpa_crc_fail_frms; in vxge_get_ethtool_stats()
544 *ptr++ = vpath_info->rx_permitted_frms; in vxge_get_ethtool_stats()
545 *ptr++ = vpath_info->rx_vp_reset_discarded_frms; in vxge_get_ethtool_stats()
546 *ptr++ = vpath_info->rx_wol_frms; in vxge_get_ethtool_stats()
547 *ptr++ = vpath_info->tx_vp_reset_discarded_frms; in vxge_get_ethtool_stats()
551 *ptr++ = vdev->stats.vpaths_open; in vxge_get_ethtool_stats()
552 *ptr++ = vdev->stats.vpath_open_fail; in vxge_get_ethtool_stats()
553 *ptr++ = vdev->stats.link_up; in vxge_get_ethtool_stats()
554 *ptr++ = vdev->stats.link_down; in vxge_get_ethtool_stats()
556 for (k = 0; k < vdev->no_of_vpath; k++) { in vxge_get_ethtool_stats()
557 *ptr += vdev->vpaths[k].fifo.stats.tx_frms; in vxge_get_ethtool_stats()
558 *(ptr + 1) += vdev->vpaths[k].fifo.stats.tx_errors; in vxge_get_ethtool_stats()
559 *(ptr + 2) += vdev->vpaths[k].fifo.stats.tx_bytes; in vxge_get_ethtool_stats()
560 *(ptr + 3) += vdev->vpaths[k].fifo.stats.txd_not_free; in vxge_get_ethtool_stats()
561 *(ptr + 4) += vdev->vpaths[k].fifo.stats.txd_out_of_desc; in vxge_get_ethtool_stats()
562 *(ptr + 5) += vdev->vpaths[k].ring.stats.rx_frms; in vxge_get_ethtool_stats()
563 *(ptr + 6) += vdev->vpaths[k].ring.stats.rx_errors; in vxge_get_ethtool_stats()
564 *(ptr + 7) += vdev->vpaths[k].ring.stats.rx_bytes; in vxge_get_ethtool_stats()
565 *(ptr + 8) += vdev->vpaths[k].ring.stats.rx_mcast; in vxge_get_ethtool_stats()
566 *(ptr + 9) += vdev->vpaths[k].fifo.stats.pci_map_fail + in vxge_get_ethtool_stats()
567 vdev->vpaths[k].ring.stats.pci_map_fail; in vxge_get_ethtool_stats()
568 *(ptr + 10) += vdev->vpaths[k].ring.stats.skb_alloc_fail; in vxge_get_ethtool_stats()
582 int i, j; in vxge_ethtool_get_strings() local
588 for (i = 0; i < vdev->no_of_vpath; i++) { in vxge_ethtool_get_strings()
590 &stat_size, data, i); in vxge_ethtool_get_strings()
592 &stat_size, data, i); in vxge_ethtool_get_strings()
594 &stat_size, data, i); in vxge_ethtool_get_strings()
596 &stat_size, data, i); in vxge_ethtool_get_strings()
598 &stat_size, data, i); in vxge_ethtool_get_strings()
600 &stat_size, data, i); in vxge_ethtool_get_strings()
602 &stat_size, data, i); in vxge_ethtool_get_strings()
604 &stat_size, data, i); in vxge_ethtool_get_strings()
606 &stat_size, data, i); in vxge_ethtool_get_strings()
608 &stat_size, data, i); in vxge_ethtool_get_strings()
610 &stat_size, data, i); in vxge_ethtool_get_strings()
612 &stat_size, data, i); in vxge_ethtool_get_strings()
614 &stat_size, data, i); in vxge_ethtool_get_strings()
616 &stat_size, data, i); in vxge_ethtool_get_strings()
618 &stat_size, data, i); in vxge_ethtool_get_strings()
620 &stat_size, data, i); in vxge_ethtool_get_strings()
622 &stat_size, data, i); in vxge_ethtool_get_strings()
624 &stat_size, data, i); in vxge_ethtool_get_strings()
626 &stat_size, data, i); in vxge_ethtool_get_strings()
628 &stat_size, data, i); in vxge_ethtool_get_strings()
630 &stat_size, data, i); in vxge_ethtool_get_strings()
632 &stat_size, data, i); in vxge_ethtool_get_strings()
634 &stat_size, data, i); in vxge_ethtool_get_strings()
636 &stat_size, data, i); in vxge_ethtool_get_strings()
638 &stat_size, data, i); in vxge_ethtool_get_strings()
640 &stat_size, data, i); in vxge_ethtool_get_strings()
642 &stat_size, data, i); in vxge_ethtool_get_strings()
644 &stat_size, data, i); in vxge_ethtool_get_strings()
646 &stat_size, data, i); in vxge_ethtool_get_strings()
648 &stat_size, data, i); in vxge_ethtool_get_strings()
650 &stat_size, data, i); in vxge_ethtool_get_strings()
652 &stat_size, data, i); in vxge_ethtool_get_strings()
654 &stat_size, data, i); in vxge_ethtool_get_strings()
656 &stat_size, data, i); in vxge_ethtool_get_strings()
658 &stat_size, data, i); in vxge_ethtool_get_strings()
660 &stat_size, data, i); in vxge_ethtool_get_strings()
662 &stat_size, data, i); in vxge_ethtool_get_strings()
664 &stat_size, data, i); in vxge_ethtool_get_strings()
666 &stat_size, data, i); in vxge_ethtool_get_strings()
668 &stat_size, data, i); in vxge_ethtool_get_strings()
670 &stat_size, data, i); in vxge_ethtool_get_strings()
672 &stat_size, data, i); in vxge_ethtool_get_strings()
674 &stat_size, data, i); in vxge_ethtool_get_strings()
676 &stat_size, data, i); in vxge_ethtool_get_strings()
678 &stat_size, data, i); in vxge_ethtool_get_strings()
680 &stat_size, data, i); in vxge_ethtool_get_strings()
682 &stat_size, data, i); in vxge_ethtool_get_strings()
684 &stat_size, data, i); in vxge_ethtool_get_strings()
686 &stat_size, data, i); in vxge_ethtool_get_strings()
688 &stat_size, data, i); in vxge_ethtool_get_strings()
690 &stat_size, data, i); in vxge_ethtool_get_strings()
692 &stat_size, data, i); in vxge_ethtool_get_strings()
694 &stat_size, data, i); in vxge_ethtool_get_strings()
696 &stat_size, data, i); in vxge_ethtool_get_strings()
698 &stat_size, data, i); in vxge_ethtool_get_strings()
700 &stat_size, data, i); in vxge_ethtool_get_strings()
702 &stat_size, data, i); in vxge_ethtool_get_strings()
704 &stat_size, data, i); in vxge_ethtool_get_strings()
706 &stat_size, data, i); in vxge_ethtool_get_strings()
708 &stat_size, data, i); in vxge_ethtool_get_strings()
710 &stat_size, data, i); in vxge_ethtool_get_strings()
715 for (i = 0; i < vdev->max_config_port; i++) { in vxge_ethtool_get_strings()
717 &stat_size, data, i); in vxge_ethtool_get_strings()
719 &stat_size, data, i); in vxge_ethtool_get_strings()
721 &stat_size, data, i); in vxge_ethtool_get_strings()
723 &stat_size, data, i); in vxge_ethtool_get_strings()
725 &stat_size, data, i); in vxge_ethtool_get_strings()
727 &stat_size, data, i); in vxge_ethtool_get_strings()
729 &stat_size, data, i); in vxge_ethtool_get_strings()
731 &stat_size, data, i); in vxge_ethtool_get_strings()
733 &stat_size, data, i); in vxge_ethtool_get_strings()
735 &stat_size, data, i); in vxge_ethtool_get_strings()
737 &stat_size, data, i); in vxge_ethtool_get_strings()
739 &stat_size, data, i); in vxge_ethtool_get_strings()
741 &stat_size, data, i); in vxge_ethtool_get_strings()
746 for (i = 0; i < vdev->max_config_port; i++) { in vxge_ethtool_get_strings()
748 &stat_size, data, i); in vxge_ethtool_get_strings()
750 &stat_size, data, i); in vxge_ethtool_get_strings()
752 &stat_size, data, i); in vxge_ethtool_get_strings()
754 &stat_size, data, i); in vxge_ethtool_get_strings()
756 &stat_size, data, i); in vxge_ethtool_get_strings()
758 &stat_size, data, i); in vxge_ethtool_get_strings()
760 &stat_size, data, i); in vxge_ethtool_get_strings()
762 &stat_size, data, i); in vxge_ethtool_get_strings()
764 &stat_size, data, i); in vxge_ethtool_get_strings()
766 &stat_size, data, i); in vxge_ethtool_get_strings()
768 &stat_size, data, i); in vxge_ethtool_get_strings()
770 &stat_size, data, i); in vxge_ethtool_get_strings()
772 &stat_size, data, i); in vxge_ethtool_get_strings()
774 &stat_size, data, i); in vxge_ethtool_get_strings()
776 &stat_size, data, i); in vxge_ethtool_get_strings()
778 &stat_size, data, i); in vxge_ethtool_get_strings()
780 &stat_size, data, i); in vxge_ethtool_get_strings()
782 &stat_size, data, i); in vxge_ethtool_get_strings()
784 &stat_size, data, i); in vxge_ethtool_get_strings()
786 &stat_size, data, i); in vxge_ethtool_get_strings()
788 &stat_size, data, i); in vxge_ethtool_get_strings()
790 &stat_size, data, i); in vxge_ethtool_get_strings()
792 &stat_size, data, i); in vxge_ethtool_get_strings()
794 &stat_size, data, i); in vxge_ethtool_get_strings()
796 &stat_size, data, i); in vxge_ethtool_get_strings()
798 &stat_size, data, i); in vxge_ethtool_get_strings()
800 &stat_size, data, i); in vxge_ethtool_get_strings()
802 &stat_size, data, i); in vxge_ethtool_get_strings()
804 &stat_size, data, i); in vxge_ethtool_get_strings()
806 &stat_size, data, i); in vxge_ethtool_get_strings()
808 &stat_size, data, i); in vxge_ethtool_get_strings()
810 &stat_size, data, i); in vxge_ethtool_get_strings()
812 &stat_size, data, i); in vxge_ethtool_get_strings()
814 &stat_size, data, i); in vxge_ethtool_get_strings()
816 &stat_size, data, i); in vxge_ethtool_get_strings()
818 &stat_size, data, i); in vxge_ethtool_get_strings()
820 &stat_size, data, i); in vxge_ethtool_get_strings()
822 &stat_size, data, i); in vxge_ethtool_get_strings()
824 &stat_size, data, i); in vxge_ethtool_get_strings()
826 &stat_size, data, i); in vxge_ethtool_get_strings()
828 &stat_size, data, i); in vxge_ethtool_get_strings()
830 &stat_size, data, i); in vxge_ethtool_get_strings()
832 &stat_size, data, i); in vxge_ethtool_get_strings()
834 &stat_size, data, i); in vxge_ethtool_get_strings()
836 &stat_size, data, i); in vxge_ethtool_get_strings()
838 &stat_size, data, i); in vxge_ethtool_get_strings()
840 &stat_size, data, i); in vxge_ethtool_get_strings()
842 &stat_size, data, i); in vxge_ethtool_get_strings()
844 &stat_size, data, i); in vxge_ethtool_get_strings()
846 &stat_size, data, i); in vxge_ethtool_get_strings()
848 &stat_size, data, i); in vxge_ethtool_get_strings()
850 &stat_size, data, i); in vxge_ethtool_get_strings()
852 &stat_size, data, i); in vxge_ethtool_get_strings()
854 &stat_size, data, i); in vxge_ethtool_get_strings()
856 &stat_size, data, i); in vxge_ethtool_get_strings()
858 &stat_size, data, i); in vxge_ethtool_get_strings()
860 &stat_size, data, i); in vxge_ethtool_get_strings()
862 &stat_size, data, i); in vxge_ethtool_get_strings()
864 &stat_size, data, i); in vxge_ethtool_get_strings()
866 &stat_size, data, i); in vxge_ethtool_get_strings()
868 &stat_size, data, i); in vxge_ethtool_get_strings()
870 &stat_size, data, i); in vxge_ethtool_get_strings()
872 &stat_size, data, i); in vxge_ethtool_get_strings()
874 &stat_size, data, i); in vxge_ethtool_get_strings()
876 &stat_size, data, i); in vxge_ethtool_get_strings()
878 &stat_size, data, i); in vxge_ethtool_get_strings()
880 &stat_size, data, i); in vxge_ethtool_get_strings()
882 &stat_size, data, i); in vxge_ethtool_get_strings()
884 &stat_size, data, i); in vxge_ethtool_get_strings()
886 &stat_size, data, i); in vxge_ethtool_get_strings()
888 &stat_size, data, i); in vxge_ethtool_get_strings()
890 &stat_size, data, i); in vxge_ethtool_get_strings()
892 &stat_size, data, i); in vxge_ethtool_get_strings()
894 &stat_size, data, i); in vxge_ethtool_get_strings()
896 &stat_size, data, i); in vxge_ethtool_get_strings()
898 &stat_size, data, i); in vxge_ethtool_get_strings()
900 &stat_size, data, i); in vxge_ethtool_get_strings()
902 &stat_size, data, i); in vxge_ethtool_get_strings()
904 &stat_size, data, i); in vxge_ethtool_get_strings()
906 &stat_size, data, i); in vxge_ethtool_get_strings()
908 &stat_size, data, i); in vxge_ethtool_get_strings()
910 &stat_size, data, i); in vxge_ethtool_get_strings()
912 &stat_size, data, i); in vxge_ethtool_get_strings()
914 &stat_size, data, i); in vxge_ethtool_get_strings()
916 &stat_size, data, i); in vxge_ethtool_get_strings()
918 &stat_size, data, i); in vxge_ethtool_get_strings()
920 &stat_size, data, i); in vxge_ethtool_get_strings()
922 &stat_size, data, i); in vxge_ethtool_get_strings()
924 &stat_size, data, i); in vxge_ethtool_get_strings()
926 &stat_size, data, i); in vxge_ethtool_get_strings()
928 &stat_size, data, i); in vxge_ethtool_get_strings()
930 &stat_size, data, i); in vxge_ethtool_get_strings()
932 &stat_size, data, i); in vxge_ethtool_get_strings()
934 &stat_size, data, i); in vxge_ethtool_get_strings()
939 for (i = 0; i < vdev->no_of_vpath; i++) { in vxge_ethtool_get_strings()
941 &stat_size, data, i); in vxge_ethtool_get_strings()
943 &stat_size, data, i); in vxge_ethtool_get_strings()
945 &stat_size, data, i); in vxge_ethtool_get_strings()
947 &stat_size, data, i); in vxge_ethtool_get_strings()
949 &stat_size, data, i); in vxge_ethtool_get_strings()
951 &stat_size, data, i); in vxge_ethtool_get_strings()
953 &stat_size, data, i); in vxge_ethtool_get_strings()
955 &stat_size, data, i); in vxge_ethtool_get_strings()
957 &stat_size, data, i); in vxge_ethtool_get_strings()
959 &stat_size, data, i); in vxge_ethtool_get_strings()
961 &stat_size, data, i); in vxge_ethtool_get_strings()
963 &stat_size, data, i); in vxge_ethtool_get_strings()
965 &stat_size, data, i); in vxge_ethtool_get_strings()
967 &stat_size, data, i); in vxge_ethtool_get_strings()
969 &stat_size, data, i); in vxge_ethtool_get_strings()
971 &stat_size, data, i); in vxge_ethtool_get_strings()
973 &stat_size, data, i); in vxge_ethtool_get_strings()
975 &stat_size, data, i); in vxge_ethtool_get_strings()
977 &stat_size, data, i); in vxge_ethtool_get_strings()
979 &stat_size, data, i); in vxge_ethtool_get_strings()
981 &stat_size, data, i); in vxge_ethtool_get_strings()
984 &stat_size, data, j, i); in vxge_ethtool_get_strings()
986 &stat_size, data, i); in vxge_ethtool_get_strings()
988 &stat_size, data, i); in vxge_ethtool_get_strings()
990 &stat_size, data, i); in vxge_ethtool_get_strings()
992 &stat_size, data, i); in vxge_ethtool_get_strings()
994 &stat_size, data, i); in vxge_ethtool_get_strings()
996 &stat_size, data, i); in vxge_ethtool_get_strings()
998 &stat_size, data, i); in vxge_ethtool_get_strings()
1001 &stat_size, data, j, i); in vxge_ethtool_get_strings()
1006 for (i = 0; i < vdev->no_of_vpath; i++) { in vxge_ethtool_get_strings()
1008 &stat_size, data, i); in vxge_ethtool_get_strings()
1010 &stat_size, data, i); in vxge_ethtool_get_strings()
1012 &stat_size, data, i); in vxge_ethtool_get_strings()
1014 &stat_size, data, i); in vxge_ethtool_get_strings()
1016 &stat_size, data, i); in vxge_ethtool_get_strings()
1018 &stat_size, data, i); in vxge_ethtool_get_strings()
1020 &stat_size, data, i); in vxge_ethtool_get_strings()
1022 &stat_size, data, i); in vxge_ethtool_get_strings()
1024 &stat_size, data, i); in vxge_ethtool_get_strings()
1026 &stat_size, data, i); in vxge_ethtool_get_strings()
1028 &stat_size, data, i); in vxge_ethtool_get_strings()
1030 &stat_size, data, i); in vxge_ethtool_get_strings()
1032 &stat_size, data, i); in vxge_ethtool_get_strings()
1034 &stat_size, data, i); in vxge_ethtool_get_strings()
1036 &stat_size, data, i); in vxge_ethtool_get_strings()
1038 &stat_size, data, i); in vxge_ethtool_get_strings()
1040 &stat_size, data, i); in vxge_ethtool_get_strings()
1042 &stat_size, data, i); in vxge_ethtool_get_strings()
1044 &stat_size, data, i); in vxge_ethtool_get_strings()
1046 &stat_size, data, i); in vxge_ethtool_get_strings()
1048 &stat_size, data, i); in vxge_ethtool_get_strings()
1050 &stat_size, data, i); in vxge_ethtool_get_strings()
1052 &stat_size, data, i); in vxge_ethtool_get_strings()
1054 &stat_size, data, i); in vxge_ethtool_get_strings()
1056 &stat_size, data, i); in vxge_ethtool_get_strings()
1058 &stat_size, data, i); in vxge_ethtool_get_strings()
1060 &stat_size, data, i); in vxge_ethtool_get_strings()
1072 return sizeof(struct vxge_hw_vpath_reg) * vdev->no_of_vpath; in vxge_ethtool_get_regs_len()
1082 (vdev->no_of_vpath * VXGE_HW_VPATH_STATS_LEN) + in vxge_ethtool_get_sset_count()
1083 (vdev->max_config_port * VXGE_HW_AGGR_STATS_LEN) + in vxge_ethtool_get_sset_count()
1084 (vdev->max_config_port * VXGE_HW_PORT_STATS_LEN) + in vxge_ethtool_get_sset_count()
1085 (vdev->no_of_vpath * VXGE_HW_VPATH_TX_STATS_LEN) + in vxge_ethtool_get_sset_count()
1086 (vdev->no_of_vpath * VXGE_HW_VPATH_RX_STATS_LEN) + in vxge_ethtool_get_sset_count()
1087 (vdev->no_of_vpath * VXGE_SW_STATS_LEN) + in vxge_ethtool_get_sset_count()
1090 return -EOPNOTSUPP; in vxge_ethtool_get_sset_count()
1098 if (vdev->max_vpath_supported != VXGE_HW_MAX_VIRTUAL_PATHS) { in vxge_fw_flash()
1101 return -EINVAL; in vxge_fw_flash()
1106 "firmware\n", dev->name); in vxge_fw_flash()
1107 return -EBUSY; in vxge_fw_flash()
1110 return vxge_fw_upgrade(vdev, parms->data, 1); in vxge_fw_flash()