summaryrefslogtreecommitdiffstats
path: root/drivers/net/3c527.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/3c527.h')
-rw-r--r--drivers/net/3c527.h57
1 files changed, 50 insertions, 7 deletions
diff --git a/drivers/net/3c527.h b/drivers/net/3c527.h
index dfe2738cb..a696d0ef5 100644
--- a/drivers/net/3c527.h
+++ b/drivers/net/3c527.h
@@ -7,11 +7,19 @@
*/
#define HOST_CMD 0
+#define HOST_CMD_START_RX (1<<3)
+#define HOST_CMD_SUSPND_RX (3<<3)
+#define HOST_CMD_RESTRT_RX (5<<3)
+
+#define HOST_CMD_SUSPND_TX 3
+#define HOST_CMD_RESTRT_TX 5
+
#define HOST_STATUS 2
#define HOST_STATUS_CRR (1<<6)
#define HOST_STATUS_CWR (1<<5)
+
#define HOST_CTRL 6
#define HOST_CTRL_ATTN (1<<7)
#define HOST_CTRL_RESET (1<<6)
@@ -19,6 +27,17 @@
#define HOST_RAMPAGE 8
+#define RX_HALTED (1<<0)
+#define TX_HALTED (1<<1)
+#define HALTED (RX_HALTED | TX_HALTED)
+#define RUNNING 0
+
+struct mc32_mailbox
+{
+ u16 mbox __attribute((packed));
+ u16 data[1] __attribute((packed));
+};
+
struct skb_header
{
u8 status __attribute((packed));
@@ -28,13 +47,37 @@ struct skb_header
u32 data __attribute((packed));
};
-#define STATUS_MASK 0x0F
-#define COMPLETED 0x80
-#define COMPLETED_OK 0x40
-#define BUFFER_BUSY 0x20
+struct mc32_stats
+{
+ /* RX Errors */
+ u32 rx_crc_errors __attribute((packed));
+ u32 rx_alignment_errors __attribute((packed));
+ u32 rx_overrun_errors __attribute((packed));
+ u32 rx_tooshort_errors __attribute((packed));
+ u32 rx_toolong_errors __attribute((packed));
+ u32 rx_outofresource_errors __attribute((packed));
+
+ u32 rx_discarded __attribute((packed)); /* via card pattern match filter */
-#define CONTROL_EOP 0x80 /* End Of Packet */
-#define CONTROL_EL 0x40 /* End of List */
+ /* TX Errors */
+ u32 tx_max_collisions __attribute((packed));
+ u32 tx_carrier_errors __attribute((packed));
+ u32 tx_underrun_errors __attribute((packed));
+ u32 tx_cts_errors __attribute((packed));
+ u32 tx_timeout_errors __attribute((packed)) ;
+
+ /* various cruft */
+ u32 dataA[6] __attribute((packed));
+ u16 dataB[5] __attribute((packed));
+ u32 dataC[14] __attribute((packed));
+};
+
+#define STATUS_MASK 0x0F
+#define COMPLETED (1<<7)
+#define COMPLETED_OK (1<<6)
+#define BUFFER_BUSY (1<<5)
+#define CONTROL_EOP (1<<7) /* End Of Packet */
+#define CONTROL_EOL (1<<6) /* End of List */
-#define MCA_MC32_ID 0x0041 /* Our MCA ident */ \ No newline at end of file
+#define MCA_MC32_ID 0x0041 /* Our MCA ident */