Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / drivers / net / ethernet / broadcom / bnxt / bnxt_dcb.h
blobd2e0af960bf59c0052ac93d044eedbe285a90779
1 /* Broadcom NetXtreme-C/E network driver.
3 * Copyright (c) 2014-2016 Broadcom Corporation
4 * Copyright (c) 2016-2017 Broadcom Limited
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation.
9 */
11 #ifndef BNXT_DCB_H
12 #define BNXT_DCB_H
14 #include <net/dcbnl.h>
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;
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;
36 #define BNXT_LLQ(q_profile) \
37 ((q_profile) == QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS)
39 #define HWRM_STRUCT_DATA_SUBTYPE_HOST_OPERATIONAL 0x0300
41 void bnxt_dcb_init(struct bnxt *bp);
42 void bnxt_dcb_free(struct bnxt *bp);
43 #endif