net/memif: fix overwriting of head segment
[dpdk.git] / drivers / net / hns3 / hns3_ethdev.h
index cf6380e..5e8a746 100644 (file)
@@ -500,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 */
 
@@ -519,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;
 
@@ -873,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,
@@ -1029,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);
@@ -1054,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)