0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef BNXT_DCB_H
0012 #define BNXT_DCB_H
0013
0014 #include <net/dcbnl.h>
0015
0016 struct bnxt_dcb {
0017 u8 max_tc;
0018 struct ieee_pfc *ieee_pfc;
0019 struct ieee_ets *ieee_ets;
0020 u8 dcbx_cap;
0021 u8 default_pri;
0022 };
0023
0024 struct bnxt_cos2bw_cfg {
0025 u8 pad[3];
0026 struct_group_attr(cfg, __packed,
0027 u8 queue_id;
0028 __le32 min_bw;
0029 __le32 max_bw;
0030 #define BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
0031 u8 tsa;
0032 u8 pri_lvl;
0033 u8 bw_weight;
0034 );
0035 u8 unused;
0036 };
0037
0038 struct bnxt_dscp2pri_entry {
0039 u8 dscp;
0040 u8 mask;
0041 u8 pri;
0042 };
0043
0044 #define BNXT_LLQ(q_profile) \
0045 ((q_profile) == \
0046 QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_ROCE)
0047
0048 #define BNXT_CNPQ(q_profile) \
0049 ((q_profile) == \
0050 QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY_ROCE_CNP)
0051
0052 #define HWRM_STRUCT_DATA_SUBTYPE_HOST_OPERATIONAL 0x0300
0053
0054 void bnxt_dcb_init(struct bnxt *bp);
0055 void bnxt_dcb_free(struct bnxt *bp);
0056 #endif