| From ff847ac2d3e90edd94674c28bade25ae1e6a2e49 Mon Sep 17 00:00:00 2001 |
| From: Bruce Allan <bruce.w.allan@intel.com> |
| Date: Tue, 27 Jul 2010 12:28:46 +0000 |
| Subject: e1000e: 82577/82578 PHY register access issues |
| |
| From: Bruce Allan <bruce.w.allan@intel.com> |
| |
| commit ff847ac2d3e90edd94674c28bade25ae1e6a2e49 upstream. |
| |
| The MAC-PHY interconnect on 82577/82578 uses a power management feature |
| (called K1) which must be disabled when in 1Gbps due to a hardware issue on |
| these parts. The #define bit setting used to enable/disable K1 is |
| incorrect and can cause PHY register accesses to stop working altogether |
| until the next device reset. This patch sets the register correctly. |
| |
| This issue is present in kernels since 2.6.32. |
| |
| Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> |
| Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> |
| Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/net/e1000e/hw.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/e1000e/hw.h |
| +++ b/drivers/net/e1000e/hw.h |
| @@ -306,7 +306,7 @@ enum e1e_registers { |
| #define E1000_KMRNCTRLSTA_INBAND_PARAM 0x9 /* Kumeran InBand Parameters */ |
| #define E1000_KMRNCTRLSTA_DIAG_NELPBK 0x1000 /* Nearend Loopback mode */ |
| #define E1000_KMRNCTRLSTA_K1_CONFIG 0x7 |
| -#define E1000_KMRNCTRLSTA_K1_ENABLE 0x140E |
| +#define E1000_KMRNCTRLSTA_K1_ENABLE 0x0002 |
| #define E1000_KMRNCTRLSTA_K1_DISABLE 0x1400 |
| |
| #define IFE_PHY_EXTENDED_STATUS_CONTROL 0x10 |