diff options
author | Olof Johansson <olof@lixom.net> | 2007-11-28 20:54:28 -0600 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 15:04:19 -0800 |
commit | 72b05b9940f00fbfd71a1cb8ea80eb2cc1f90255 (patch) | |
tree | b137b06594dd6b662e70bb5673d90f2097e7f9fa /drivers/net/pasemi_mac.h | |
parent | 5f06eba4dce361bfc077868d044768476b41d698 (diff) | |
download | kernel_samsung_smdk4412-72b05b9940f00fbfd71a1cb8ea80eb2cc1f90255.tar.gz kernel_samsung_smdk4412-72b05b9940f00fbfd71a1cb8ea80eb2cc1f90255.tar.bz2 kernel_samsung_smdk4412-72b05b9940f00fbfd71a1cb8ea80eb2cc1f90255.zip |
pasemi_mac: RX/TX ring management cleanup
pasemi_mac: RX/TX ring management cleanup
Prepare a bit for supporting multiple TX queues by cleaning up some
of the ring management and shuffle things around a bit.
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/pasemi_mac.h')
-rw-r--r-- | drivers/net/pasemi_mac.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/pasemi_mac.h b/drivers/net/pasemi_mac.h index 60368df7263..1269015fa5d 100644 --- a/drivers/net/pasemi_mac.h +++ b/drivers/net/pasemi_mac.h @@ -28,17 +28,20 @@ struct pasemi_mac_txring { spinlock_t lock; + u64 *status; /* Ptr to cacheable status area */ u64 *ring; dma_addr_t dma; unsigned int size; unsigned int next_to_fill; unsigned int next_to_clean; struct pasemi_mac_buffer *ring_info; - char irq_name[10]; /* "eth%d tx" */ + int chan; + struct pasemi_mac *mac; /* Needed in intr handler */ }; struct pasemi_mac_rxring { spinlock_t lock; + u64 *status; /* Ptr to cacheable status area */ u64 *ring; /* RX channel descriptor ring */ dma_addr_t dma; u64 *buffers; /* RX interface buffer ring */ @@ -47,7 +50,7 @@ struct pasemi_mac_rxring { unsigned int next_to_fill; unsigned int next_to_clean; struct pasemi_mac_buffer *ring_info; - char irq_name[10]; /* "eth%d rx" */ + struct pasemi_mac *mac; /* Needed in intr handler */ }; struct pasemi_mac { @@ -61,16 +64,12 @@ struct pasemi_mac { struct phy_device *phydev; struct napi_struct napi; - /* Pointer to the cacheable per-channel status registers */ - u64 *rx_status; - u64 *tx_status; - u8 type; #define MAC_TYPE_GMAC 1 #define MAC_TYPE_XAUI 2 u32 dma_txch; - u32 dma_if; u32 dma_rxch; + u32 dma_if; u8 mac_addr[6]; @@ -78,8 +77,10 @@ struct pasemi_mac { struct pasemi_mac_txring *tx; struct pasemi_mac_rxring *rx; - unsigned long tx_irq; - unsigned long rx_irq; + unsigned int tx_irq; + unsigned int rx_irq; + char tx_irq_name[10]; /* "eth%d tx" */ + char rx_irq_name[10]; /* "eth%d rx" */ int link; int speed; int duplex; |