aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/atl1c/atl1c.h
diff options
context:
space:
mode:
authorJie Yang <jie.yang@atheros.com>2009-11-06 03:32:05 -0500
committerDavid S. Miller <davem@davemloft.net>2009-11-07 03:46:35 -0500
commitc6060be46fbda5af651b6ed2b85502ccbb3d9279 (patch)
tree89ef8caaecd190a6ab29e38b78382775589e4050 /drivers/net/atl1c/atl1c.h
parentd3bcfefaca27c1bfc8f740f5fff5b25d52ed1211 (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.h22
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 {
470struct atl1c_buffer { 470struct 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 */
480struct atl1c_tpd_ring { 496struct atl1c_tpd_ring {
481 void *desc; /* descriptor ring virtual address */ 497 void *desc; /* descriptor ring virtual address */