The 82537 errata and comment in e1000e_disable_l1aspm both agree that
only 82537L devices are affected. Limit the L1 disable to them.
Signed-off-by: Matthew Garrett <[email protected]>
---
drivers/net/e1000e/netdev.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 57f149b..27eed81 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -4642,6 +4642,10 @@ static void e1000e_disable_l1aspm(struct pci_dev *pdev)
* Unfortunately this feature saves about 1W power consumption when
* active.
*/
+
+ if (pdev->device != E1000_DEV_ID_82573L)
+ return;
+
pos = pci_find_capability(pdev, PCI_CAP_ID_EXP);
pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, &val);
if (val & 0x2) {
--
1.6.6.1
According to the 82537L errata, jumbo frames will work correctly if ASPM
is disabled. Since we disable ASPM on these devices, enable jumbo frames.
Signed-off-by: Matthew Garrett <[email protected]>
---
Fixed so that the flags get applied.
drivers/net/e1000e/82571.c | 11 ++---------
1 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/net/e1000e/82571.c b/drivers/net/e1000e/82571.c
index 02d67d0..f26edf7 100644
--- a/drivers/net/e1000e/82571.c
+++ b/drivers/net/e1000e/82571.c
@@ -330,7 +330,6 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter)
struct e1000_hw *hw = &adapter->hw;
static int global_quad_port_a; /* global port a indication */
struct pci_dev *pdev = adapter->pdev;
- u16 eeprom_data = 0;
int is_port_b = er32(STATUS) & E1000_STATUS_FUNC_1;
s32 rc;
@@ -381,16 +380,10 @@ static s32 e1000_get_variants_82571(struct e1000_adapter *adapter)
if (pdev->device == E1000_DEV_ID_82571EB_SERDES_QUAD)
adapter->flags &= ~FLAG_HAS_WOL;
break;
-
case e1000_82573:
if (pdev->device == E1000_DEV_ID_82573L) {
- if (e1000_read_nvm(&adapter->hw, NVM_INIT_3GIO_3, 1,
- &eeprom_data) < 0)
- break;
- if (!(eeprom_data & NVM_WORD1A_ASPM_MASK)) {
- adapter->flags |= FLAG_HAS_JUMBO_FRAMES;
- adapter->max_hw_frame_size = DEFAULT_JUMBO;
- }
+ adapter->flags |= FLAG_HAS_JUMBO_FRAMES;
+ adapter->max_hw_frame_size = DEFAULT_JUMBO;
}
break;
default:
--
1.6.6.1
On Thu, 11 Feb 2010, Matthew Garrett wrote:
> The 82537 errata and comment in e1000e_disable_l1aspm both agree that
> only 82537L devices are affected. Limit the L1 disable to them.
Hi Matthew, its a nitpick, but can you please change the part number to
the correct one? it should be s/82537/82573
> Signed-off-by: Matthew Garrett <[email protected]>
> ---
> drivers/net/e1000e/netdev.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
> index 57f149b..27eed81 100644
> --- a/drivers/net/e1000e/netdev.c
> +++ b/drivers/net/e1000e/netdev.c
> @@ -4642,6 +4642,10 @@ static void e1000e_disable_l1aspm(struct pci_dev *pdev)
> * Unfortunately this feature saves about 1W power consumption when
> * active.
> */
> +
> + if (pdev->device != E1000_DEV_ID_82573L)
> + return;
> +
> pos = pci_find_capability(pdev, PCI_CAP_ID_EXP);
> pci_read_config_word(pdev, pos + PCI_EXP_LNKCTL, &val);
> if (val & 0x2) {
>
On Thu, Feb 11, 2010 at 09:17:12AM -0800, Brandeburg, Jesse wrote:
>
>
> On Thu, 11 Feb 2010, Matthew Garrett wrote:
>
> > The 82537 errata and comment in e1000e_disable_l1aspm both agree that
> > only 82537L devices are affected. Limit the L1 disable to them.
>
> Hi Matthew, its a nitpick, but can you please change the part number to
> the correct one? it should be s/82537/82573
Whoops! Sorry, I'll do that.
--
Matthew Garrett | [email protected]