aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tg3.h
diff options
context:
space:
mode:
authorMatt Carlson <mcarlson@broadcom.com>2009-08-28 14:01:37 +0000
committerDavid S. Miller <davem@davemloft.net>2009-08-29 15:42:56 -0700
commit8ef0442f98850333196bc56415192e52a6267878 (patch)
tree5ba3ec9ed6ef805ecec9073906017e233063aa2e /drivers/net/tg3.h
parenttg3: Cleanup interrupt setup / teardown (diff)
downloadlinux-dev-8ef0442f98850333196bc56415192e52a6267878.tar.xz
linux-dev-8ef0442f98850333196bc56415192e52a6267878.zip
tg3: Move napi to per-int struct
This patch creates a per-interrupt data structure, moves the napi member over, and creates a tg3 pointer back to the device structure. 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.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h
index 982171f293fd..aff3f046c907 100644
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
@@ -2487,6 +2487,13 @@ struct tg3_rx_prodring_set {
dma_addr_t rx_jmb_mapping;
};
+#define TG3_IRQ_MAX_VECS 1
+
+struct tg3_napi {
+ struct napi_struct napi ____cacheline_aligned;
+ struct tg3 *tp;
+};
+
struct tg3 {
/* begin "general, frequently-used members" cacheline section */
@@ -2558,7 +2565,7 @@ struct tg3 {
dma_addr_t tx_desc_mapping;
/* begin "rx thread" cacheline section */
- struct napi_struct napi;
+ struct tg3_napi napi[TG3_IRQ_MAX_VECS];
void (*write32_rx_mbox) (struct tg3 *, u32,
u32);
u32 rx_rcb_ptr;