Back to home page

OSCL-LXR

 
 

    


0001 /* Broadcom NetXtreme-C/E network driver.
0002  *
0003  * Copyright (c) 2014-2016 Broadcom Corporation
0004  * Copyright (c) 2016-2018 Broadcom Limited
0005  *
0006  * This program is free software; you can redistribute it and/or modify
0007  * it under the terms of the GNU General Public License as published by
0008  * the Free Software Foundation.
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