brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 38b8b10 Raw
47 lines · 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__ 16 7#include <linux/netdevice.h>8 9#ifdef CONFIG_DCB10/* DCB feature definitions */11#define NFP_NET_MAX_DSCP	6412#define NFP_NET_MAX_TC		IEEE_8021QAZ_MAX_TCS13#define NFP_NET_MAX_PRIO	814#define NFP_DCB_CFG_STRIDE	25615 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#else36static inline int nfp_nic_dcb_init(struct nfp_net *nn) { return 0; }37static inline void nfp_nic_dcb_clean(struct nfp_net *nn) {}38#endif39 40struct nfp_app_nic_private {41#ifdef CONFIG_DCB42	struct nfp_dcb dcb;43#endif44};45 46#endif47