1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
2 | // Copyright (c) 2021 Hisilicon Limited. |
3 | |
4 | #ifndef __HNS3_ETHTOOL_H |
5 | #define __HNS3_ETHTOOL_H |
6 | |
7 | #include <linux/ethtool.h> |
8 | #include <linux/netdevice.h> |
9 | |
10 | struct hns3_stats { |
11 | char stats_string[ETH_GSTRING_LEN]; |
12 | int stats_offset; |
13 | }; |
14 | |
15 | struct hns3_sfp_type { |
16 | u8 type; |
17 | u8 ext_type; |
18 | }; |
19 | |
20 | struct hns3_pflag_desc { |
21 | char name[ETH_GSTRING_LEN]; |
22 | void (*handler)(struct net_device *netdev, bool enable); |
23 | }; |
24 | |
25 | struct hns3_ethtool_link_ext_state_mapping { |
26 | u32 status_code; |
27 | enum ethtool_link_ext_state link_ext_state; |
28 | u8 link_ext_substate; |
29 | }; |
30 | |
31 | struct hns3_ring_param { |
32 | u32 tx_desc_num; |
33 | u32 rx_desc_num; |
34 | u32 rx_buf_len; |
35 | }; |
36 | |
37 | #endif |
38 | |