1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2001-2021 Intel Corporation 3 */ 4 5 #ifndef _ICE_XLT_KB_H_ 6 #define _ICE_XLT_KB_H_ 7 8 #define ICE_XLT_KB_TBL_CNT 8 9 #define ICE_XLT_KB_FLAG0_14_CNT 15 10 11 struct ice_xlt_kb_entry { 12 u8 xlt1_ad_sel; 13 u8 xlt2_ad_sel; 14 u16 flg0_14_sel[ICE_XLT_KB_FLAG0_14_CNT]; 15 u8 xlt1_md_sel; 16 u8 xlt2_md_sel; 17 }; 18 19 struct ice_xlt_kb { 20 u8 xlt1_pm; 21 u8 xlt2_pm; 22 u8 prof_id_pm; 23 u64 flag15; 24 25 struct ice_xlt_kb_entry entries[ICE_XLT_KB_TBL_CNT]; 26 }; 27 28 void ice_xlt_kb_dump(struct ice_hw *hw, struct ice_xlt_kb *kb); 29 struct ice_xlt_kb *ice_xlt_kb_get_sw(struct ice_hw *hw); 30 struct ice_xlt_kb *ice_xlt_kb_get_acl(struct ice_hw *hw); 31 struct ice_xlt_kb *ice_xlt_kb_get_fd(struct ice_hw *hw); 32 struct ice_xlt_kb *ice_xlt_kb_get_rss(struct ice_hw *hw); 33 u16 ice_xlt_kb_flag_get(struct ice_xlt_kb *kb, u64 pkt_flag); 34 #endif /* _ICE_XLT_KB_H */ 35