X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fhns3%2Fhns3_ethdev.h;h=21412c44c24823c57e4e6ef4d6a3b30aec1fbe0d;hb=1256805dd54d;hp=c7625119a2c71cb5ab117f865169edf17867d391;hpb=6dca716c9e1daa8ea770a4a198bd068e72a2e03c;p=dpdk.git diff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h index c7625119a2..21412c44c2 100644 --- a/drivers/net/hns3/hns3_ethdev.h +++ b/drivers/net/hns3/hns3_ethdev.h @@ -26,6 +26,13 @@ #define HNS3_DEV_ID_100G_VF 0xA22E #define HNS3_DEV_ID_100G_RDMA_PFC_VF 0xA22F +/* PCI Config offsets */ +#define HNS3_PCI_REVISION_ID 0x08 +#define HNS3_PCI_REVISION_ID_LEN 1 + +#define HNS3_PF_FUNC_ID 0 +#define HNS3_1ST_VF_FUNC_ID 1 + #define HNS3_UC_MACADDR_NUM 128 #define HNS3_VF_UC_MACADDR_NUM 48 #define HNS3_MC_MACADDR_NUM 128 @@ -164,6 +171,13 @@ struct hns3_fake_queue_data { uint16_t nb_fake_tx_queues; /* Number of fake TX queues. */ }; +#define HNS3_PORT_BASE_VLAN_DISABLE 0 +#define HNS3_PORT_BASE_VLAN_ENABLE 1 +struct hns3_port_base_vlan_config { + uint16_t state; + uint16_t pvid; +}; + /* Primary process maintains driver state in main thread. * * +---------------+ @@ -343,6 +357,7 @@ struct hns3_reset_data { struct hns3_hw { struct rte_eth_dev_data *data; void *io_base; + uint8_t revision; /* PCI revision, low byte of class word */ struct hns3_cmq cmq; struct hns3_mbx_resp_status mbx_resp; /* mailbox response */ struct hns3_mbx_arq_ring arq; /* mailbox async rx queue */ @@ -357,6 +372,7 @@ struct hns3_hw { uint16_t num_msi; uint16_t total_tqps_num; /* total task queue pairs of this PF */ uint16_t tqps_num; /* num task queue pairs of this function */ + uint16_t intr_tqps_num; /* num queue pairs mapping interrupt */ uint16_t rss_size_max; /* HW defined max RSS task queue */ uint16_t rx_buf_len; uint16_t num_tx_desc; /* desc num of per tx queue */ @@ -367,6 +383,7 @@ struct hns3_hw { /* The configuration info of RSS */ struct hns3_rss_conf rss_info; + bool rss_dis_flag; /* disable rss flag. true: disable, false: enable */ uint8_t num_tc; /* Total number of enabled TCs */ uint8_t hw_tc_map; @@ -385,6 +402,8 @@ struct hns3_hw { uint16_t tx_qnum_per_tc; /* TX queue number per TC */ uint32_t flag; + + struct hns3_port_base_vlan_config port_base_vlan_cfg; /* * PMD setup and configuration is not thread safe. Since it is not * performance sensitive, it is better to guarantee thread-safety @@ -414,11 +433,6 @@ struct hns3_user_vlan_table { uint16_t vlan_id; }; -struct hns3_port_base_vlan_config { - uint16_t state; - uint16_t pvid; -}; - /* Vlan tag configuration for RX direction */ struct hns3_rx_vtag_cfg { uint8_t rx_vlan_offload_en; /* Whether enable rx vlan offload */ @@ -494,7 +508,6 @@ struct hns3_pf { bool support_sfp_query; struct hns3_vtag_cfg vtag_config; - struct hns3_port_base_vlan_config port_base_vlan_cfg; LIST_HEAD(vlan_tbl, hns3_user_vlan_table) vlan_list; struct hns3_fdir_info fdir; /* flow director info */