--- linux-2.6.22.14/drivers/net/gianfar.h 2008-01-22 14:03:03.000000000 +0200 +++ linux/drivers/net/gianfar.h 2008-01-15 11:04:02.000000000 +0200 @@ -124,12 +124,12 @@ extern const char gfar_driver_version[]; #define GFAR_10_TIME 25600 #define DEFAULT_TX_COALESCE 1 -#define DEFAULT_TXCOUNT 16 -#define DEFAULT_TXTIME 4 +#define DEFAULT_TXCOUNT 64 +#define DEFAULT_TXTIME 0x1000 #define DEFAULT_RX_COALESCE 1 -#define DEFAULT_RXCOUNT 16 -#define DEFAULT_RXTIME 4 +#define DEFAULT_RXCOUNT 64 +#define DEFAULT_RXTIME 0x1000 #define TBIPA_VALUE 0x1f #define MIIMCFG_INIT_VALUE 0x00000007 @@ -264,7 +264,8 @@ extern const char gfar_driver_version[]; #define IMASK_FIQ 0x00000004 #define IMASK_DPE 0x00000002 #define IMASK_PERR 0x00000001 -#define IMASK_RX_DISABLED ~(IMASK_RXFEN0 | IMASK_BSY) +#define IMASK_RXTX_DISABLED \ + ~(IMASK_RXFEN0 | IMASK_BSY | IMASK_TXBEN | IMASK_TXFEN) #define IMASK_DEFAULT (IMASK_TXEEN | IMASK_TXFEN | IMASK_TXBEN | \ IMASK_RXFEN0 | IMASK_BSY | IMASK_EBERR | IMASK_BABR | \ IMASK_XFUN | IMASK_RXC | IMASK_BABT | IMASK_DPE \ @@ -475,7 +476,13 @@ struct gfar { u32 ptv; /* 0x.028 - Pause Time Value Register */ u32 dmactrl; /* 0x.02c - DMA Control Register */ u32 tbipa; /* 0x.030 - TBI PHY Address Register */ - u8 res3[88]; +// u8 res3[88]; + u8 res3[28]; + u32 rxfifoalarm; + u32 rxfifoalarmshutoff; + u32 rxfifopanic; + u32 rxfifopanicshutoff; + u8 res33[44]; u32 fifo_tx_thr; /* 0x.08c - FIFO transmit threshold register */ u8 res4[8]; u32 fifo_tx_starve; /* 0x.098 - FIFO transmit starve register */ @@ -758,8 +765,8 @@ static inline void gfar_write(volatile u } extern irqreturn_t gfar_receive(int irq, void *dev_id); -extern int startup_gfar(struct net_device *dev); -extern void stop_gfar(struct net_device *dev); +extern int startup_gfar(struct net_device *dev, int irq); +extern void stop_gfar(struct net_device *dev, int irq); extern void gfar_halt(struct net_device *dev); extern void gfar_phy_test(struct mii_bus *bus, struct phy_device *phydev, int enable, u32 regnum, u32 read);