* [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames
@ 2008-11-24 23:48 Jeff Kirsher
2008-11-24 23:49 ` [NET-NEXT PATCH 2/2] igb: loopback bits not correctly cleared from RCTL register Jeff Kirsher
2008-11-25 9:03 ` [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames David Miller
0 siblings, 2 replies; 4+ messages in thread
From: Jeff Kirsher @ 2008-11-24 23:48 UTC (permalink / raw)
To: davem; +Cc: netdev, jeff, Alexander Duyck, Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
There is a reference to a Buffer Size extention bit that is unneded by
82575/82576 hardware. Since it is not needed it should be removed from the
code.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/igb/e1000_defines.h | 6 ------
drivers/net/igb/igb_main.c | 20 ++++++--------------
2 files changed, 6 insertions(+), 20 deletions(-)
diff --git a/drivers/net/igb/e1000_defines.h b/drivers/net/igb/e1000_defines.h
index ce70068..c5fe784 100644
--- a/drivers/net/igb/e1000_defines.h
+++ b/drivers/net/igb/e1000_defines.h
@@ -168,18 +168,12 @@
#define E1000_RCTL_RDMTS_HALF 0x00000000 /* rx desc min threshold size */
#define E1000_RCTL_MO_SHIFT 12 /* multicast offset shift */
#define E1000_RCTL_BAM 0x00008000 /* broadcast enable */
-/* these buffer sizes are valid if E1000_RCTL_BSEX is 0 */
#define E1000_RCTL_SZ_2048 0x00000000 /* rx buffer size 2048 */
#define E1000_RCTL_SZ_1024 0x00010000 /* rx buffer size 1024 */
#define E1000_RCTL_SZ_512 0x00020000 /* rx buffer size 512 */
#define E1000_RCTL_SZ_256 0x00030000 /* rx buffer size 256 */
-/* these buffer sizes are valid if E1000_RCTL_BSEX is 1 */
-#define E1000_RCTL_SZ_16384 0x00010000 /* rx buffer size 16384 */
-#define E1000_RCTL_SZ_8192 0x00020000 /* rx buffer size 8192 */
-#define E1000_RCTL_SZ_4096 0x00030000 /* rx buffer size 4096 */
#define E1000_RCTL_VFE 0x00040000 /* vlan filter enable */
#define E1000_RCTL_CFIEN 0x00080000 /* canonical form enable */
-#define E1000_RCTL_BSEX 0x02000000 /* Buffer size extension */
#define E1000_RCTL_SECRC 0x04000000 /* Strip Ethernet CRC */
/*
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index b64c41a..ae65fae 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -1791,37 +1791,29 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
*/
rctl |= E1000_RCTL_SECRC;
- rctl &= ~E1000_RCTL_SBP;
+ /*
+ * disable store bad packets, long packet enable, and clear size bits.
+ */
+ rctl &= ~(E1000_RCTL_SBP | E1000_RCTL_LPE | E1000_RCTL_SZ_256);
- if (adapter->netdev->mtu <= ETH_DATA_LEN)
- rctl &= ~E1000_RCTL_LPE;
- else
- rctl |= E1000_RCTL_LPE;
- if (adapter->rx_buffer_len <= IGB_RXBUFFER_2048) {
+ if (adapter->netdev->mtu <= ETH_DATA_LEN) {
/* Setup buffer sizes */
- rctl &= ~E1000_RCTL_SZ_4096;
- rctl |= E1000_RCTL_BSEX;
switch (adapter->rx_buffer_len) {
case IGB_RXBUFFER_256:
rctl |= E1000_RCTL_SZ_256;
- rctl &= ~E1000_RCTL_BSEX;
break;
case IGB_RXBUFFER_512:
rctl |= E1000_RCTL_SZ_512;
- rctl &= ~E1000_RCTL_BSEX;
break;
case IGB_RXBUFFER_1024:
rctl |= E1000_RCTL_SZ_1024;
- rctl &= ~E1000_RCTL_BSEX;
break;
- case IGB_RXBUFFER_2048:
default:
rctl |= E1000_RCTL_SZ_2048;
- rctl &= ~E1000_RCTL_BSEX;
break;
}
} else {
- rctl &= ~E1000_RCTL_BSEX;
+ rctl |= E1000_RCTL_LPE;
srrctl = adapter->rx_buffer_len >> E1000_SRRCTL_BSIZEPKT_SHIFT;
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [NET-NEXT PATCH 2/2] igb: loopback bits not correctly cleared from RCTL register
2008-11-24 23:48 [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames Jeff Kirsher
@ 2008-11-24 23:49 ` Jeff Kirsher
2008-11-25 9:04 ` David Miller
2008-11-25 9:03 ` [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames David Miller
1 sibling, 1 reply; 4+ messages in thread
From: Jeff Kirsher @ 2008-11-24 23:49 UTC (permalink / raw)
To: davem; +Cc: netdev, jeff, Alexander Duyck, Jeff Kirsher
From: Alexander Duyck <alexander.h.duyck@intel.com>
This change forces the bits to 0 by using an &= operation with an inverted
mask of all options instead of using an |= with a value of 0.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/igb/igb_ethtool.c | 3 ++-
drivers/net/igb/igb_main.c | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c
index 8e9d295..d5efbcc 100644
--- a/drivers/net/igb/igb_ethtool.c
+++ b/drivers/net/igb/igb_ethtool.c
@@ -1339,8 +1339,9 @@ static int igb_setup_desc_rings(struct igb_adapter *adapter)
wr32(E1000_RDLEN(0), rx_ring->size);
wr32(E1000_RDH(0), 0);
wr32(E1000_RDT(0), 0);
+ rctl &= ~(E1000_RCTL_LBM_TCVR | E1000_RCTL_LBM_MAC);
rctl = E1000_RCTL_EN | E1000_RCTL_BAM | E1000_RCTL_SZ_2048 |
- E1000_RCTL_LBM_NO | E1000_RCTL_RDMTS_HALF |
+ E1000_RCTL_RDMTS_HALF |
(adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
wr32(E1000_RCTL, rctl);
wr32(E1000_SRRCTL(0), 0);
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c
index ae65fae..ab37ab0 100644
--- a/drivers/net/igb/igb_main.c
+++ b/drivers/net/igb/igb_main.c
@@ -1779,9 +1779,9 @@ static void igb_setup_rctl(struct igb_adapter *adapter)
rctl = rd32(E1000_RCTL);
rctl &= ~(3 << E1000_RCTL_MO_SHIFT);
+ rctl &= ~(E1000_RCTL_LBM_TCVR | E1000_RCTL_LBM_MAC);
- rctl |= E1000_RCTL_EN | E1000_RCTL_BAM |
- E1000_RCTL_LBM_NO | E1000_RCTL_RDMTS_HALF |
+ rctl |= E1000_RCTL_EN | E1000_RCTL_BAM | E1000_RCTL_RDMTS_HALF |
(adapter->hw.mac.mc_filter_type << E1000_RCTL_MO_SHIFT);
/*
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames
2008-11-24 23:48 [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames Jeff Kirsher
2008-11-24 23:49 ` [NET-NEXT PATCH 2/2] igb: loopback bits not correctly cleared from RCTL register Jeff Kirsher
@ 2008-11-25 9:03 ` David Miller
1 sibling, 0 replies; 4+ messages in thread
From: David Miller @ 2008-11-25 9:03 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, jeff, alexander.h.duyck
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 24 Nov 2008 15:48:45 -0800
> There is a reference to a Buffer Size extention bit that is unneded by
> 82575/82576 hardware. Since it is not needed it should be removed from the
> code.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [NET-NEXT PATCH 2/2] igb: loopback bits not correctly cleared from RCTL register
2008-11-24 23:49 ` [NET-NEXT PATCH 2/2] igb: loopback bits not correctly cleared from RCTL register Jeff Kirsher
@ 2008-11-25 9:04 ` David Miller
0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2008-11-25 9:04 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, jeff, alexander.h.duyck
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Mon, 24 Nov 2008 15:49:03 -0800
> From: Alexander Duyck <alexander.h.duyck@intel.com>
>
> This change forces the bits to 0 by using an &= operation with an inverted
> mask of all options instead of using an |= with a value of 0.
>
> Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-11-25 9:04 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-24 23:48 [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames Jeff Kirsher
2008-11-24 23:49 ` [NET-NEXT PATCH 2/2] igb: loopback bits not correctly cleared from RCTL register Jeff Kirsher
2008-11-25 9:04 ` David Miller
2008-11-25 9:03 ` [NET-NEXT PATCH 1/2] igb: remove unneeded bit refrence when enabling jumbo frames David Miller
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.