e1000e: enable/disable ASPM L0s and L1 and ERT according to hardware errata
authorBruce Allan <bruce.w.allan@intel.com>
Tue, 27 Apr 2010 03:33:04 +0000 (03:33 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Apr 2010 17:18:26 +0000 (10:18 -0700)
commit6f461f6c7c961f0b1b73c0f27becf472a0ac606b
treeebf91b3e79734386ab63e79fef9d2429b6c81a09
parent61fac744dddb22d99c7b12250bc9bada7866df08
e1000e: enable/disable ASPM L0s and L1 and ERT according to hardware errata

Prompted by a previous patch submitted by Matthew Garret <mjg@redhat.com>,
further digging into errata documentation reveals the current enabling or
disabling of ASPM L0s and L1 states for certain parts supported by this
driver are incorrect.  82571 and 82572 should always disable L1.  For
standard frames, 82573/82574/82583 can enable L1 but L0s must be disabled,
and for jumbo frames 82573/82574 must disable L1.  This allows for some
parts to enable L1 in certain configurations leading to better power
savings.

Also according to the same errata, Early Receive (ERT) should be disabled
on 82573 when using jumbo frames.

Cc: Matthew Garret <mjg@redhat.com>
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/e1000e/82571.c
drivers/net/e1000e/e1000.h
drivers/net/e1000e/netdev.c