Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
myri10ge_mcp.h File Reference

Go to the source code of this file.

Data Structures

struct  mcp_dma_addr
 
struct  mcp_slot
 
struct  mcp_cmd
 
struct  mcp_cmd_response
 
union  mcp_pso_or_cumlen
 
struct  mcp_kreq_ether_send
 
struct  mcp_kreq_ether_recv
 
struct  mcp_irq_data
 

Macros

#define MXGEFW_VERSION_MAJOR   1
 
#define MXGEFW_VERSION_MINOR   4
 
#define MXGEFW_FLAGS_SMALL   0x1
 
#define MXGEFW_FLAGS_TSO_HDR   0x1
 
#define MXGEFW_FLAGS_FIRST   0x2
 
#define MXGEFW_FLAGS_ALIGN_ODD   0x4
 
#define MXGEFW_FLAGS_CKSUM   0x8
 
#define MXGEFW_FLAGS_TSO_LAST   0x8
 
#define MXGEFW_FLAGS_NO_TSO   0x10
 
#define MXGEFW_FLAGS_TSO_CHOP   0x10
 
#define MXGEFW_FLAGS_TSO_PLD   0x20
 
#define MXGEFW_SEND_SMALL_SIZE   1520
 
#define MXGEFW_MAX_MTU   9400
 
#define MXGEFW_MAX_SEND_DESC   12
 
#define MXGEFW_PAD   2
 
#define MXGEFW_BOOT_HANDOFF   0xfc0000
 
#define MXGEFW_BOOT_DUMMY_RDMA   0xfc01c0
 
#define MXGEFW_ETH_CMD   0xf80000
 
#define MXGEFW_ETH_SEND_4   0x200000
 
#define MXGEFW_ETH_SEND_1   0x240000
 
#define MXGEFW_ETH_SEND_2   0x280000
 
#define MXGEFW_ETH_SEND_3   0x2c0000
 
#define MXGEFW_ETH_RECV_SMALL   0x300000
 
#define MXGEFW_ETH_RECV_BIG   0x340000
 
#define MXGEFW_ETH_SEND_GO   0x380000
 
#define MXGEFW_ETH_SEND_STOP   0x3C0000
 
#define MXGEFW_ETH_SEND(n)   (0x200000 + (((n) & 0x03) * 0x40000))
 
#define MXGEFW_ETH_SEND_OFFSET(n)   (MXGEFW_ETH_SEND(n) - MXGEFW_ETH_SEND_4)
 
#define MXGEFW_CMD_SET_INTRQ_SIZE_FLAG_NO_STRICT_SIZE_CHECK   (1 << 31)
 
#define MXGEFW_SLICE_INTR_MODE_SHARED   0x0
 
#define MXGEFW_SLICE_INTR_MODE_ONE_PER_SLICE   0x1
 
#define MXGEFW_SLICE_ENABLE_MULTIPLE_TX_QUEUES   0x2
 
#define MXGEFW_RSS_HASH_TYPE_IPV4   0x1
 
#define MXGEFW_RSS_HASH_TYPE_TCP_IPV4   0x2
 
#define MXGEFW_RSS_HASH_TYPE_SRC_PORT   0x4
 
#define MXGEFW_RSS_HASH_TYPE_SRC_DST_PORT   0x5
 
#define MXGEFW_RSS_HASH_TYPE_MAX   0x5
 
#define MXGEFW_TSO_MODE_LINUX   0
 
#define MXGEFW_TSO_MODE_NDIS   1
 
#define MXGEFW_RSS_MCP_SLOT_TYPE_MIN   0
 
#define MXGEFW_RSS_MCP_SLOT_TYPE_WITH_HASH   1
 
#define MXGEFW_OLD_IRQ_DATA_LEN   40
 
#define MXGEFW_LINK_DOWN   0
 
#define MXGEFW_LINK_UP   1
 
#define MXGEFW_LINK_MYRINET   2
 
#define MXGEFW_LINK_UNKNOWN   3
 
#define MXGEFW_NETQ_FILTERTYPE_NONE   0
 
#define MXGEFW_NETQ_FILTERTYPE_MACADDR   1
 
#define MXGEFW_NETQ_FILTERTYPE_VLAN   2
 
#define MXGEFW_NETQ_FILTERTYPE_VLANMACADDR   3
 

Enumerations

enum  myri10ge_mcp_cmd_type {
  MXGEFW_CMD_NONE = 0, MXGEFW_CMD_RESET = 1, MXGEFW_GET_MCP_VERSION = 2, MXGEFW_CMD_SET_INTRQ_DMA = 3,
  MXGEFW_CMD_SET_BIG_BUFFER_SIZE = 4, MXGEFW_CMD_SET_SMALL_BUFFER_SIZE = 5, MXGEFW_CMD_GET_SEND_OFFSET = 6, MXGEFW_CMD_GET_SMALL_RX_OFFSET = 7,
  MXGEFW_CMD_GET_BIG_RX_OFFSET = 8, MXGEFW_CMD_GET_IRQ_ACK_OFFSET = 9, MXGEFW_CMD_GET_IRQ_DEASSERT_OFFSET = 10, MXGEFW_CMD_GET_SEND_RING_SIZE = 11,
  MXGEFW_CMD_GET_RX_RING_SIZE = 12, MXGEFW_CMD_SET_INTRQ_SIZE = 13, MXGEFW_CMD_ETHERNET_UP = 14, MXGEFW_CMD_ETHERNET_DOWN = 15,
  MXGEFW_CMD_SET_MTU = 16, MXGEFW_CMD_GET_INTR_COAL_DELAY_OFFSET = 17, MXGEFW_CMD_SET_STATS_INTERVAL = 18, MXGEFW_CMD_SET_STATS_DMA_OBSOLETE = 19,
  MXGEFW_ENABLE_PROMISC = 20, MXGEFW_DISABLE_PROMISC = 21, MXGEFW_SET_MAC_ADDRESS = 22, MXGEFW_ENABLE_FLOW_CONTROL = 23,
  MXGEFW_DISABLE_FLOW_CONTROL = 24, MXGEFW_DMA_TEST = 25, MXGEFW_ENABLE_ALLMULTI = 26, MXGEFW_DISABLE_ALLMULTI = 27,
  MXGEFW_JOIN_MULTICAST_GROUP = 28, MXGEFW_LEAVE_MULTICAST_GROUP = 29, MXGEFW_LEAVE_ALL_MULTICAST_GROUPS = 30, MXGEFW_CMD_SET_STATS_DMA_V2 = 31,
  MXGEFW_CMD_UNALIGNED_TEST = 32, MXGEFW_CMD_UNALIGNED_STATUS = 33, MXGEFW_CMD_ALWAYS_USE_N_BIG_BUFFERS = 34, MXGEFW_CMD_GET_MAX_RSS_QUEUES = 35,
  MXGEFW_CMD_ENABLE_RSS_QUEUES = 36, MXGEFW_CMD_GET_RSS_SHARED_INTERRUPT_MASK_OFFSET = 37, MXGEFW_CMD_SET_RSS_SHARED_INTERRUPT_DMA = 38, MXGEFW_CMD_GET_RSS_TABLE_OFFSET = 39,
  MXGEFW_CMD_SET_RSS_TABLE_SIZE = 40, MXGEFW_CMD_GET_RSS_KEY_OFFSET = 41, MXGEFW_CMD_RSS_KEY_UPDATED = 42, MXGEFW_CMD_SET_RSS_ENABLE = 43,
  MXGEFW_CMD_GET_MAX_TSO6_HDR_SIZE = 44, MXGEFW_CMD_SET_TSO_MODE = 45, MXGEFW_CMD_MDIO_READ = 46, MXGEFW_CMD_MDIO_WRITE = 47,
  MXGEFW_CMD_I2C_READ = 48, MXGEFW_CMD_I2C_BYTE = 49, MXGEFW_CMD_GET_VPUMP_OFFSET = 50, MXGEFW_CMD_RESET_VPUMP = 51,
  MXGEFW_CMD_SET_RSS_MCP_SLOT_TYPE = 52, MXGEFW_CMD_SET_THROTTLE_FACTOR = 53, MXGEFW_CMD_VPUMP_UP = 54, MXGEFW_CMD_GET_VPUMP_CLK = 55,
  MXGEFW_CMD_GET_DCA_OFFSET = 56, MXGEFW_CMD_NETQ_GET_FILTERS_PER_QUEUE = 57, MXGEFW_CMD_NETQ_ADD_FILTER = 58, MXGEFW_CMD_NETQ_DEL_FILTER = 59,
  MXGEFW_CMD_NETQ_QUERY1 = 60, MXGEFW_CMD_NETQ_QUERY2 = 61, MXGEFW_CMD_NETQ_QUERY3 = 62, MXGEFW_CMD_NETQ_QUERY4 = 63,
  MXGEFW_CMD_RELAX_RXBUFFER_ALIGNMENT = 64
}
 
enum  myri10ge_mcp_cmd_status {
  MXGEFW_CMD_OK = 0, MXGEFW_CMD_UNKNOWN = 1, MXGEFW_CMD_ERROR_RANGE = 2, MXGEFW_CMD_ERROR_BUSY = 3,
  MXGEFW_CMD_ERROR_EMPTY = 4, MXGEFW_CMD_ERROR_CLOSED = 5, MXGEFW_CMD_ERROR_HASH_ERROR = 6, MXGEFW_CMD_ERROR_BAD_PORT = 7,
  MXGEFW_CMD_ERROR_RESOURCES = 8, MXGEFW_CMD_ERROR_MULTICAST = 9, MXGEFW_CMD_ERROR_UNALIGNED = 10, MXGEFW_CMD_ERROR_NO_MDIO = 11,
  MXGEFW_CMD_ERROR_I2C_FAILURE = 12, MXGEFW_CMD_ERROR_I2C_ABSENT = 13, MXGEFW_CMD_ERROR_BAD_PCIE_LINK = 14
}
 

Macro Definition Documentation

#define MXGEFW_BOOT_DUMMY_RDMA   0xfc01c0

Definition at line 95 of file myri10ge_mcp.h.

#define MXGEFW_BOOT_HANDOFF   0xfc0000

Definition at line 94 of file myri10ge_mcp.h.

#define MXGEFW_CMD_SET_INTRQ_SIZE_FLAG_NO_STRICT_SIZE_CHECK   (1 << 31)

Definition at line 156 of file myri10ge_mcp.h.

#define MXGEFW_ETH_CMD   0xf80000

Definition at line 97 of file myri10ge_mcp.h.

#define MXGEFW_ETH_RECV_BIG   0x340000

Definition at line 103 of file myri10ge_mcp.h.

#define MXGEFW_ETH_RECV_SMALL   0x300000

Definition at line 102 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND (   n)    (0x200000 + (((n) & 0x03) * 0x40000))

Definition at line 107 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_1   0x240000

Definition at line 99 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_2   0x280000

Definition at line 100 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_3   0x2c0000

Definition at line 101 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_4   0x200000

Definition at line 98 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_GO   0x380000

Definition at line 104 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_OFFSET (   n)    (MXGEFW_ETH_SEND(n) - MXGEFW_ETH_SEND_4)

Definition at line 108 of file myri10ge_mcp.h.

#define MXGEFW_ETH_SEND_STOP   0x3C0000

Definition at line 105 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_ALIGN_ODD   0x4

Definition at line 56 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_CKSUM   0x8

Definition at line 57 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_FIRST   0x2

Definition at line 55 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_NO_TSO   0x10

Definition at line 59 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_SMALL   0x1

Definition at line 53 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_TSO_CHOP   0x10

Definition at line 60 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_TSO_HDR   0x1

Definition at line 54 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_TSO_LAST   0x8

Definition at line 58 of file myri10ge_mcp.h.

#define MXGEFW_FLAGS_TSO_PLD   0x20

Definition at line 61 of file myri10ge_mcp.h.

#define MXGEFW_LINK_DOWN   0

Definition at line 410 of file myri10ge_mcp.h.

#define MXGEFW_LINK_MYRINET   2

Definition at line 412 of file myri10ge_mcp.h.

#define MXGEFW_LINK_UNKNOWN   3

Definition at line 413 of file myri10ge_mcp.h.

#define MXGEFW_LINK_UP   1

Definition at line 411 of file myri10ge_mcp.h.

#define MXGEFW_MAX_MTU   9400

Definition at line 64 of file myri10ge_mcp.h.

#define MXGEFW_MAX_SEND_DESC   12

Definition at line 71 of file myri10ge_mcp.h.

#define MXGEFW_NETQ_FILTERTYPE_MACADDR   1

Definition at line 431 of file myri10ge_mcp.h.

#define MXGEFW_NETQ_FILTERTYPE_NONE   0

Definition at line 430 of file myri10ge_mcp.h.

#define MXGEFW_NETQ_FILTERTYPE_VLAN   2

Definition at line 432 of file myri10ge_mcp.h.

#define MXGEFW_NETQ_FILTERTYPE_VLANMACADDR   3

Definition at line 433 of file myri10ge_mcp.h.

#define MXGEFW_OLD_IRQ_DATA_LEN   40

Definition at line 397 of file myri10ge_mcp.h.

#define MXGEFW_PAD   2

Definition at line 72 of file myri10ge_mcp.h.

#define MXGEFW_RSS_HASH_TYPE_IPV4   0x1

Definition at line 274 of file myri10ge_mcp.h.

#define MXGEFW_RSS_HASH_TYPE_MAX   0x5

Definition at line 278 of file myri10ge_mcp.h.

#define MXGEFW_RSS_HASH_TYPE_SRC_DST_PORT   0x5

Definition at line 277 of file myri10ge_mcp.h.

#define MXGEFW_RSS_HASH_TYPE_SRC_PORT   0x4

Definition at line 276 of file myri10ge_mcp.h.

#define MXGEFW_RSS_HASH_TYPE_TCP_IPV4   0x2

Definition at line 275 of file myri10ge_mcp.h.

#define MXGEFW_RSS_MCP_SLOT_TYPE_MIN   0

Definition at line 332 of file myri10ge_mcp.h.

#define MXGEFW_RSS_MCP_SLOT_TYPE_WITH_HASH   1

Definition at line 333 of file myri10ge_mcp.h.

#define MXGEFW_SEND_SMALL_SIZE   1520

Definition at line 63 of file myri10ge_mcp.h.

#define MXGEFW_SLICE_ENABLE_MULTIPLE_TX_QUEUES   0x2

Definition at line 250 of file myri10ge_mcp.h.

#define MXGEFW_SLICE_INTR_MODE_ONE_PER_SLICE   0x1

Definition at line 249 of file myri10ge_mcp.h.

#define MXGEFW_SLICE_INTR_MODE_SHARED   0x0

Definition at line 248 of file myri10ge_mcp.h.

#define MXGEFW_TSO_MODE_LINUX   0

Definition at line 294 of file myri10ge_mcp.h.

#define MXGEFW_TSO_MODE_NDIS   1

Definition at line 295 of file myri10ge_mcp.h.

#define MXGEFW_VERSION_MAJOR   1

Definition at line 4 of file myri10ge_mcp.h.

#define MXGEFW_VERSION_MINOR   4

Definition at line 5 of file myri10ge_mcp.h.

Enumeration Type Documentation

Enumerator:
MXGEFW_CMD_OK 
MXGEFW_CMD_UNKNOWN 
MXGEFW_CMD_ERROR_RANGE 
MXGEFW_CMD_ERROR_BUSY 
MXGEFW_CMD_ERROR_EMPTY 
MXGEFW_CMD_ERROR_CLOSED 
MXGEFW_CMD_ERROR_HASH_ERROR 
MXGEFW_CMD_ERROR_BAD_PORT 
MXGEFW_CMD_ERROR_RESOURCES 
MXGEFW_CMD_ERROR_MULTICAST 
MXGEFW_CMD_ERROR_UNALIGNED 
MXGEFW_CMD_ERROR_NO_MDIO 
MXGEFW_CMD_ERROR_I2C_FAILURE 
MXGEFW_CMD_ERROR_I2C_ABSENT 
MXGEFW_CMD_ERROR_BAD_PCIE_LINK 

Definition at line 379 of file myri10ge_mcp.h.

Enumerator:
MXGEFW_CMD_NONE 
MXGEFW_CMD_RESET 
MXGEFW_GET_MCP_VERSION 
MXGEFW_CMD_SET_INTRQ_DMA 
MXGEFW_CMD_SET_BIG_BUFFER_SIZE 
MXGEFW_CMD_SET_SMALL_BUFFER_SIZE 
MXGEFW_CMD_GET_SEND_OFFSET 
MXGEFW_CMD_GET_SMALL_RX_OFFSET 
MXGEFW_CMD_GET_BIG_RX_OFFSET 
MXGEFW_CMD_GET_IRQ_ACK_OFFSET 
MXGEFW_CMD_GET_IRQ_DEASSERT_OFFSET 
MXGEFW_CMD_GET_SEND_RING_SIZE 
MXGEFW_CMD_GET_RX_RING_SIZE 
MXGEFW_CMD_SET_INTRQ_SIZE 
MXGEFW_CMD_ETHERNET_UP 
MXGEFW_CMD_ETHERNET_DOWN 
MXGEFW_CMD_SET_MTU 
MXGEFW_CMD_GET_INTR_COAL_DELAY_OFFSET 
MXGEFW_CMD_SET_STATS_INTERVAL 
MXGEFW_CMD_SET_STATS_DMA_OBSOLETE 
MXGEFW_ENABLE_PROMISC 
MXGEFW_DISABLE_PROMISC 
MXGEFW_SET_MAC_ADDRESS 
MXGEFW_ENABLE_FLOW_CONTROL 
MXGEFW_DISABLE_FLOW_CONTROL 
MXGEFW_DMA_TEST 
MXGEFW_ENABLE_ALLMULTI 
MXGEFW_DISABLE_ALLMULTI 
MXGEFW_JOIN_MULTICAST_GROUP 
MXGEFW_LEAVE_MULTICAST_GROUP 
MXGEFW_LEAVE_ALL_MULTICAST_GROUPS 
MXGEFW_CMD_SET_STATS_DMA_V2 
MXGEFW_CMD_UNALIGNED_TEST 
MXGEFW_CMD_UNALIGNED_STATUS 
MXGEFW_CMD_ALWAYS_USE_N_BIG_BUFFERS 
MXGEFW_CMD_GET_MAX_RSS_QUEUES 
MXGEFW_CMD_ENABLE_RSS_QUEUES 
MXGEFW_CMD_GET_RSS_SHARED_INTERRUPT_MASK_OFFSET 
MXGEFW_CMD_SET_RSS_SHARED_INTERRUPT_DMA 
MXGEFW_CMD_GET_RSS_TABLE_OFFSET 
MXGEFW_CMD_SET_RSS_TABLE_SIZE 
MXGEFW_CMD_GET_RSS_KEY_OFFSET 
MXGEFW_CMD_RSS_KEY_UPDATED 
MXGEFW_CMD_SET_RSS_ENABLE 
MXGEFW_CMD_GET_MAX_TSO6_HDR_SIZE 
MXGEFW_CMD_SET_TSO_MODE 
MXGEFW_CMD_MDIO_READ 
MXGEFW_CMD_MDIO_WRITE 
MXGEFW_CMD_I2C_READ 
MXGEFW_CMD_I2C_BYTE 
MXGEFW_CMD_GET_VPUMP_OFFSET 
MXGEFW_CMD_RESET_VPUMP 
MXGEFW_CMD_SET_RSS_MCP_SLOT_TYPE 
MXGEFW_CMD_SET_THROTTLE_FACTOR 
MXGEFW_CMD_VPUMP_UP 
MXGEFW_CMD_GET_VPUMP_CLK 
MXGEFW_CMD_GET_DCA_OFFSET 
MXGEFW_CMD_NETQ_GET_FILTERS_PER_QUEUE 
MXGEFW_CMD_NETQ_ADD_FILTER 
MXGEFW_CMD_NETQ_DEL_FILTER 
MXGEFW_CMD_NETQ_QUERY1 
MXGEFW_CMD_NETQ_QUERY2 
MXGEFW_CMD_NETQ_QUERY3 
MXGEFW_CMD_NETQ_QUERY4 
MXGEFW_CMD_RELAX_RXBUFFER_ALIGNMENT 

Definition at line 110 of file myri10ge_mcp.h.