diff options
author | Matt Carlson <mcarlson@broadcom.com> | 2011-07-27 14:20:46 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-27 22:39:31 -0700 |
commit | df8944cf5cd3794c46e95e0404038376ee7f8dda (patch) | |
tree | 874ad0e2e40510bcc619af76a3faf55c9e587a55 | |
parent | bca0beb9363f8487ac902931a50eb00180a2d14a (diff) | |
download | lwn-df8944cf5cd3794c46e95e0404038376ee7f8dda.tar.gz lwn-df8944cf5cd3794c46e95e0404038376ee7f8dda.zip |
tg3: Reintroduce tg3_tx_ring_info
The following patches will require the use of an additional flag in the
ring_info structure. The use of this flag is tx path specific, so this
patch defines a specialized ring_info structure.
Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Reviewed-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/tg3.c | 12 | ||||
-rw-r--r-- | drivers/net/tg3.h | 7 |
2 files changed, 12 insertions, 7 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 803576568154..3708159548fc 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -4824,7 +4824,7 @@ static void tg3_tx(struct tg3_napi *tnapi) txq = netdev_get_tx_queue(tp->dev, index); while (sw_idx != hw_idx) { - struct ring_info *ri = &tnapi->tx_buffers[sw_idx]; + struct tg3_tx_ring_info *ri = &tnapi->tx_buffers[sw_idx]; struct sk_buff *skb = ri->skb; int i, tx_bug = 0; @@ -5929,7 +5929,7 @@ static void tg3_skb_error_unmap(struct tg3_napi *tnapi, { int i; u32 entry = tnapi->tx_prod; - struct ring_info *txb = &tnapi->tx_buffers[entry]; + struct tg3_tx_ring_info *txb = &tnapi->tx_buffers[entry]; pci_unmap_single(tnapi->tp->pdev, dma_unmap_addr(txb, mapping), @@ -6603,7 +6603,7 @@ static void tg3_free_rings(struct tg3 *tp) continue; for (i = 0; i < TG3_TX_RING_SIZE; ) { - struct ring_info *txp; + struct tg3_tx_ring_info *txp; struct sk_buff *skb; unsigned int k; @@ -6762,9 +6762,9 @@ static int tg3_alloc_consistent(struct tg3 *tp) */ if ((!i && !tg3_flag(tp, ENABLE_TSS)) || (i && tg3_flag(tp, ENABLE_TSS))) { - tnapi->tx_buffers = kzalloc(sizeof(struct ring_info) * - TG3_TX_RING_SIZE, - GFP_KERNEL); + tnapi->tx_buffers = kzalloc( + sizeof(struct tg3_tx_ring_info) * + TG3_TX_RING_SIZE, GFP_KERNEL); if (!tnapi->tx_buffers) goto err_out; diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 691539ba17b3..f6986ca50d80 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h @@ -2652,6 +2652,11 @@ struct ring_info { DEFINE_DMA_UNMAP_ADDR(mapping); }; +struct tg3_tx_ring_info { + struct sk_buff *skb; + DEFINE_DMA_UNMAP_ADDR(mapping); +}; + struct tg3_link_config { /* Describes what we're trying to get. */ u32 advertising; @@ -2816,7 +2821,7 @@ struct tg3_napi { u32 last_tx_cons; u32 prodmbox; struct tg3_tx_buffer_desc *tx_ring; - struct ring_info *tx_buffers; + struct tg3_tx_ring_info *tx_buffers; dma_addr_t status_mapping; dma_addr_t rx_rcb_mapping; |