aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sky2.h
diff options
context:
space:
mode:
authorStephen Hemminger <shemminger@osdl.org>2006-09-26 14:57:41 -0400
committerJeff Garzik <jeff@garzik.org>2006-09-27 17:56:31 -0400
commit291ea6142b94cc3e3ae2216d3937a78697447471 (patch)
tree8a38d22cf394a4372f88ade9cc5815b18e9d8578 /drivers/net/sky2.h
parent9fa1b1f33c4cbbe0ba7c0c166d170faaa735e53d (diff)
[PATCH] sky2: incremental transmit completion
Since a transmit can take several control blocks, the old code waited until the last control block was marked as done. This code processes the return values incrementally. This makes slots in the tx ring available and less chance of getting stuck. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/sky2.h')
-rw-r--r--drivers/net/sky2.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h
index b2981565e9e3..c1e45123d44f 100644
--- a/drivers/net/sky2.h
+++ b/drivers/net/sky2.h
@@ -1774,10 +1774,10 @@ struct sky2_status_le {
1774struct tx_ring_info { 1774struct tx_ring_info {
1775 struct sk_buff *skb; 1775 struct sk_buff *skb;
1776 DECLARE_PCI_UNMAP_ADDR(mapaddr); 1776 DECLARE_PCI_UNMAP_ADDR(mapaddr);
1777 u16 idx; 1777 DECLARE_PCI_UNMAP_ADDR(maplen);
1778}; 1778};
1779 1779
1780struct ring_info { 1780struct rx_ring_info {
1781 struct sk_buff *skb; 1781 struct sk_buff *skb;
1782 dma_addr_t mapaddr; 1782 dma_addr_t mapaddr;
1783}; 1783};
@@ -1799,7 +1799,7 @@ struct sky2_port {
1799 u16 tx_last_mss; 1799 u16 tx_last_mss;
1800 u32 tx_tcpsum; 1800 u32 tx_tcpsum;
1801 1801
1802 struct ring_info *rx_ring ____cacheline_aligned_in_smp; 1802 struct rx_ring_info *rx_ring ____cacheline_aligned_in_smp;
1803 struct sky2_rx_le *rx_le; 1803 struct sky2_rx_le *rx_le;
1804 u32 rx_addr64; 1804 u32 rx_addr64;
1805 u16 rx_next; /* next re to check */ 1805 u16 rx_next; /* next re to check */