linux/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __MYRI10GE_MCP_H__
#define __MYRI10GE_MCP_H__

#define MXGEFW_VERSION_MAJOR
#define MXGEFW_VERSION_MINOR

/* 8 Bytes */
struct mcp_dma_addr {};

/* 4 Bytes */
struct mcp_slot {};

/* 64 Bytes */
struct mcp_cmd {};

/* 8 Bytes */
struct mcp_cmd_response {};

/*
 * flags used in mcp_kreq_ether_send_t:
 *
 * The SMALL flag is only needed in the first segment. It is raised
 * for packets that are total less or equal 512 bytes.
 *
 * The CKSUM flag must be set in all segments.
 *
 * The PADDED flags is set if the packet needs to be padded, and it
 * must be set for all segments.
 *
 * The  MXGEFW_FLAGS_ALIGN_ODD must be set if the cumulative
 * length of all previous segments was odd.
 */

#define MXGEFW_FLAGS_SMALL
#define MXGEFW_FLAGS_TSO_HDR
#define MXGEFW_FLAGS_FIRST
#define MXGEFW_FLAGS_ALIGN_ODD
#define MXGEFW_FLAGS_CKSUM
#define MXGEFW_FLAGS_TSO_LAST
#define MXGEFW_FLAGS_NO_TSO
#define MXGEFW_FLAGS_TSO_CHOP
#define MXGEFW_FLAGS_TSO_PLD

#define MXGEFW_SEND_SMALL_SIZE
#define MXGEFW_MAX_MTU

mcp_pso_or_cumlen;

#define MXGEFW_MAX_SEND_DESC
#define MXGEFW_PAD

/* 16 Bytes */
struct mcp_kreq_ether_send {};

/* 8 Bytes */
struct mcp_kreq_ether_recv {};

/* Commands */

#define MXGEFW_BOOT_HANDOFF
#define MXGEFW_BOOT_DUMMY_RDMA

#define MXGEFW_ETH_CMD
#define MXGEFW_ETH_SEND_4
#define MXGEFW_ETH_SEND_1
#define MXGEFW_ETH_SEND_2
#define MXGEFW_ETH_SEND_3
#define MXGEFW_ETH_RECV_SMALL
#define MXGEFW_ETH_RECV_BIG
#define MXGEFW_ETH_SEND_GO
#define MXGEFW_ETH_SEND_STOP

#define MXGEFW_ETH_SEND(n)
#define MXGEFW_ETH_SEND_OFFSET(n)

enum myri10ge_mcp_cmd_type {};

enum myri10ge_mcp_cmd_status {};

#define MXGEFW_OLD_IRQ_DATA_LEN

struct mcp_irq_data {};

/* definitions for NETQ filter type */
#define MXGEFW_NETQ_FILTERTYPE_NONE
#define MXGEFW_NETQ_FILTERTYPE_MACADDR
#define MXGEFW_NETQ_FILTERTYPE_VLAN
#define MXGEFW_NETQ_FILTERTYPE_VLANMACADDR

#endif				/* __MYRI10GE_MCP_H__ */