diff options
Diffstat (limited to 'drivers/net/spider_net.h')
-rw-r--r-- | drivers/net/spider_net.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/net/spider_net.h b/drivers/net/spider_net.h index f7d1310ff473..a1a42d5821b5 100644 --- a/drivers/net/spider_net.h +++ b/drivers/net/spider_net.h | |||
@@ -25,7 +25,7 @@ | |||
25 | #ifndef _SPIDER_NET_H | 25 | #ifndef _SPIDER_NET_H |
26 | #define _SPIDER_NET_H | 26 | #define _SPIDER_NET_H |
27 | 27 | ||
28 | #define VERSION "1.6 B" | 28 | #define VERSION "1.6 C" |
29 | 29 | ||
30 | #include "sungem_phy.h" | 30 | #include "sungem_phy.h" |
31 | 31 | ||
@@ -364,8 +364,8 @@ enum spider_net_int2_status { | |||
364 | #define SPIDER_NET_DESCR_NOT_IN_USE 0xF0000000 | 364 | #define SPIDER_NET_DESCR_NOT_IN_USE 0xF0000000 |
365 | #define SPIDER_NET_DESCR_TXDESFLG 0x00800000 | 365 | #define SPIDER_NET_DESCR_TXDESFLG 0x00800000 |
366 | 366 | ||
367 | struct spider_net_descr { | 367 | /* Descriptor, as defined by the hardware */ |
368 | /* as defined by the hardware */ | 368 | struct spider_net_hw_descr { |
369 | u32 buf_addr; | 369 | u32 buf_addr; |
370 | u32 buf_size; | 370 | u32 buf_size; |
371 | u32 next_descr_addr; | 371 | u32 next_descr_addr; |
@@ -374,13 +374,15 @@ struct spider_net_descr { | |||
374 | u32 valid_size; /* all zeroes for tx */ | 374 | u32 valid_size; /* all zeroes for tx */ |
375 | u32 data_status; | 375 | u32 data_status; |
376 | u32 data_error; /* all zeroes for tx */ | 376 | u32 data_error; /* all zeroes for tx */ |
377 | } __attribute__((aligned(32))); | ||
377 | 378 | ||
378 | /* used in the driver */ | 379 | struct spider_net_descr { |
380 | struct spider_net_hw_descr *hwdescr; | ||
379 | struct sk_buff *skb; | 381 | struct sk_buff *skb; |
380 | u32 bus_addr; | 382 | u32 bus_addr; |
381 | struct spider_net_descr *next; | 383 | struct spider_net_descr *next; |
382 | struct spider_net_descr *prev; | 384 | struct spider_net_descr *prev; |
383 | } __attribute__((aligned(32))); | 385 | }; |
384 | 386 | ||
385 | struct spider_net_descr_chain { | 387 | struct spider_net_descr_chain { |
386 | spinlock_t lock; | 388 | spinlock_t lock; |
@@ -388,6 +390,7 @@ struct spider_net_descr_chain { | |||
388 | struct spider_net_descr *tail; | 390 | struct spider_net_descr *tail; |
389 | struct spider_net_descr *ring; | 391 | struct spider_net_descr *ring; |
390 | int num_desc; | 392 | int num_desc; |
393 | struct spider_net_hw_descr *hwring; | ||
391 | dma_addr_t dma_addr; | 394 | dma_addr_t dma_addr; |
392 | }; | 395 | }; |
393 | 396 | ||
@@ -464,6 +467,9 @@ struct spider_net_card { | |||
464 | struct net_device_stats netdev_stats; | 467 | struct net_device_stats netdev_stats; |
465 | struct spider_net_extra_stats spider_stats; | 468 | struct spider_net_extra_stats spider_stats; |
466 | struct spider_net_options options; | 469 | struct spider_net_options options; |
470 | |||
471 | /* Must be last item in struct */ | ||
472 | struct spider_net_descr darray[0]; | ||
467 | }; | 473 | }; |
468 | 474 | ||
469 | #define pr_err(fmt,arg...) \ | 475 | #define pr_err(fmt,arg...) \ |