net/memif: fix overwriting of head segment
[dpdk.git] / drivers / net / hns3 / hns3_ethdev.h
index 153e673..5e8a746 100644 (file)
@@ -155,8 +155,6 @@ struct hns3_tc_queue_info {
 
 struct hns3_cfg {
        uint8_t tc_num;
-       uint16_t tqp_desc_num;
-       uint16_t rx_buf_len;
        uint16_t rss_size_max;
        uint8_t phy_addr;
        uint8_t media_type;
@@ -502,8 +500,15 @@ struct hns3_hw {
        struct hns3_tqp_stats tqp_stats;
        /* Include Mac stats | Rx stats | Tx stats */
        struct hns3_mac_stats mac_stats;
+       uint32_t mac_stats_reg_num;
        struct hns3_rx_missed_stats imissed_stats;
        uint64_t oerror_stats;
+       /*
+        * The lock is used to protect statistics update in stats APIs and
+        * periodic task.
+        */
+       rte_spinlock_t stats_lock;
+
        uint32_t fw_version;
        uint16_t pf_vf_if_version;  /* version of communication interface */
 
@@ -513,8 +518,6 @@ struct hns3_hw {
        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;        /* hold min hardware rx buf len */
-       uint16_t num_tx_desc;       /* desc num of per tx queue */
-       uint16_t num_rx_desc;       /* desc num of per rx queue */
        uint32_t mng_entry_num;     /* number of manager table entry */
        uint32_t mac_entry_num;     /* number of mac-vlan table entry */
 
@@ -523,7 +526,6 @@ 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 */
        uint16_t rss_ind_tbl_size;
        uint16_t rss_key_size;
 
@@ -804,7 +806,6 @@ struct hns3_pf {
        uint8_t tc_max; /* max number of tc driver supported */
        uint8_t local_max_tc; /* max number of local tc */
        uint8_t pfc_max;
-       uint8_t prio_tc[HNS3_MAX_USER_PRIO]; /* TC indexed by prio */
        uint16_t pause_time;
        bool support_fc_autoneg;       /* support FC autonegotiate */
        bool support_multi_tc_pause;
@@ -878,7 +879,7 @@ struct hns3_adapter {
 
 #define HNS3_DEVARG_MBX_TIME_LIMIT_MS  "mbx_time_limit_ms"
 
-enum {
+enum hns3_dev_cap {
        HNS3_DEV_SUPPORT_DCB_B,
        HNS3_DEV_SUPPORT_COPPER_B,
        HNS3_DEV_SUPPORT_FD_QUEUE_REGION_B,
@@ -1034,6 +1035,8 @@ hns3_test_and_clear_bit(unsigned int nr, volatile uint64_t *addr)
        return __atomic_fetch_and(addr, ~mask, __ATOMIC_RELAXED) & mask;
 }
 
+int
+hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf);
 uint32_t hns3_get_speed_capa(struct hns3_hw *hw);
 
 int hns3_buffer_alloc(struct hns3_hw *hw);
@@ -1059,6 +1062,7 @@ int hns3_timesync_read_time(struct rte_eth_dev *dev, struct timespec *ts);
 int hns3_timesync_write_time(struct rte_eth_dev *dev,
                        const struct timespec *ts);
 int hns3_timesync_adjust_time(struct rte_eth_dev *dev, int64_t delta);
+int hns3_eth_dev_priv_dump(struct rte_eth_dev *dev, FILE *file);
 
 static inline bool
 is_reset_pending(struct hns3_adapter *hns)