GREG_STAT_PCS | GREG_STAT_TXMAC | GREG_STAT_RXMAC | \
GREG_STAT_MAC | GREG_STAT_MIF | GREG_STAT_PCIERR)
+#define GREG_STAT_NAPI (GREG_STAT_TXALL | GREG_STAT_TXINTME | \
+ GREG_STAT_RXDONE | GREG_STAT_ABNORMAL)
+
/* The layout of GREG_IMASK and GREG_IACK is identical to GREG_STAT.
* Bits set in GREG_IMASK will prevent that interrupt type from being
* signalled to the cpu. GREG_IACK can be used to clear specific top-level
(GP)->tx_old - (GP)->tx_new - 1)
#define RX_OFFSET 2
-#define RX_BUF_ALLOC_SIZE(gp) ((gp)->dev->mtu + 46 + RX_OFFSET + 64)
+#define RX_BUF_ALLOC_SIZE(gp) ((gp)->rx_buf_sz + 28 + RX_OFFSET + 64)
#define RX_COPY_THRESHOLD 256
struct gem {
spinlock_t lock;
- unsigned long regs;
+ spinlock_t tx_lock;
+ void __iomem *regs;
int rx_new, rx_old;
int tx_new, tx_old;
struct sk_buff *tx_skbs[RX_RING_SIZE];
u32 msg_enable;
+ u32 status;
struct net_device_stats net_stats;
int rx_fifo_sz;
int rx_pause_off;
int rx_pause_on;
+ int rx_buf_sz;
int mii_phy_addr;
u32 mac_rx_cfg;