]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h
35a0d28cf2fdc140c9f1a07b1734c4b89b8b271f
[mirror_ubuntu-artful-kernel.git] / drivers / net / ethernet / broadcom / bnxt / bnxt_dcb.h
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