1 /* Broadcom NetXtreme-C/E network driver.
2  *
3  * Copyright (c) 2014-2016 Broadcom Corporation
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation.
8  */
9 
10 #ifndef BNXT_DCB_H
11 #define BNXT_DCB_H
12 
13 #include <net/dcbnl.h>
14 
15 struct bnxt_dcb {
16 	u8			max_tc;
17 	struct ieee_pfc		*ieee_pfc;
18 	struct ieee_ets		*ieee_ets;
19 	u8			dcbx_cap;
20 	u8			default_pri;
21 };
22 
23 struct bnxt_cos2bw_cfg {
24 	u8			pad[3];
25 	u8			queue_id;
26 	__le32			min_bw;
27 	__le32			max_bw;
28 	u8			tsa;
29 	u8			pri_lvl;
30 	u8			bw_weight;
31 	u8			unused;
32 };
33 
34 #define BNXT_LLQ(q_profile)	\
35 	((q_profile) == QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS)
36 
37 #define HWRM_STRUCT_DATA_SUBTYPE_HOST_OPERATIONAL	0x0300
38 
39 void bnxt_dcb_init(struct bnxt *bp);
40 void bnxt_dcb_free(struct bnxt *bp);
41 #endif
42