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
10struct hns3_stats {
11	char stats_string[ETH_GSTRING_LEN];
12	int stats_offset;
13};
14
15struct hns3_sfp_type {
16	u8 type;
17	u8 ext_type;
18};
19
20struct hns3_pflag_desc {
21	char name[ETH_GSTRING_LEN];
22	void (*handler)(struct net_device *netdev, bool enable);
23};
24
25struct 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
31struct hns3_ring_param {
32	u32 tx_desc_num;
33	u32 rx_desc_num;
34	u32 rx_buf_len;
35};
36
37#endif
38