net/ice/base: init XLT key builder for parser
[dpdk.git] / drivers / net / ice / base / ice_xlt_kb.h
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 #endif /* _ICE_XLT_KB_H */