diff options
author | Jie Yang <jie.yang@atheros.com> | 2009-11-06 03:32:05 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-07 03:46:35 -0500 |
commit | c6060be46fbda5af651b6ed2b85502ccbb3d9279 (patch) | |
tree | 89ef8caaecd190a6ab29e38b78382775589e4050 /drivers/net/atl1c/atl1c.h | |
parent | d3bcfefaca27c1bfc8f740f5fff5b25d52ed1211 (diff) |
atl1c: change atl1c_buffer struct and restructure clean atl1c_buffer procedure
change atl1c_buffer struct, use "u16 flags" instead of "u16 state"
to store more infomation for atl1c_buffer, and restructure clean
atl1c_buffer procedure, add common api atl1c_clean_buffer.
Signed-off-by: Jie Yang <jie.yang@atheros.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/atl1c/atl1c.h')
-rw-r--r-- | drivers/net/atl1c/atl1c.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/drivers/net/atl1c/atl1c.h b/drivers/net/atl1c/atl1c.h index 2a1120ad2e74..a348a22551d9 100644 --- a/drivers/net/atl1c/atl1c.h +++ b/drivers/net/atl1c/atl1c.h | |||
@@ -470,12 +470,28 @@ struct atl1c_ring_header { | |||
470 | struct atl1c_buffer { | 470 | struct atl1c_buffer { |
471 | struct sk_buff *skb; /* socket buffer */ | 471 | struct sk_buff *skb; /* socket buffer */ |
472 | u16 length; /* rx buffer length */ | 472 | u16 length; /* rx buffer length */ |
473 | u16 state; /* state of buffer */ | 473 | u16 flags; /* information of buffer */ |
474 | #define ATL1_BUFFER_FREE 0 | 474 | #define ATL1C_BUFFER_FREE 0x0001 |
475 | #define ATL1_BUFFER_BUSY 1 | 475 | #define ATL1C_BUFFER_BUSY 0x0002 |
476 | #define ATL1C_BUFFER_STATE_MASK 0x0003 | ||
477 | |||
478 | #define ATL1C_PCIMAP_SINGLE 0x0004 | ||
479 | #define ATL1C_PCIMAP_PAGE 0x0008 | ||
480 | #define ATL1C_PCIMAP_TYPE_MASK 0x000C | ||
481 | |||
476 | dma_addr_t dma; | 482 | dma_addr_t dma; |
477 | }; | 483 | }; |
478 | 484 | ||
485 | #define ATL1C_SET_BUFFER_STATE(buff, state) do { \ | ||
486 | ((buff)->flags) &= ~ATL1C_BUFFER_STATE_MASK; \ | ||
487 | ((buff)->flags) |= (state); \ | ||
488 | } while (0) | ||
489 | |||
490 | #define ATL1C_SET_PCIMAP_TYPE(buff, type) do { \ | ||
491 | ((buff)->flags) &= ~ATL1C_PCIMAP_TYPE_MASK; \ | ||
492 | ((buff)->flags) |= (type); \ | ||
493 | } while (0) | ||
494 | |||
479 | /* transimit packet descriptor (tpd) ring */ | 495 | /* transimit packet descriptor (tpd) ring */ |
480 | struct atl1c_tpd_ring { | 496 | struct atl1c_tpd_ring { |
481 | void *desc; /* descriptor ring virtual address */ | 497 | void *desc; /* descriptor ring virtual address */ |