Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* Broadcom NetXtreme-C/E network driver.
2 *
3 * Copyright (c) 2014-2016 Broadcom Corporation
4 * Copyright (c) 2016-2018 Broadcom Limited
5 *
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 */
10
11#ifndef BNXT_DCB_H
12#define BNXT_DCB_H
13
14#include <net/dcbnl.h>
15
16struct 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
24struct 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
36struct 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
52void bnxt_dcb_init(struct bnxt *bp);
53void bnxt_dcb_free(struct bnxt *bp);
54#endif