tg3: Move per-int rx members to per-int struct

This patch moves the rx_rcb, rx_rcb_mapping, and rx_rcb_ptr return ring
device members to a per-interrupt structure.  It also adds a new return
ring consumer mailbox register member (consmbox) 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>
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index f46e619..b91ac29 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -2497,8 +2497,13 @@
 	u32				last_tag;
 	u32				last_irq_tag;
 	u32				int_mbox;
+	u32				consmbox;
+	u32				rx_rcb_ptr;
+
+	struct tg3_rx_buffer_desc	*rx_rcb;
 
 	dma_addr_t			status_mapping;
+	dma_addr_t			rx_rcb_mapping;
 };
 
 struct tg3 {
@@ -2570,7 +2575,6 @@
 	struct tg3_napi			napi[TG3_IRQ_MAX_VECS];
 	void				(*write32_rx_mbox) (struct tg3 *, u32,
 							    u32);
-	u32				rx_rcb_ptr;
 	u32				rx_pending;
 	u32				rx_jumbo_pending;
 	u32				rx_std_max_post;
@@ -2579,9 +2583,6 @@
 	struct vlan_group		*vlgrp;
 #endif
 
-	struct tg3_rx_buffer_desc	*rx_rcb;
-	dma_addr_t			rx_rcb_mapping;
-
 	struct tg3_rx_prodring_set	prodring[1];