net/ice/base: track HW stat registers past rollover
[dpdk.git] / drivers / net / ice / base / ice_flex_type.h
index 365f333..d23b2ae 100644 (file)
@@ -5,12 +5,18 @@
 #ifndef _ICE_FLEX_TYPE_H_
 #define _ICE_FLEX_TYPE_H_
 
+#define ICE_FV_OFFSET_INVAL    0x1FF
+
+#pragma pack(1)
 /* Extraction Sequence (Field Vector) Table */
 struct ice_fv_word {
        u8 prot_id;
-       u8 off;         /* Offset within the protocol header */
+       u16 off;                /* Offset within the protocol header */
+       u8 resvrd;
 };
 
+#pragma pack()
+
 #define ICE_MAX_FV_WORDS 48
 struct ice_fv {
        struct ice_fv_word ew[ICE_MAX_FV_WORDS];
@@ -449,17 +455,7 @@ struct ice_pkg_enum {
 
 enum ice_tunnel_type {
        TNL_VXLAN = 0,
-       TNL_GTPC,
-       TNL_GTPC_TEID,
-       TNL_GTPU,
-       TNL_GTPU_TEID,
-       TNL_VXLAN_GPE,
        TNL_GENEVE,
-       TNL_NAT,
-       TNL_ROCE_V2,
-       TNL_MPLSO_UDP,
-       TNL_UDP2_END,
-       TNL_UPD_END,
        TNL_LAST = 0xFF,
        TNL_ALL = 0xFF,
 };
@@ -497,11 +493,11 @@ struct ice_es {
        u16 count;
        u16 fvw;
        u16 *ref_count;
-       u8 *written;
-       u8 reverse; /* set to true to reverse FV order */
        struct LIST_HEAD_TYPE prof_map;
        struct ice_fv_word *t;
-       u8 *resource_used_hack; /* hack for testing */
+       struct ice_lock prof_map_lock;  /* protect access to profiles list */
+       u8 *written;
+       u8 reverse; /* set to true to reverse FV order */
 };
 
 /* PTYPE Group management */
@@ -654,7 +650,6 @@ struct ice_prof_tcam {
        u16 max_prof_id;
        u8 cdid_bits; /* # cdid bits to use in key, 0, 2, 4, or 8 */
        struct ice_prof_tcam_entry *t;
-       u8 *resource_used_hack;
 };
 
 struct ice_prof_redir {
@@ -671,6 +666,7 @@ struct ice_blk_info {
        struct ice_prof_redir prof_redir;
        struct ice_es es;
        u8 overwrite; /* set to true to allow overwrite of table entries */
+       u8 is_list_init;
 };
 
 enum ice_chg_type {