12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- * 3COM "EtherLink MC/32" Descriptions
- */
- /*
- * Registers
- */
- #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)
- #define HOST_CTRL_INTE (1<<2)
- #define HOST_RAMPAGE 8
- #define HALTED 0
- #define RUNNING 1
- struct mc32_mailbox
- {
- u16 mbox;
- u16 data[1];
- } __packed;
- struct skb_header
- {
- u8 status;
- u8 control;
- u16 next; /* Do not change! */
- u16 length;
- u32 data;
- } __packed;
- struct mc32_stats
- {
- /* RX Errors */
- u32 rx_crc_errors;
- u32 rx_alignment_errors;
- u32 rx_overrun_errors;
- u32 rx_tooshort_errors;
- u32 rx_toolong_errors;
- u32 rx_outofresource_errors;
- u32 rx_discarded; /* via card pattern match filter */
- /* TX Errors */
- u32 tx_max_collisions;
- u32 tx_carrier_errors;
- u32 tx_underrun_errors;
- u32 tx_cts_errors;
- u32 tx_timeout_errors;
- /* various cruft */
- u32 dataA[6];
- u16 dataB[5];
- u32 dataC[14];
- } __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 */
|