diff options
Diffstat (limited to 'drivers/net/spider_net.h')
-rw-r--r-- | drivers/net/spider_net.h | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/drivers/net/spider_net.h b/drivers/net/spider_net.h index a59deda2f95e..b3b46119b424 100644 --- a/drivers/net/spider_net.h +++ b/drivers/net/spider_net.h | |||
@@ -24,6 +24,8 @@ | |||
24 | #ifndef _SPIDER_NET_H | 24 | #ifndef _SPIDER_NET_H |
25 | #define _SPIDER_NET_H | 25 | #define _SPIDER_NET_H |
26 | 26 | ||
27 | #define VERSION "1.1 A" | ||
28 | |||
27 | #include "sungem_phy.h" | 29 | #include "sungem_phy.h" |
28 | 30 | ||
29 | extern int spider_net_stop(struct net_device *netdev); | 31 | extern int spider_net_stop(struct net_device *netdev); |
@@ -47,7 +49,7 @@ extern char spider_net_driver_name[]; | |||
47 | #define SPIDER_NET_TX_DESCRIPTORS_MIN 16 | 49 | #define SPIDER_NET_TX_DESCRIPTORS_MIN 16 |
48 | #define SPIDER_NET_TX_DESCRIPTORS_MAX 512 | 50 | #define SPIDER_NET_TX_DESCRIPTORS_MAX 512 |
49 | 51 | ||
50 | #define SPIDER_NET_TX_TIMER 20 | 52 | #define SPIDER_NET_TX_TIMER (HZ/5) |
51 | 53 | ||
52 | #define SPIDER_NET_RX_CSUM_DEFAULT 1 | 54 | #define SPIDER_NET_RX_CSUM_DEFAULT 1 |
53 | 55 | ||
@@ -189,7 +191,9 @@ extern char spider_net_driver_name[]; | |||
189 | #define SPIDER_NET_MACMODE_VALUE 0x00000001 | 191 | #define SPIDER_NET_MACMODE_VALUE 0x00000001 |
190 | #define SPIDER_NET_BURSTLMT_VALUE 0x00000200 /* about 16 us */ | 192 | #define SPIDER_NET_BURSTLMT_VALUE 0x00000200 /* about 16 us */ |
191 | 193 | ||
192 | /* 1(0) enable r/tx dma | 194 | /* DMAC control register GDMACCNTR |
195 | * | ||
196 | * 1(0) enable r/tx dma | ||
193 | * 0000000 fixed to 0 | 197 | * 0000000 fixed to 0 |
194 | * | 198 | * |
195 | * 000000 fixed to 0 | 199 | * 000000 fixed to 0 |
@@ -198,6 +202,7 @@ extern char spider_net_driver_name[]; | |||
198 | * | 202 | * |
199 | * 000000 fixed to 0 | 203 | * 000000 fixed to 0 |
200 | * 00 burst alignment: 128 bytes | 204 | * 00 burst alignment: 128 bytes |
205 | * 11 burst alignment: 1024 bytes | ||
201 | * | 206 | * |
202 | * 00000 fixed to 0 | 207 | * 00000 fixed to 0 |
203 | * 0 descr writeback size 32 bytes | 208 | * 0 descr writeback size 32 bytes |
@@ -208,10 +213,13 @@ extern char spider_net_driver_name[]; | |||
208 | #define SPIDER_NET_DMA_RX_VALUE 0x80000000 | 213 | #define SPIDER_NET_DMA_RX_VALUE 0x80000000 |
209 | #define SPIDER_NET_DMA_RX_FEND_VALUE 0x00030003 | 214 | #define SPIDER_NET_DMA_RX_FEND_VALUE 0x00030003 |
210 | /* to set TX_DMA_EN */ | 215 | /* to set TX_DMA_EN */ |
211 | #define SPIDER_NET_TX_DMA_EN 0x80000000 | 216 | #define SPIDER_NET_TX_DMA_EN 0x80000000 |
212 | #define SPIDER_NET_GDTDCEIDIS 0x00000002 | 217 | #define SPIDER_NET_GDTBSTA 0x00000300 |
213 | #define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \ | 218 | #define SPIDER_NET_GDTDCEIDIS 0x00000002 |
214 | SPIDER_NET_GDTDCEIDIS | 219 | #define SPIDER_NET_DMA_TX_VALUE SPIDER_NET_TX_DMA_EN | \ |
220 | SPIDER_NET_GDTBSTA | \ | ||
221 | SPIDER_NET_GDTDCEIDIS | ||
222 | |||
215 | #define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003 | 223 | #define SPIDER_NET_DMA_TX_FEND_VALUE 0x00030003 |
216 | 224 | ||
217 | /* SPIDER_NET_UA_DESCR_VALUE is OR'ed with the unicast address */ | 225 | /* SPIDER_NET_UA_DESCR_VALUE is OR'ed with the unicast address */ |
@@ -320,13 +328,10 @@ enum spider_net_int2_status { | |||
320 | SPIDER_NET_GRISPDNGINT | 328 | SPIDER_NET_GRISPDNGINT |
321 | }; | 329 | }; |
322 | 330 | ||
323 | #define SPIDER_NET_TXINT ( (1 << SPIDER_NET_GTTEDINT) | \ | 331 | #define SPIDER_NET_TXINT ( (1 << SPIDER_NET_GDTFDCINT) ) |
324 | (1 << SPIDER_NET_GDTDCEINT) | \ | ||
325 | (1 << SPIDER_NET_GDTFDCINT) ) | ||
326 | 332 | ||
327 | /* we rely on flagged descriptor interrupts*/ | 333 | /* We rely on flagged descriptor interrupts */ |
328 | #define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) | \ | 334 | #define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) ) |
329 | (1 << SPIDER_NET_GRMFLLINT) ) | ||
330 | 335 | ||
331 | #define SPIDER_NET_ERRINT ( 0xffffffff & \ | 336 | #define SPIDER_NET_ERRINT ( 0xffffffff & \ |
332 | (~SPIDER_NET_TXINT) & \ | 337 | (~SPIDER_NET_TXINT) & \ |
@@ -349,6 +354,7 @@ enum spider_net_int2_status { | |||
349 | #define SPIDER_NET_DESCR_FORCE_END 0x50000000 /* used in rx and tx */ | 354 | #define SPIDER_NET_DESCR_FORCE_END 0x50000000 /* used in rx and tx */ |
350 | #define SPIDER_NET_DESCR_CARDOWNED 0xA0000000 /* used in rx and tx */ | 355 | #define SPIDER_NET_DESCR_CARDOWNED 0xA0000000 /* used in rx and tx */ |
351 | #define SPIDER_NET_DESCR_NOT_IN_USE 0xF0000000 | 356 | #define SPIDER_NET_DESCR_NOT_IN_USE 0xF0000000 |
357 | #define SPIDER_NET_DESCR_TXDESFLG 0x00800000 | ||
352 | 358 | ||
353 | struct spider_net_descr { | 359 | struct spider_net_descr { |
354 | /* as defined by the hardware */ | 360 | /* as defined by the hardware */ |
@@ -433,6 +439,7 @@ struct spider_net_card { | |||
433 | 439 | ||
434 | struct spider_net_descr_chain tx_chain; | 440 | struct spider_net_descr_chain tx_chain; |
435 | struct spider_net_descr_chain rx_chain; | 441 | struct spider_net_descr_chain rx_chain; |
442 | struct spider_net_descr *low_watermark; | ||
436 | 443 | ||
437 | struct net_device_stats netdev_stats; | 444 | struct net_device_stats netdev_stats; |
438 | 445 | ||
@@ -448,8 +455,8 @@ struct spider_net_card { | |||
448 | 455 | ||
449 | /* for ethtool */ | 456 | /* for ethtool */ |
450 | int msg_enable; | 457 | int msg_enable; |
451 | int rx_desc; | 458 | int num_rx_desc; |
452 | int tx_desc; | 459 | int num_tx_desc; |
453 | struct spider_net_extra_stats spider_stats; | 460 | struct spider_net_extra_stats spider_stats; |
454 | 461 | ||
455 | struct spider_net_descr descr[0]; | 462 | struct spider_net_descr descr[0]; |