mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
aabfc016e9
The CNP CoS queue is reserved for internal RDMA Congestion Notification Packets (CNP) and should not be used for a TC. Modify the CoS queue discovery code to skip over the CNP CoS queue and to reduce bp->max_tc accordingly. However, if RDMA is disabled in NVRAM, the the CNP CoS queue can be used for a TC. Signed-off-by: Michael Chan <michael.chan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
55 lines
1.1 KiB
C
55 lines
1.1 KiB
C
/* Broadcom NetXtreme-C/E network driver.
|
|
*
|
|
* Copyright (c) 2014-2016 Broadcom Corporation
|
|
* Copyright (c) 2016-2018 Broadcom Limited
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation.
|
|
*/
|
|
|
|
#ifndef BNXT_DCB_H
|
|
#define BNXT_DCB_H
|
|
|
|
#include <net/dcbnl.h>
|
|
|
|
struct bnxt_dcb {
|
|
u8 max_tc;
|
|
struct ieee_pfc *ieee_pfc;
|
|
struct ieee_ets *ieee_ets;
|
|
u8 dcbx_cap;
|
|
u8 default_pri;
|
|
};
|
|
|
|
struct bnxt_cos2bw_cfg {
|
|
u8 pad[3];
|
|
u8 queue_id;
|
|
__le32 min_bw;
|
|
__le32 max_bw;
|
|
#define BW_VALUE_UNIT_PERCENT1_100 (0x1UL << 29)
|
|
u8 tsa;
|
|
u8 pri_lvl;
|
|
u8 bw_weight;
|
|
u8 unused;
|
|
};
|
|
|
|
struct bnxt_dscp2pri_entry {
|
|
u8 dscp;
|
|
u8 mask;
|
|
u8 pri;
|
|
};
|
|
|
|
#define BNXT_LLQ(q_profile) \
|
|
((q_profile) == \
|
|
QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSLESS_ROCE)
|
|
|
|
#define BNXT_CNPQ(q_profile) \
|
|
((q_profile) == \
|
|
QUEUE_QPORTCFG_RESP_QUEUE_ID0_SERVICE_PROFILE_LOSSY_ROCE_CNP)
|
|
|
|
#define HWRM_STRUCT_DATA_SUBTYPE_HOST_OPERATIONAL 0x0300
|
|
|
|
void bnxt_dcb_init(struct bnxt *bp);
|
|
void bnxt_dcb_free(struct bnxt *bp);
|
|
#endif
|