net/bnxt: enhance RSS action support
[dpdk.git] / drivers / net / bnxt / bnxt.h
index 702ecac..5121d05 100644 (file)
 #define        BNXT_DEFAULT_VNIC_CHANGE_VF_ID_SFT              \
        HWRM_ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_VF_ID_SFT
 
+#define BNXT_EVENT_ERROR_REPORT_TYPE(data1)                            \
+       (((data1) &                                                     \
+         HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_MASK)  >>\
+        HWRM_ASYNC_EVENT_CMPL_ERROR_REPORT_BASE_EVENT_DATA1_ERROR_TYPE_SFT)
+
 #define BNXT_HWRM_CMD_TO_FORWARD(cmd)  \
                (bp->pf->vf_req_fwd[(cmd) / 32] |= (1 << ((cmd) % 32)))
 
@@ -496,9 +501,9 @@ struct bnxt_ctx_mem_buf_info {
 struct bnxt_error_recovery_info {
        /* All units in milliseconds */
        uint32_t        driver_polling_freq;
-       uint32_t        master_func_wait_period;
+       uint32_t        primary_func_wait_period;
        uint32_t        normal_func_wait_period;
-       uint32_t        master_func_wait_period_after_reset;
+       uint32_t        primary_func_wait_period_after_reset;
        uint32_t        max_bailout_time_after_reset;
 #define BNXT_FW_STATUS_REG             0
 #define BNXT_FW_HEARTBEAT_CNT_REG      1
@@ -515,7 +520,7 @@ struct bnxt_error_recovery_info {
        uint8_t         delay_after_reset[BNXT_NUM_RESET_REG];
 #define BNXT_FLAG_ERROR_RECOVERY_HOST  BIT(0)
 #define BNXT_FLAG_ERROR_RECOVERY_CO_CPU        BIT(1)
-#define BNXT_FLAG_MASTER_FUNC          BIT(2)
+#define BNXT_FLAG_PRIMARY_FUNC         BIT(2)
 #define BNXT_FLAG_RECOVERY_ENABLED     BIT(3)
        uint32_t        flags;
 
@@ -572,8 +577,7 @@ struct bnxt_rep_info {
        ETH_RSS_NONFRAG_IPV6_UDP |      \
        ETH_RSS_LEVEL_MASK)
 
-#define BNXT_DEV_TX_OFFLOAD_SUPPORT (DEV_TX_OFFLOAD_VLAN_INSERT | \
-                                    DEV_TX_OFFLOAD_IPV4_CKSUM | \
+#define BNXT_DEV_TX_OFFLOAD_SUPPORT (DEV_TX_OFFLOAD_IPV4_CKSUM | \
                                     DEV_TX_OFFLOAD_TCP_CKSUM | \
                                     DEV_TX_OFFLOAD_UDP_CKSUM | \
                                     DEV_TX_OFFLOAD_TCP_TSO | \
@@ -586,7 +590,6 @@ struct bnxt_rep_info {
                                     DEV_TX_OFFLOAD_MULTI_SEGS)
 
 #define BNXT_DEV_RX_OFFLOAD_SUPPORT (DEV_RX_OFFLOAD_VLAN_FILTER | \
-                                    DEV_RX_OFFLOAD_VLAN_STRIP | \
                                     DEV_RX_OFFLOAD_IPV4_CKSUM | \
                                     DEV_RX_OFFLOAD_UDP_CKSUM | \
                                     DEV_RX_OFFLOAD_TCP_CKSUM | \
@@ -732,6 +735,7 @@ struct bnxt {
 #define BNXT_FW_CAP_ADV_FLOW_COUNTERS  BIT(6)
 #define BNXT_FW_CAP_LINK_ADMIN         BIT(7)
 #define BNXT_FW_CAP_TRUFLOW_EN         BIT(8)
+#define BNXT_FW_CAP_VLAN_TX_INSERT     BIT(9)
 #define BNXT_TRUFLOW_EN(bp)    ((bp)->fw_cap & BNXT_FW_CAP_TRUFLOW_EN)
 
        pthread_mutex_t         flow_lock;
@@ -740,6 +744,8 @@ struct bnxt {
 #define BNXT_VNIC_CAP_COS_CLASSIFY     BIT(0)
 #define BNXT_VNIC_CAP_OUTER_RSS                BIT(1)
 #define BNXT_VNIC_CAP_RX_CMPL_V2       BIT(2)
+#define BNXT_VNIC_CAP_VLAN_RX_STRIP    BIT(3)
+#define BNXT_RX_VLAN_STRIP_EN(bp)      ((bp)->vnic_cap_flags & BNXT_VNIC_CAP_VLAN_RX_STRIP)
        unsigned int            rx_nr_rings;
        unsigned int            rx_cp_nr_rings;
        unsigned int            rx_num_qs_per_vnic;