pasemi_mac: basic ethtool support
First cut at ethtool support, to be completed over time. Signed-off-by: Olof Johansson <olof@lixom.net> Acked-by: Jeff Garzik <jgarzik@pobox.com>
This commit is contained in:
@@ -26,6 +26,12 @@
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/phy.h>
|
||||
|
||||
/* Must be a power of two */
|
||||
#define RX_RING_SIZE 2048
|
||||
#define TX_RING_SIZE 4096
|
||||
#define CS_RING_SIZE (TX_RING_SIZE*2)
|
||||
|
||||
|
||||
#define MAX_LRO_DESCRIPTORS 8
|
||||
#define MAX_CS 2
|
||||
|
||||
@@ -103,6 +109,16 @@ struct pasemi_mac_buffer {
|
||||
dma_addr_t dma;
|
||||
};
|
||||
|
||||
#define TX_DESC(tx, num) ((tx)->chan.ring_virt[(num) & (TX_RING_SIZE-1)])
|
||||
#define TX_DESC_INFO(tx, num) ((tx)->ring_info[(num) & (TX_RING_SIZE-1)])
|
||||
#define RX_DESC(rx, num) ((rx)->chan.ring_virt[(num) & (RX_RING_SIZE-1)])
|
||||
#define RX_DESC_INFO(rx, num) ((rx)->ring_info[(num) & (RX_RING_SIZE-1)])
|
||||
#define RX_BUFF(rx, num) ((rx)->buffers[(num) & (RX_RING_SIZE-1)])
|
||||
#define CS_DESC(cs, num) ((cs)->chan.ring_virt[(num) & (CS_RING_SIZE-1)])
|
||||
|
||||
#define RING_USED(ring) (((ring)->next_to_fill - (ring)->next_to_clean) \
|
||||
& ((ring)->size - 1))
|
||||
#define RING_AVAIL(ring) ((ring->size) - RING_USED(ring))
|
||||
|
||||
/* PCI register offsets and formats */
|
||||
|
||||
@@ -114,6 +130,7 @@ enum {
|
||||
PAS_MAC_CFG_ADR0 = 0x8c,
|
||||
PAS_MAC_CFG_ADR1 = 0x90,
|
||||
PAS_MAC_CFG_TXP = 0x98,
|
||||
PAS_MAC_CFG_RMON = 0x100,
|
||||
PAS_MAC_IPC_CHNL = 0x208,
|
||||
};
|
||||
|
||||
@@ -185,6 +202,8 @@ enum {
|
||||
#define PAS_MAC_CFG_TXP_TIFG(x) (((x) << PAS_MAC_CFG_TXP_TIFG_S) & \
|
||||
PAS_MAC_CFG_TXP_TIFG_M)
|
||||
|
||||
#define PAS_MAC_RMON(r) (0x100+(r)*4)
|
||||
|
||||
#define PAS_MAC_IPC_CHNL_DCHNO_M 0x003f0000
|
||||
#define PAS_MAC_IPC_CHNL_DCHNO_S 16
|
||||
#define PAS_MAC_IPC_CHNL_DCHNO(x) (((x) << PAS_MAC_IPC_CHNL_DCHNO_S) & \
|
||||
@@ -194,4 +213,5 @@ enum {
|
||||
#define PAS_MAC_IPC_CHNL_BCH(x) (((x) << PAS_MAC_IPC_CHNL_BCH_S) & \
|
||||
PAS_MAC_IPC_CHNL_BCH_M)
|
||||
|
||||
|
||||
#endif /* PASEMI_MAC_H */
|
||||
|
Reference in New Issue
Block a user