22#ifndef _myri10ge_mcp_h
23#define _myri10ge_mcp_h
25#define MXGEFW_VERSION_MAJOR 1
26#define MXGEFW_VERSION_MINOR 4
33typedef signed long long int64_t;
65typedef struct mcp_slot_8 mcp_slot_8_t;
68#define MXGEFW_RSS_HASH_NULL (0 << 14)
69#define MXGEFW_RSS_HASH_IPV4 (1 << 14)
70#define MXGEFW_RSS_HASH_TCP_IPV4 (2 << 14)
71#define MXGEFW_RSS_HASH_MASK (3 << 14)
113#define MXGEFW_FLAGS_SMALL 0x1
114#define MXGEFW_FLAGS_TSO_HDR 0x1
115#define MXGEFW_FLAGS_FIRST 0x2
116#define MXGEFW_FLAGS_ALIGN_ODD 0x4
117#define MXGEFW_FLAGS_CKSUM 0x8
118#define MXGEFW_FLAGS_TSO_LAST 0x8
119#define MXGEFW_FLAGS_NO_TSO 0x10
120#define MXGEFW_FLAGS_TSO_CHOP 0x10
121#define MXGEFW_FLAGS_TSO_PLD 0x20
123#define MXGEFW_SEND_SMALL_SIZE 1520
124#define MXGEFW_MAX_MTU 9400
132#define MXGEFW_MAX_SEND_DESC 12
158#define MXGEFW_BOOT_HANDOFF 0xfc0000
159#define MXGEFW_BOOT_DUMMY_RDMA 0xfc01c0
161#define MXGEFW_ETH_CMD 0xf80000
162#define MXGEFW_ETH_SEND_4 0x200000
163#define MXGEFW_ETH_SEND_1 0x240000
164#define MXGEFW_ETH_SEND_2 0x280000
165#define MXGEFW_ETH_SEND_3 0x2c0000
166#define MXGEFW_ETH_RECV_SMALL 0x300000
167#define MXGEFW_ETH_RECV_BIG 0x340000
168#define MXGEFW_ETH_SEND_GO 0x380000
169#define MXGEFW_ETH_SEND_STOP 0x3C0000
171#define MXGEFW_ETH_SEND(n) (0x200000 + (((n) & 0x03) * 0x40000))
172#define MXGEFW_ETH_SEND_OFFSET(n) (MXGEFW_ETH_SEND(n) - MXGEFW_ETH_SEND_4)
222#define MXGEFW_CMD_SET_INTRQ_SIZE_FLAG_NO_STRICT_SIZE_CHECK (1 << 31)
314#define MXGEFW_SLICE_INTR_MODE_SHARED 0x0
315#define MXGEFW_SLICE_INTR_MODE_ONE_PER_SLICE 0x1
316#define MXGEFW_SLICE_ENABLE_MULTIPLE_TX_QUEUES 0x2
340#define MXGEFW_RSS_HASH_TYPE_IPV4 0x1
341#define MXGEFW_RSS_HASH_TYPE_TCP_IPV4 0x2
342#define MXGEFW_RSS_HASH_TYPE_SRC_PORT 0x4
343#define MXGEFW_RSS_HASH_TYPE_SRC_DST_PORT 0x5
344#define MXGEFW_RSS_HASH_TYPE_MAX 0x5
360#define MXGEFW_TSO_MODE_LINUX 0
361#define MXGEFW_TSO_MODE_NDIS 1
398#define MXGEFW_RSS_MCP_SLOT_TYPE_MIN 0
399#define MXGEFW_RSS_MCP_SLOT_TYPE_WITH_HASH 1
467#define MXGEFW_OLD_IRQ_DATA_LEN 40
480#define MXGEFW_LINK_DOWN 0
481#define MXGEFW_LINK_UP 1
482#define MXGEFW_LINK_MYRINET 2
483#define MXGEFW_LINK_UNKNOWN 3
502struct mcp_rss_shared_interrupt {
510#define MXGEFW_NETQ_FILTERTYPE_NONE 0
511#define MXGEFW_NETQ_FILTERTYPE_MACADDR 1
512#define MXGEFW_NETQ_FILTERTYPE_VLAN 2
513#define MXGEFW_NETQ_FILTERTYPE_VLANMACADDR 3
pseudo_bit_t hash[0x00010]
unsigned long long uint64_t
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
enum myri10ge_mcp_cmd_status myri10ge_mcp_cmd_status_t
struct mcp_slot mcp_slot_t
struct mcp_dma_addr mcp_dma_addr_t
struct mcp_irq_data mcp_irq_data_t
@ MXGEFW_CMD_ERROR_I2C_ABSENT
@ MXGEFW_CMD_ERROR_MULTICAST
@ MXGEFW_CMD_ERROR_NO_MDIO
@ MXGEFW_CMD_ERROR_I2C_FAILURE
@ MXGEFW_CMD_ERROR_UNALIGNED
@ MXGEFW_CMD_ERROR_RESOURCES
@ MXGEFW_CMD_ERROR_BAD_PORT
@ MXGEFW_CMD_ERROR_HASH_ERROR
@ MXGEFW_CMD_ERROR_BAD_PCIE_LINK
@ MXGEFW_CMD_ERROR_CLOSED
struct mcp_kreq_ether_recv mcp_kreq_ether_recv_t
union mcp_pso_or_cumlen mcp_pso_or_cumlen_t
struct mcp_kreq_ether_send mcp_kreq_ether_send_t
struct mcp_cmd_response mcp_cmd_response_t
@ MXGEFW_CMD_GET_SEND_RING_SIZE
@ MXGEFW_CMD_GET_RSS_SHARED_INTERRUPT_MASK_OFFSET
@ MXGEFW_CMD_UNALIGNED_STATUS
@ MXGEFW_DISABLE_FLOW_CONTROL
@ MXGEFW_LEAVE_MULTICAST_GROUP
@ MXGEFW_CMD_SET_INTRQ_DMA
@ MXGEFW_CMD_SET_RSS_MCP_SLOT_TYPE
@ MXGEFW_CMD_SET_BIG_BUFFER_SIZE
@ MXGEFW_CMD_ALWAYS_USE_N_BIG_BUFFERS
@ MXGEFW_CMD_GET_VPUMP_OFFSET
@ MXGEFW_CMD_GET_VPUMP_CLK
@ MXGEFW_CMD_SET_TSO_MODE
@ MXGEFW_CMD_ETHERNET_DOWN
@ MXGEFW_CMD_SET_THROTTLE_FACTOR
@ MXGEFW_CMD_SET_RSS_ENABLE
@ MXGEFW_CMD_SET_RSS_SHARED_INTERRUPT_DMA
@ MXGEFW_CMD_GET_SEND_OFFSET
@ MXGEFW_CMD_GET_IRQ_DEASSERT_OFFSET
@ MXGEFW_CMD_GET_RSS_KEY_OFFSET
@ MXGEFW_CMD_GET_RX_RING_SIZE
@ MXGEFW_ENABLE_FLOW_CONTROL
@ MXGEFW_DISABLE_ALLMULTI
@ MXGEFW_CMD_GET_IRQ_ACK_OFFSET
@ MXGEFW_CMD_SET_SMALL_BUFFER_SIZE
@ MXGEFW_CMD_GET_MAX_RSS_QUEUES
@ MXGEFW_CMD_GET_INTR_COAL_DELAY_OFFSET
@ MXGEFW_CMD_SET_RSS_TABLE_SIZE
@ MXGEFW_CMD_SET_STATS_DMA_OBSOLETE
@ MXGEFW_CMD_GET_RSS_TABLE_OFFSET
@ MXGEFW_CMD_RSS_KEY_UPDATED
@ MXGEFW_CMD_NETQ_GET_FILTERS_PER_QUEUE
@ MXGEFW_CMD_NETQ_DEL_FILTER
@ MXGEFW_CMD_UNALIGNED_TEST
@ MXGEFW_LEAVE_ALL_MULTICAST_GROUPS
@ MXGEFW_CMD_GET_MAX_TSO6_HDR_SIZE
@ MXGEFW_JOIN_MULTICAST_GROUP
@ MXGEFW_CMD_ENABLE_RSS_QUEUES
@ MXGEFW_CMD_SET_STATS_DMA_V2
@ MXGEFW_CMD_SET_INTRQ_SIZE
@ MXGEFW_CMD_NETQ_ADD_FILTER
@ MXGEFW_CMD_GET_DCA_OFFSET
@ MXGEFW_CMD_RELAX_RXBUFFER_ALIGNMENT
@ MXGEFW_CMD_GET_SMALL_RX_OFFSET
@ MXGEFW_CMD_GET_BIG_RX_OFFSET
@ MXGEFW_CMD_SET_STATS_INTERVAL
enum myri10ge_mcp_cmd_type myri10ge_mcp_cmd_type_t
uint8_t checksum
Checksum.
struct mcp_dma_addr response_addr
uint32_t dropped_no_small_buffer
uint32_t dropped_bad_crc32
uint32_t dropped_unicast_filtered
uint32_t dropped_link_error_or_filtered
uint32_t dropped_multicast_filtered
uint32_t dropped_no_big_buffer
uint32_t dropped_link_overflow
uint32_t rdma_tags_available
uint16_t pseudo_hdr_offset
uint16_t pseudo_hdr_offset