linux/drivers/net/ethernet/chelsio/cxgb4/cxgb4_dcb.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 *  Copyright (C) 2013-2014 Chelsio Communications.  All rights reserved.
 *
 *  Written by Anish Bhatt ([email protected])
 */

#ifndef __CXGB4_DCB_H
#define __CXGB4_DCB_H

#include <linux/netdevice.h>
#include <linux/dcbnl.h>
#include <net/dcbnl.h>

#ifdef CONFIG_CHELSIO_T4_DCB

#define CXGB4_DCBX_FW_SUPPORT
#define CXGB4_DCBX_HOST_SUPPORT

#define CXGB4_MAX_PRIORITY
#define CXGB4_MAX_TCS

#define INIT_PORT_DCB_CMD(__pcmd, __port, __op, __action)

#define INIT_PORT_DCB_READ_PEER_CMD(__pcmd, __port)

#define INIT_PORT_DCB_READ_LOCAL_CMD(__pcmd, __port)

#define INIT_PORT_DCB_READ_SYNC_CMD(__pcmd, __port)

#define INIT_PORT_DCB_WRITE_CMD(__pcmd, __port)

#define IEEE_FAUX_SYNC(__dev, __dcb)

/* States we can be in for a port's Data Center Bridging.
 */
enum cxgb4_dcb_state {};

/* Data Center Bridging state input for the Finite State Machine.
 */
enum cxgb4_dcb_state_input {};

/* Firmware DCB messages that we've received so far ...
 */
enum cxgb4_dcb_fw_msgs {};

#define CXGB4_MAX_DCBX_APP_SUPPORTED

/* Data Center Bridging support;
 */
struct port_dcb_info {};

void cxgb4_dcb_state_init(struct net_device *);
void cxgb4_dcb_version_init(struct net_device *);
void cxgb4_dcb_reset(struct net_device *dev);
void cxgb4_dcb_state_fsm(struct net_device *, enum cxgb4_dcb_state_input);
void cxgb4_dcb_handle_fw_update(struct adapter *, const struct fw_port_cmd *);
extern const struct dcbnl_rtnl_ops cxgb4_dcb_ops;

static inline __u8 bitswap_1(unsigned char val)
{}

extern const char * const dcb_ver_array[];

#define CXGB4_DCB_ENABLED

#else /* !CONFIG_CHELSIO_T4_DCB */

static inline void cxgb4_dcb_state_init(struct net_device *dev)
{
}

#define CXGB4_DCB_ENABLED

#endif /* !CONFIG_CHELSIO_T4_DCB */

#endif /* __CXGB4_DCB_H */