diff options
author | Kou Ishizaki <kou.ishizaki@toshiba.co.jp> | 2007-02-20 17:33:41 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-27 04:16:02 -0500 |
commit | abdb66b566fce5641c90100e0a113a94bab43fda (patch) | |
tree | a93d9d4063159353f0a1e765723ba462b2682446 /drivers/net/spider_net.h | |
parent | d406eafee814c0e20af00a9a74f68f6993d8cb9c (diff) |
spidernet: autoneg support for Celleb
Add auto negotiation support for Celleb.
Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/spider_net.h')
-rw-r--r-- | drivers/net/spider_net.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/spider_net.h b/drivers/net/spider_net.h index 2fec5cf7692..6f5ee27f80f 100644 --- a/drivers/net/spider_net.h +++ b/drivers/net/spider_net.h | |||
@@ -50,6 +50,8 @@ extern char spider_net_driver_name[]; | |||
50 | #define SPIDER_NET_TX_DESCRIPTORS_MAX 512 | 50 | #define SPIDER_NET_TX_DESCRIPTORS_MAX 512 |
51 | 51 | ||
52 | #define SPIDER_NET_TX_TIMER (HZ/5) | 52 | #define SPIDER_NET_TX_TIMER (HZ/5) |
53 | #define SPIDER_NET_ANEG_TIMER (HZ) | ||
54 | #define SPIDER_NET_ANEG_TIMEOUT 2 | ||
53 | 55 | ||
54 | #define SPIDER_NET_RX_CSUM_DEFAULT 1 | 56 | #define SPIDER_NET_RX_CSUM_DEFAULT 1 |
55 | 57 | ||
@@ -104,6 +106,7 @@ extern char spider_net_driver_name[]; | |||
104 | 106 | ||
105 | #define SPIDER_NET_GMACOPEMD 0x00000100 | 107 | #define SPIDER_NET_GMACOPEMD 0x00000100 |
106 | #define SPIDER_NET_GMACLENLMT 0x00000108 | 108 | #define SPIDER_NET_GMACLENLMT 0x00000108 |
109 | #define SPIDER_NET_GMACST 0x00000110 | ||
107 | #define SPIDER_NET_GMACINTEN 0x00000118 | 110 | #define SPIDER_NET_GMACINTEN 0x00000118 |
108 | #define SPIDER_NET_GMACPHYCTRL 0x00000120 | 111 | #define SPIDER_NET_GMACPHYCTRL 0x00000120 |
109 | 112 | ||
@@ -333,9 +336,12 @@ enum spider_net_int2_status { | |||
333 | /* We rely on flagged descriptor interrupts */ | 336 | /* We rely on flagged descriptor interrupts */ |
334 | #define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) ) | 337 | #define SPIDER_NET_RXINT ( (1 << SPIDER_NET_GDAFDCINT) ) |
335 | 338 | ||
339 | #define SPIDER_NET_LINKINT ( 1 << SPIDER_NET_GMAC2INT ) | ||
340 | |||
336 | #define SPIDER_NET_ERRINT ( 0xffffffff & \ | 341 | #define SPIDER_NET_ERRINT ( 0xffffffff & \ |
337 | (~SPIDER_NET_TXINT) & \ | 342 | (~SPIDER_NET_TXINT) & \ |
338 | (~SPIDER_NET_RXINT) ) | 343 | (~SPIDER_NET_RXINT) & \ |
344 | (~SPIDER_NET_LINKINT) ) | ||
339 | 345 | ||
340 | #define SPIDER_NET_GPREXEC 0x80000000 | 346 | #define SPIDER_NET_GPREXEC 0x80000000 |
341 | #define SPIDER_NET_GPRDAT_MASK 0x0000ffff | 347 | #define SPIDER_NET_GPRDAT_MASK 0x0000ffff |
@@ -442,6 +448,8 @@ struct spider_net_card { | |||
442 | struct spider_net_descr_chain rx_chain; | 448 | struct spider_net_descr_chain rx_chain; |
443 | struct spider_net_descr *low_watermark; | 449 | struct spider_net_descr *low_watermark; |
444 | 450 | ||
451 | int aneg_count; | ||
452 | struct timer_list aneg_timer; | ||
445 | struct timer_list tx_timer; | 453 | struct timer_list tx_timer; |
446 | struct work_struct tx_timeout_task; | 454 | struct work_struct tx_timeout_task; |
447 | atomic_t tx_timeout_task_counter; | 455 | atomic_t tx_timeout_task_counter; |