X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fice%2Fbase%2Fice_flex_type.h;h=8f33efdd627ac6b341004b40771236c43d1c7c40;hb=2906c7eac929137d7129fcf744b565669a09a972;hp=8f2f6ed32039e8737164e196d22342d459b4a6fa;hpb=e0b977dddb8be161a2f43049714409730cbb58e9;p=dpdk.git diff --git a/drivers/net/ice/base/ice_flex_type.h b/drivers/net/ice/base/ice_flex_type.h index 8f2f6ed320..8f33efdd62 100644 --- a/drivers/net/ice/base/ice_flex_type.h +++ b/drivers/net/ice/base/ice_flex_type.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2001-2020 + * Copyright(c) 2001-2020 Intel Corporation */ #ifndef _ICE_FLEX_TYPE_H_ @@ -25,9 +25,9 @@ struct ice_fv { /* Package and segment headers and tables */ struct ice_pkg_hdr { - struct ice_pkg_ver format_ver; + struct ice_pkg_ver pkg_format_ver; __le32 seg_count; - __le32 seg_offset[1]; + __le32 seg_offset[STRUCT_HACK_VAR_LEN]; }; /* generic segment */ @@ -35,9 +35,9 @@ struct ice_generic_seg_hdr { #define SEGMENT_TYPE_METADATA 0x00000001 #define SEGMENT_TYPE_ICE 0x00000010 __le32 seg_type; - struct ice_pkg_ver seg_ver; + struct ice_pkg_ver seg_format_ver; __le32 seg_size; - char seg_name[ICE_PKG_NAME_SIZE]; + char seg_id[ICE_PKG_NAME_SIZE]; }; /* ice specific segment */ @@ -58,12 +58,12 @@ struct ice_device_id_entry { struct ice_seg { struct ice_generic_seg_hdr hdr; __le32 device_table_count; - struct ice_device_id_entry device_table[1]; + struct ice_device_id_entry device_table[STRUCT_HACK_VAR_LEN]; }; struct ice_nvm_table { __le32 table_count; - __le32 vers[1]; + __le32 vers[STRUCT_HACK_VAR_LEN]; }; struct ice_buf { @@ -73,14 +73,14 @@ struct ice_buf { struct ice_buf_table { __le32 buf_count; - struct ice_buf buf_array[1]; + struct ice_buf buf_array[STRUCT_HACK_VAR_LEN]; }; /* global metadata specific segment */ struct ice_global_metadata_seg { struct ice_generic_seg_hdr hdr; struct ice_pkg_ver pkg_ver; - __le32 track_id; + __le32 rsvd; char pkg_name[ICE_PKG_NAME_SIZE]; }; @@ -106,11 +106,12 @@ struct ice_section_entry { struct ice_buf_hdr { __le16 section_count; __le16 data_end; - struct ice_section_entry section_entry[1]; + struct ice_section_entry section_entry[STRUCT_HACK_VAR_LEN]; }; #define ICE_MAX_ENTRIES_IN_BUF(hd_sz, ent_sz) ((ICE_PKG_BUF_SIZE - \ - sizeof(struct ice_buf_hdr) - (hd_sz)) / (ent_sz)) + ice_struct_size((struct ice_buf_hdr *)0, section_entry, 1) - (hd_sz)) /\ + (ent_sz)) /* ice package section IDs */ #define ICE_SID_XLT0_SW 10 @@ -400,17 +401,17 @@ struct ice_label { struct ice_label_section { __le16 count; - struct ice_label label[1]; + struct ice_label label[STRUCT_HACK_VAR_LEN]; }; #define ICE_MAX_LABELS_IN_BUF ICE_MAX_ENTRIES_IN_BUF( \ - sizeof(struct ice_label_section) - sizeof(struct ice_label), \ - sizeof(struct ice_label)) + ice_struct_size((struct ice_label_section *)0, label, 1) - \ + sizeof(struct ice_label), sizeof(struct ice_label)) struct ice_sw_fv_section { __le16 count; __le16 base_offset; - struct ice_fv fv[1]; + struct ice_fv fv[STRUCT_HACK_VAR_LEN]; }; struct ice_sw_fv_list_entry { @@ -455,43 +456,32 @@ struct ice_boost_tcam_entry { struct ice_boost_tcam_section { __le16 count; __le16 reserved; - struct ice_boost_tcam_entry tcam[1]; + struct ice_boost_tcam_entry tcam[STRUCT_HACK_VAR_LEN]; }; #define ICE_MAX_BST_TCAMS_IN_BUF ICE_MAX_ENTRIES_IN_BUF( \ - sizeof(struct ice_boost_tcam_section) - \ + ice_struct_size((struct ice_boost_tcam_section *)0, tcam, 1) - \ sizeof(struct ice_boost_tcam_entry), \ sizeof(struct ice_boost_tcam_entry)) -#pragma pack(1) struct ice_xlt1_section { __le16 count; __le16 offset; - u8 value[1]; + u8 value[STRUCT_HACK_VAR_LEN]; }; -#pragma pack() - -#define ICE_XLT1_SIZE(n) (sizeof(struct ice_xlt1_section) + \ - (sizeof(u8) * ((n) - 1))) struct ice_xlt2_section { __le16 count; __le16 offset; - __le16 value[1]; + __le16 value[STRUCT_HACK_VAR_LEN]; }; -#define ICE_XLT2_SIZE(n) (sizeof(struct ice_xlt2_section) + \ - (sizeof(u16) * ((n) - 1))) - struct ice_prof_redir_section { __le16 count; __le16 offset; - u8 redir_value[1]; + u8 redir_value[STRUCT_HACK_VAR_LEN]; }; -#define ICE_PROF_REDIR_SIZE(n) (sizeof(struct ice_prof_redir_section) + \ - (sizeof(u8) * ((n) - 1))) - /* package buffer building */ struct ice_buf_build { @@ -531,6 +521,7 @@ struct ice_tunnel_entry { enum ice_tunnel_type type; u16 boost_addr; u16 port; + u16 ref; struct ice_boost_tcam_entry *boost_entry; u8 valid; u8 in_use; @@ -547,7 +538,7 @@ struct ice_tunnel_table { struct ice_pkg_es { __le16 count; __le16 offset; - struct ice_fv_word es[1]; + struct ice_fv_word es[STRUCT_HACK_VAR_LEN]; }; struct ice_es { @@ -702,11 +693,12 @@ struct ice_prof_tcam_entry { u8 prof_id; }; +#pragma pack() + struct ice_prof_id_section { __le16 count; - struct ice_prof_tcam_entry entry[1]; + struct ice_prof_tcam_entry entry[STRUCT_HACK_VAR_LEN]; }; -#pragma pack() struct ice_prof_tcam { u32 sid;