From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:07
The following series contains the addition of a PHY id for e1000
and several ixgbe fixes.
v2- fixed tab/space issue in patch 3 of series
The following are changes since commit 8f2771f2b85aea4d0f9a0137ad3b63d1173c0962:
ipv6: Remove route peer binding assertions.
and are available in the git repository at:
master.kernel.org:/pub/scm/linux/kernel/git/jkirsher/net-2.6 master
Alexander Duyck (1):
ixgbe: limit VF access to network traffic
Amir Hanania (1):
ixgbe: DDP last buffer size work around
Don Skidmore (3):
ixgbe: fix for 82599 erratum on Header Splitting.
ixgbe: cleanup variable initialization
ixgbe: update version string
Emil Tantilov (1):
ixgbe: fix variable set but not used warnings by gcc 4.6
Florian Fainelli (1):
e1000: add support for Marvell Alaska M88E1118R PHY
drivers/net/e1000/e1000_hw.c | 4 +++-
drivers/net/e1000/e1000_hw.h | 1 +
drivers/net/ixgbe/ixgbe_common.c | 3 +++
drivers/net/ixgbe/ixgbe_fcoe.c | 21 ++++++++++++++++++++-
drivers/net/ixgbe/ixgbe_main.c | 16 ++++++++++------
drivers/net/ixgbe/ixgbe_sriov.c | 2 --
drivers/net/ixgbe/ixgbe_x540.c | 6 +++---
7 files changed, 40 insertions(+), 13 deletions(-)
--
1.7.3.5
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:28:59
From: Don Skidmore <redacted>
We have found a hardware erratum on 82599 hardware that can lead to
unpredictable behavior when Header Splitting mode is enabled. So
we are no longer enabling this feature on affected hardware.
Please see the 82599 Specification Update for more information.
CC: stable@kernel.org
Signed-off-by: Don Skidmore <redacted>
Tested-by: Stephen Ko <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ixgbe/ixgbe_main.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
@@ -3176,9 +3176,16 @@ static void ixgbe_set_rx_buffer_len(struct ixgbe_adapter *adapter)u32mhadd,hlreg0;/* Decide whether to use packet split mode or not */+/* On by default */+adapter->flags|=IXGBE_FLAG_RX_PS_ENABLED;+/* Do not use packet split if we're in SR-IOV Mode */-if(!adapter->num_vfs)-adapter->flags|=IXGBE_FLAG_RX_PS_ENABLED;+if(adapter->num_vfs)+adapter->flags&=~IXGBE_FLAG_RX_PS_ENABLED;++/* Disable packet split due to 82599 erratum #45 */+if(hw->mac.type==ixgbe_mac_82599EB)+adapter->flags&=~IXGBE_FLAG_RX_PS_ENABLED;/* Set the RX buffer length according to the mode */if(adapter->flags&IXGBE_FLAG_RX_PS_ENABLED){
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:08
From: Florian Fainelli <redacted>
This patch adds support for Marvell Alask M88E188R PHY chips. Support for
other M88* PHYs is already there, so there is nothing more to add than its
PHY id.
CC: Dirk Brandewie <redacted>
Signed-off-by: Florian Fainelli <redacted>
Acked-by: Jesse Brandeburg <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/e1000/e1000_hw.c | 4 +++-
drivers/net/e1000/e1000_hw.h | 1 +
2 files changed, 4 insertions(+), 1 deletions(-)
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:08
From: Emil Tantilov <redacted>
Caught with gcc 4.6 -Wunused-but-set-variable
Remove unused napi_vectors variable.
Fix the use of reset_bit in ixgbe_reset_hw_X540()
Signed-off-by: Emil Tantilov <redacted>
Tested-by: Stephen Ko <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ixgbe/ixgbe_main.c | 3 ---
drivers/net/ixgbe/ixgbe_x540.c | 6 +++---
2 files changed, 3 insertions(+), 6 deletions(-)
@@ -133,17 +133,17 @@ static s32 ixgbe_reset_hw_X540(struct ixgbe_hw *hw)}ctrl=IXGBE_READ_REG(hw,IXGBE_CTRL);-IXGBE_WRITE_REG(hw,IXGBE_CTRL,(ctrl|IXGBE_CTRL_RST));+IXGBE_WRITE_REG(hw,IXGBE_CTRL,(ctrl|reset_bit));IXGBE_WRITE_FLUSH(hw);/* Poll for reset bit to self-clear indicating reset is complete */for(i=0;i<10;i++){udelay(1);ctrl=IXGBE_READ_REG(hw,IXGBE_CTRL);-if(!(ctrl&IXGBE_CTRL_RST))+if(!(ctrl&reset_bit))break;}-if(ctrl&IXGBE_CTRL_RST){+if(ctrl&reset_bit){status=IXGBE_ERR_RESET_FAILED;hw_dbg(hw,"Reset polling failed to complete.\n");}
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:09
From: Alexander Duyck <redacted>
This change fixes VM pool allocation issues based on MAC address filtering,
as well as limits the scope of VF access to promiscuous mode.
Signed-off-by: Alexander Duyck <redacted>
Acked-by: Greg Rose <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ixgbe/ixgbe_common.c | 3 +++
drivers/net/ixgbe/ixgbe_sriov.c | 2 --
2 files changed, 3 insertions(+), 2 deletions(-)
@@ -110,12 +110,10 @@ static int ixgbe_set_vf_vlan(struct ixgbe_adapter *adapter, int add, int vid,returnadapter->hw.mac.ops.set_vfta(&adapter->hw,vid,vf,(bool)add);}-staticvoidixgbe_set_vmolr(structixgbe_hw*hw,u32vf,boolaupe){u32vmolr=IXGBE_READ_REG(hw,IXGBE_VMOLR(vf));vmolr|=(IXGBE_VMOLR_ROMPE|-IXGBE_VMOLR_ROPE|IXGBE_VMOLR_BAM);if(aupe)vmolr|=IXGBE_VMOLR_AUPE;
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:10
From: Don Skidmore <redacted>
The ixgbe_fcoe_ddp_get function wasn't initializing one of its variables
and this was producing compiler warnings. This patch cleans that up.
Signed-off-by: Don Skidmore <redacted>
Tested-by: Stephen Ko <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ixgbe/ixgbe_fcoe.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:10
From: Amir Hanania <redacted>
We found a hardware erratum on 82599 hardware that can lead to buffer
overwriting if the last buffer in FCoE DDP is exactly PAGE_SIZE.
If this is the case, we will make sure that there is no HW access to
this buffer.
Please see the 82599 Specification Update for more information.
Signed-off-by: Amir Hanania <redacted>
Tested-by: Ross Brattain <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ixgbe/ixgbe_fcoe.c | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
@@ -254,6 +254,25 @@ int ixgbe_fcoe_ddp_get(struct net_device *netdev, u16 xid,/* only the last buffer may have non-full bufflen */lastsize=thisoff+thislen;+/*+*lastsizecannotbePAGE_SIZE.+*Ifitisthenaddinganotherbufferwithlastsize=1.+*Sincelastsizeis1therewillbenoHWaccesstothisbuffer.+*/+if(lastsize==PAGE_SIZE){+if(j==(IXGBE_BUFFCNT_MAX-1)){+e_err(drv,"xid=%x:%d,%d,%d:addr=%llx "+"not enough descriptors only since lastsize "+"is PAGE_SIZE\n",+xid,i,j,dmacount,(u64)addr);+gotoout_noddp_free;+}++ddp->udl[j+1]=ddp->udl[j];+j++;+lastsize=1;+}+fcbuff=(IXGBE_FCBUFF_4KB<<IXGBE_FCBUFF_BUFFSIZE_SHIFT);fcbuff|=((j&0xff)<<IXGBE_FCBUFF_BUFFCNT_SHIFT);fcbuff|=(firstoff<<IXGBE_FCBUFF_OFFSET_SHIFT);
From: Jeff Kirsher <hidden> Date: 2011-01-28 12:29:11
From: Don Skidmore <redacted>
This will synchronize the version string with that of the latest source
forge driver which shares its functionality.
Signed-off-by: Don Skidmore <redacted>
Signed-off-by: Jeff Kirsher <redacted>
---
drivers/net/ixgbe/ixgbe_main.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
From: David Miller <davem@davemloft.net> Date: 2011-01-28 19:50:26
From: Jeff Kirsher <redacted>
Date: Fri, 28 Jan 2011 04:29:01 -0800
From: Amir Hanania <redacted>
We found a hardware erratum on 82599 hardware that can lead to buffer
overwriting if the last buffer in FCoE DDP is exactly PAGE_SIZE.
If this is the case, we will make sure that there is no HW access to
this buffer.
Please see the 82599 Specification Update for more information.
Signed-off-by: Amir Hanania <redacted>
Tested-by: Ross Brattain <redacted>
Signed-off-by: Jeff Kirsher <redacted>
Jeff, I still think this change is bogus.
PAGE_SIZE is variable, so the chip can't possibly only BUG on that
specific value.
Maybe the condition is "any power-of-2 larger than or equal to 4096"?
Or something like that?
I pointed this out last night, and I was really hoping I'd get actual
feedback on this issue before you're respin your tree.
I'm not pulling in these changes until I get a human being telling me
what the situation is here with this bug.
From: Hanania, Amir <hidden> Date: 2011-01-28 21:36:17
David,
Sorry I missed your mail from last night.
You are right, it should be bufflen, which is 4096 and not PAGE_SIZE.
I will fix that and resubmit.
-Amir
-----Original Message-----
From: David Miller [mailto:davem@davemloft.net]
Sent: Friday, January 28, 2011 11:51 AM
To: Kirsher, Jeffrey T
Cc: Hanania, Amir; netdev@vger.kernel.org; gospo@redhat.com; bphilips@novell.com
Subject: Re: [net-2.6 v2 5/7] ixgbe: DDP last buffer size work around
From: Jeff Kirsher <redacted>
Date: Fri, 28 Jan 2011 04:29:01 -0800
From: Amir Hanania <redacted>
We found a hardware erratum on 82599 hardware that can lead to buffer
overwriting if the last buffer in FCoE DDP is exactly PAGE_SIZE.
If this is the case, we will make sure that there is no HW access to
this buffer.
Please see the 82599 Specification Update for more information.
Signed-off-by: Amir Hanania <redacted>
Tested-by: Ross Brattain <redacted>
Signed-off-by: Jeff Kirsher <redacted>
Jeff, I still think this change is bogus.
PAGE_SIZE is variable, so the chip can't possibly only BUG on that
specific value.
Maybe the condition is "any power-of-2 larger than or equal to 4096"?
Or something like that?
I pointed this out last night, and I was really hoping I'd get actual
feedback on this issue before you're respin your tree.
I'm not pulling in these changes until I get a human being telling me
what the situation is here with this bug.