1
2
3
4
5
6
7
8
9
10
11 #ifndef BNXT_DCB_H
12 #define BNXT_DCB_H
13
14 #include <net/dcbnl.h>
15
16 struct bnxt_dcb {
17 u8 max_tc;
18 struct ieee_pfc *ieee_pfc;
19 struct ieee_ets *ieee_ets;
20 u8 dcbx_cap;
21 u8 default_pri;
22 };
23
24 struct bnxt_cos2bw_cfg {
25 u8 pad[3];
26 u8 queue_id;
27 __le32 min_bw;
28 __le32 max_bw;
29 #define BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
30 u8 tsa;
31 u8 pri_lvl;
32 u8 bw_weight;
33 u8 unused;
34 };
35
36 struct bnxt_dscp2pri_entry {
37 u8 dscp;
38 u8 mask;
39 u8 pri;
40 };
41
42 #define BNXT_LLQ(q_profile) \
43 ((q_profile) == \
44 QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_ROCE)
45
46 #define BNXT_CNPQ(q_profile) \
47 ((q_profile) == \
48 QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY_ROCE_CNP)
49
50 #define HWRM_STRUCT_DATA_SUBTYPE_HOST_OPERATIONAL 0x0300
51
52 void bnxt_dcb_init(struct bnxt *bp);
53 void bnxt_dcb_free(struct bnxt *bp);
54 #endif