summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge/mxge_mcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mxge/mxge_mcp.h')
-rw-r--r--sys/dev/mxge/mxge_mcp.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/sys/dev/mxge/mxge_mcp.h b/sys/dev/mxge/mxge_mcp.h
index 79d7249..d5da5a5 100644
--- a/sys/dev/mxge/mxge_mcp.h
+++ b/sys/dev/mxge/mxge_mcp.h
@@ -258,6 +258,13 @@ enum myri10ge_mcp_cmd_type {
/* data0, data1 = bus addr,
data2 = sizeof(struct mcp_irq_data) from driver point of view, allows
adding new stuff to mcp_irq_data without changing the ABI */
+
+ MXGEFW_CMD_UNALIGNED_TEST,
+ /* same than DMA_TEST (same args) but abort with UNALIGNED on unaligned
+ chipset */
+
+ MXGEFW_CMD_UNALIGNED_STATUS
+ /* return data = boolean, true if the chipset is known to be unaligned */
};
typedef enum myri10ge_mcp_cmd_type myri10ge_mcp_cmd_type_t;
@@ -272,7 +279,8 @@ enum myri10ge_mcp_cmd_status {
MXGEFW_CMD_ERROR_HASH_ERROR,
MXGEFW_CMD_ERROR_BAD_PORT,
MXGEFW_CMD_ERROR_RESOURCES,
- MXGEFW_CMD_ERROR_MULTICAST
+ MXGEFW_CMD_ERROR_MULTICAST,
+ MXGEFW_CMD_ERROR_UNALIGNED
};
typedef enum myri10ge_mcp_cmd_status myri10ge_mcp_cmd_status_t;
@@ -281,11 +289,19 @@ typedef enum myri10ge_mcp_cmd_status myri10ge_mcp_cmd_status_t;
struct mcp_irq_data {
/* add new counters at the beginning */
- uint32_t future_use[5];
+ uint32_t future_use[1];
+ uint32_t dropped_pause;
+ uint32_t dropped_unicast_filtered;
+ uint32_t dropped_bad_crc32;
+ uint32_t dropped_bad_phy;
uint32_t dropped_multicast_filtered;
/* 40 Bytes */
uint32_t send_done_count;
+#define MXGEFW_LINK_DOWN 0
+#define MXGEFW_LINK_UP 1
+#define MXGEFW_LINK_MYRINET 2
+#define MXGEFW_LINK_UNKNOWN 3
uint32_t link_up;
uint32_t dropped_link_overflow;
uint32_t dropped_link_error_or_filtered;
OpenPOWER on IntegriCloud