Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ice/ice_flex_type.h
Context not available. | |||||
struct ice_pkg_hdr { | struct ice_pkg_hdr { | ||||
struct ice_pkg_ver pkg_format_ver; | struct ice_pkg_ver pkg_format_ver; | ||||
__le32 seg_count; | __le32 seg_count; | ||||
__le32 seg_offset[1]; | __le32 seg_offset[STRUCT_HACK_VAR_LEN]; | ||||
}; | }; | ||||
/* generic segment */ | /* generic segment */ | ||||
Context not available. | |||||
struct ice_seg { | struct ice_seg { | ||||
struct ice_generic_seg_hdr hdr; | struct ice_generic_seg_hdr hdr; | ||||
__le32 device_table_count; | __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 { | struct ice_nvm_table { | ||||
__le32 table_count; | __le32 table_count; | ||||
__le32 vers[1]; | __le32 vers[STRUCT_HACK_VAR_LEN]; | ||||
}; | }; | ||||
struct ice_buf { | struct ice_buf { | ||||
Context not available. | |||||
struct ice_buf_table { | struct ice_buf_table { | ||||
__le32 buf_count; | __le32 buf_count; | ||||
struct ice_buf buf_array[1]; | struct ice_buf buf_array[STRUCT_HACK_VAR_LEN]; | ||||
}; | }; | ||||
/* global metadata specific segment */ | /* global metadata specific segment */ | ||||
Context not available. | |||||
struct ice_buf_hdr { | struct ice_buf_hdr { | ||||
__le16 section_count; | __le16 section_count; | ||||
__le16 data_end; | __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 - \ | #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 */ | /* ice package section IDs */ | ||||
#define ICE_SID_XLT0_SW 10 | #define ICE_SID_XLT0_SW 10 | ||||
Context not available. | |||||
struct ice_label_section { | struct ice_label_section { | ||||
__le16 count; | __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( \ | #define ICE_MAX_LABELS_IN_BUF ICE_MAX_ENTRIES_IN_BUF( \ | ||||
sizeof(struct ice_label_section) - sizeof(struct ice_label), \ | ice_struct_size((struct ice_label_section *)0, label, 1) - \ | ||||
sizeof(struct ice_label)) | sizeof(struct ice_label), sizeof(struct ice_label)) | ||||
struct ice_sw_fv_section { | struct ice_sw_fv_section { | ||||
__le16 count; | __le16 count; | ||||
__le16 base_offset; | __le16 base_offset; | ||||
struct ice_fv fv[1]; | struct ice_fv fv[STRUCT_HACK_VAR_LEN]; | ||||
}; | }; | ||||
struct ice_sw_fv_list_entry { | struct ice_sw_fv_list_entry { | ||||
Context not available. | |||||
struct ice_boost_tcam_section { | struct ice_boost_tcam_section { | ||||
__le16 count; | __le16 count; | ||||
__le16 reserved; | __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( \ | #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), \ | ||||
sizeof(struct ice_boost_tcam_entry)) | sizeof(struct ice_boost_tcam_entry)) | ||||
#pragma pack(1) | |||||
struct ice_xlt1_section { | struct ice_xlt1_section { | ||||
__le16 count; | __le16 count; | ||||
__le16 offset; | __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 { | struct ice_xlt2_section { | ||||
__le16 count; | __le16 count; | ||||
__le16 offset; | __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 { | struct ice_prof_redir_section { | ||||
__le16 count; | __le16 count; | ||||
__le16 offset; | __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 */ | /* package buffer building */ | ||||
struct ice_buf_build { | struct ice_buf_build { | ||||
Context not available. | |||||
struct ice_pkg_es { | struct ice_pkg_es { | ||||
__le16 count; | __le16 count; | ||||
__le16 offset; | __le16 offset; | ||||
struct ice_fv_word es[1]; | struct ice_fv_word es[STRUCT_HACK_VAR_LEN]; | ||||
}; | }; | ||||
struct ice_es { | struct ice_es { | ||||
Context not available. | |||||
u8 key[ICE_TCAM_KEY_SZ]; | u8 key[ICE_TCAM_KEY_SZ]; | ||||
u8 prof_id; | u8 prof_id; | ||||
}; | }; | ||||
#pragma pack() | |||||
struct ice_prof_id_section { | struct ice_prof_id_section { | ||||
__le16 count; | __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 { | struct ice_prof_tcam { | ||||
u32 sid; | u32 sid; | ||||
Context not available. |