net/hns3: fix timing of clearing interrupt source
[dpdk.git] / drivers / net / hns3 / hns3_ethdev.h
index a6622a6..3485614 100644 (file)
@@ -155,7 +155,6 @@ struct hns3_tc_queue_info {
 };
 
 struct hns3_cfg {
-       uint8_t vmdq_vport_num;
        uint8_t tc_num;
        uint16_t tqp_desc_num;
        uint16_t rx_buf_len;
@@ -489,6 +488,7 @@ struct hns3_hw {
        struct hns3_rx_missed_stats imissed_stats;
        uint64_t oerror_stats;
        uint32_t fw_version;
+       uint16_t pf_vf_if_version;  /* version of communication interface */
 
        uint16_t num_msi;
        uint16_t total_tqps_num;    /* total task queue pairs of this PF */
@@ -738,7 +738,7 @@ struct hns3_ptype_table {
         * descriptor, it functions only when firmware report the capability of
         * HNS3_CAPS_RXD_ADV_LAYOUT_B and driver enabled it.
         */
-       uint32_t ptype[HNS3_PTYPE_NUM] __rte_cache_min_aligned;
+       uint32_t ptype[HNS3_PTYPE_NUM] __rte_cache_aligned;
 };
 
 #define HNS3_FIXED_MAX_TQP_NUM_MODE            0
@@ -783,6 +783,7 @@ struct hns3_pf {
        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;
 
        uint16_t wanted_umv_size;
        uint16_t max_umv_size;
@@ -842,7 +843,7 @@ struct hns3_adapter {
 
        uint64_t dev_caps_mask;
 
-       struct hns3_ptype_table ptype_tbl __rte_cache_min_aligned;
+       struct hns3_ptype_table ptype_tbl __rte_cache_aligned;
 };
 
 enum {
@@ -863,11 +864,14 @@ enum {
        HNS3_DEV_SUPPORT_COPPER_B,
        HNS3_DEV_SUPPORT_FD_QUEUE_REGION_B,
        HNS3_DEV_SUPPORT_PTP_B,
+       HNS3_DEV_SUPPORT_TX_PUSH_B,
        HNS3_DEV_SUPPORT_INDEP_TXRX_B,
        HNS3_DEV_SUPPORT_STASH_B,
        HNS3_DEV_SUPPORT_RXD_ADV_LAYOUT_B,
        HNS3_DEV_SUPPORT_OUTER_UDP_CKSUM_B,
        HNS3_DEV_SUPPORT_RAS_IMP_B,
+       HNS3_DEV_SUPPORT_TM_B,
+       HNS3_DEV_SUPPORT_VF_VLAN_FLT_MOD_B,
 };
 
 #define hns3_dev_dcb_supported(hw) \
@@ -901,6 +905,15 @@ enum {
 #define hns3_dev_ras_imp_supported(hw) \
        hns3_get_bit((hw)->capability, HNS3_DEV_SUPPORT_RAS_IMP_B)
 
+#define hns3_dev_tx_push_supported(hw) \
+               hns3_get_bit((hw)->capability, HNS3_DEV_SUPPORT_TX_PUSH_B)
+
+#define hns3_dev_tm_supported(hw) \
+       hns3_get_bit((hw)->capability, HNS3_DEV_SUPPORT_TM_B)
+
+#define hns3_dev_vf_vlan_flt_supported(hw) \
+       hns3_get_bit((hw)->capability, HNS3_DEV_SUPPORT_VF_VLAN_FLT_MOD_B)
+
 #define HNS3_DEV_PRIVATE_TO_HW(adapter) \
        (&((struct hns3_adapter *)adapter)->hw)
 #define HNS3_DEV_PRIVATE_TO_PF(adapter) \