aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/bnx2.c1
-rw-r--r--drivers/net/bnx2.h21
2 files changed, 13 insertions, 9 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 3f2eaf52d197..6ccacb5f2545 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -48,6 +48,7 @@
48#include <linux/workqueue.h> 48#include <linux/workqueue.h>
49#include <linux/crc32.h> 49#include <linux/crc32.h>
50#include <linux/prefetch.h> 50#include <linux/prefetch.h>
51#include <linux/cache.h>
51 52
52#include "bnx2.h" 53#include "bnx2.h"
53#include "bnx2_fw.h" 54#include "bnx2_fw.h"
diff --git a/drivers/net/bnx2.h b/drivers/net/bnx2.h
index 60598849acd4..b87925f6a228 100644
--- a/drivers/net/bnx2.h
+++ b/drivers/net/bnx2.h
@@ -3877,15 +3877,17 @@ struct bnx2 {
3877#define USING_MSI_FLAG 0x20 3877#define USING_MSI_FLAG 0x20
3878#define ASF_ENABLE_FLAG 0x40 3878#define ASF_ENABLE_FLAG 0x40
3879 3879
3880 struct tx_bd *tx_desc_ring; 3880 /* Put tx producer and consumer fields in separate cache lines. */
3881 struct sw_bd *tx_buf_ring; 3881
3882 u32 tx_prod_bseq; 3882 u32 tx_prod_bseq __attribute__((aligned(L1_CACHE_BYTES)));
3883 u16 tx_prod; 3883 u16 tx_prod;
3884 u16 tx_cons; 3884
3885 int tx_ring_size; 3885 struct tx_bd *tx_desc_ring;
3886 3886 struct sw_bd *tx_buf_ring;
3887 u16 hw_tx_cons; 3887 int tx_ring_size;
3888 u16 hw_rx_cons; 3888
3889 u16 tx_cons __attribute__((aligned(L1_CACHE_BYTES)));
3890 u16 hw_tx_cons;
3889 3891
3890#ifdef BCM_VLAN 3892#ifdef BCM_VLAN
3891 struct vlan_group *vlgrp; 3893 struct vlan_group *vlgrp;
@@ -3899,6 +3901,7 @@ struct bnx2 {
3899 u32 rx_prod_bseq; 3901 u32 rx_prod_bseq;
3900 u16 rx_prod; 3902 u16 rx_prod;
3901 u16 rx_cons; 3903 u16 rx_cons;
3904 u16 hw_rx_cons;
3902 3905
3903 u32 rx_csum; 3906 u32 rx_csum;
3904 3907