net/ice/base: refactor HW table init function
[dpdk.git] / drivers / net / ice / base / ice_flex_type.h
index 951c205..98c7637 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];
@@ -497,10 +503,10 @@ 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 */
 };
 
 /* PTYPE Group management */
@@ -653,7 +659,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 {
@@ -670,6 +675,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 {