aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2009-08-28 10:03:21 -0400
committerDavid S. Miller <davem@davemloft.net>2009-08-29 18:43:04 -0400
commitf3f3f27e5b4e27737f824535e6f145a3c88b976c (patch)
tree042a57424aca2fa1ff5736518321740070da767c /drivers/net/tg3.h
parent723344820aa405ac2663ab9e36fd27833d06129b (diff)
tg3: Move per-int tx members to a per-int struct
This patch moves the tx_prod, tx_cons, tx_pending, tx_ring, and tx_buffers transmit ring device members to a per-interrupt structure. It also adds a new transmit producer mailbox member (prodmbox) and converts the code to use it rather than a preprocessor constant. Signed-off-by: Matt Carlson <mcarlson@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tg3.h')
-rw-r--r--drivers/net/tg3.h15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index b91ac29ae163..a816b2c0f167 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -2497,13 +2497,21 @@ struct tg3_napi {
2497 u32 last_tag; 2497 u32 last_tag;
2498 u32 last_irq_tag; 2498 u32 last_irq_tag;
2499 u32 int_mbox; 2499 u32 int_mbox;
2500 u32 tx_prod;
2501 u32 tx_cons;
2502 u32 tx_pending;
2503 u32 prodmbox;
2504
2500 u32 consmbox; 2505 u32 consmbox;
2501 u32 rx_rcb_ptr; 2506 u32 rx_rcb_ptr;
2502 2507
2503 struct tg3_rx_buffer_desc *rx_rcb; 2508 struct tg3_rx_buffer_desc *rx_rcb;
2509 struct tg3_tx_buffer_desc *tx_ring;
2510 struct tx_ring_info *tx_buffers;
2504 2511
2505 dma_addr_t status_mapping; 2512 dma_addr_t status_mapping;
2506 dma_addr_t rx_rcb_mapping; 2513 dma_addr_t rx_rcb_mapping;
2514 dma_addr_t tx_desc_mapping;
2507}; 2515};
2508 2516
2509struct tg3 { 2517struct tg3 {
@@ -2563,13 +2571,6 @@ struct tg3 {
2563 /* begin "tx thread" cacheline section */ 2571 /* begin "tx thread" cacheline section */
2564 void (*write32_tx_mbox) (struct tg3 *, u32, 2572 void (*write32_tx_mbox) (struct tg3 *, u32,
2565 u32); 2573 u32);
2566 u32 tx_prod;
2567 u32 tx_cons;
2568 u32 tx_pending;
2569
2570 struct tg3_tx_buffer_desc *tx_ring;
2571 struct tx_ring_info *tx_buffers;
2572 dma_addr_t tx_desc_mapping;
2573 2574
2574 /* begin "rx thread" cacheline section */ 2575 /* begin "rx thread" cacheline section */
2575 struct tg3_napi napi[TG3_IRQ_MAX_VECS]; 2576 struct tg3_napi napi[TG3_IRQ_MAX_VECS];