File Index
Files and directories
Sign in
FILE

main.h

File preview with syntax highlighting.

linux-6.19.14/drivers/net/ethernet/netronome/nfp/nic/main.h C
 1/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
 2/* Copyright (C) 2023 Corigine, Inc. */
 3
 4#ifndef __NFP_NIC_H__
 5#define __NFP_NIC_H__ 1
 6
 7#include <linux/netdevice.h>
 8
 9#ifdef CONFIG_DCB
10/* DCB feature definitions */
11#define NFP_NET_MAX_DSCP	64
12#define NFP_NET_MAX_TC		IEEE_8021QAZ_MAX_TCS
13#define NFP_NET_MAX_PRIO	8
14#define NFP_DCB_CFG_STRIDE	256
15
16struct nfp_dcb {
17	u8 dscp2prio[NFP_NET_MAX_DSCP];
18	u8 prio2tc[NFP_NET_MAX_PRIO];
19	u8 tc2idx[IEEE_8021QAZ_MAX_TCS];
20	u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS];
21	u8 tc_tx_pct[IEEE_8021QAZ_MAX_TCS];
22	u8 tc_tsa[IEEE_8021QAZ_MAX_TCS];
23	u8 dscp_cnt;
24	u8 trust_status;
25	bool rate_init;
26	bool ets_init;
27
28	struct nfp_cpp_area *dcbcfg_tbl_area;
29	u8 __iomem *dcbcfg_tbl;
30	u32 cfg_offset;
31};
32
33int nfp_nic_dcb_init(struct nfp_net *nn);
34void nfp_nic_dcb_clean(struct nfp_net *nn);
35#else
36static inline int nfp_nic_dcb_init(struct nfp_net *nn) { return 0; }
37static inline void nfp_nic_dcb_clean(struct nfp_net *nn) {}
38#endif
39
40struct nfp_app_nic_private {
41#ifdef CONFIG_DCB
42	struct nfp_dcb dcb;
43#endif
44};
45
46#endif
~/ Read-only file preview.