* [net 1/2] igb: Add additional get_phy_id call for i354 devices @ 2013-09-10 18:57 Jeff Kirsher 2013-09-10 18:57 ` [net 2/2] igb: Read flow control for i350 from correct EEPROM section Jeff Kirsher 2013-09-12 20:25 ` [net 1/2] igb: Add additional get_phy_id call for i354 devices David Miller 0 siblings, 2 replies; 4+ messages in thread From: Jeff Kirsher @ 2013-09-10 18:57 UTC (permalink / raw) To: davem; +Cc: Carolyn Wyborny, netdev, gospo, sassmann, Jeff Kirsher From: Carolyn Wyborny <carolyn.wyborny@intel.com> This patch fixes a problem where some ports can fail to initialize on a cold boot. This patch adds an additional call to read the PHY id for i354 devices in order workaround the hardware problem. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- drivers/net/ethernet/intel/igb/e1000_82575.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c index 79b5835..47c2d10 100644 --- a/drivers/net/ethernet/intel/igb/e1000_82575.c +++ b/drivers/net/ethernet/intel/igb/e1000_82575.c @@ -719,6 +719,10 @@ static s32 igb_get_phy_id_82575(struct e1000_hw *hw) u32 ctrl_ext; u32 mdic; + /* Extra read required for some PHY's on i354 */ + if (hw->mac.type == e1000_i354) + igb_get_phy_id(hw); + /* For SGMII PHYs, we try the list of possible addresses until * we find one that works. For non-SGMII PHYs * (e.g. integrated copper PHYs), an address of 1 should -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [net 2/2] igb: Read flow control for i350 from correct EEPROM section 2013-09-10 18:57 [net 1/2] igb: Add additional get_phy_id call for i354 devices Jeff Kirsher @ 2013-09-10 18:57 ` Jeff Kirsher 2013-09-12 20:25 ` David Miller 2013-09-12 20:25 ` [net 1/2] igb: Add additional get_phy_id call for i354 devices David Miller 1 sibling, 1 reply; 4+ messages in thread From: Jeff Kirsher @ 2013-09-10 18:57 UTC (permalink / raw) To: davem; +Cc: Fujinaka, Todd, netdev, gospo, sassmann, Jeff Kirsher From: "Fujinaka, Todd" <todd.fujinaka@intel.com> Flow control is defined in the four EEPROM sections but the driver only reads from section 0. Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> --- drivers/net/ethernet/intel/igb/e1000_mac.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/intel/igb/e1000_mac.c b/drivers/net/ethernet/intel/igb/e1000_mac.c index f0dfd41..298f0ed 100644 --- a/drivers/net/ethernet/intel/igb/e1000_mac.c +++ b/drivers/net/ethernet/intel/igb/e1000_mac.c @@ -712,6 +712,7 @@ static s32 igb_set_fc_watermarks(struct e1000_hw *hw) static s32 igb_set_default_fc(struct e1000_hw *hw) { s32 ret_val = 0; + u16 lan_offset; u16 nvm_data; /* Read and store word 0x0F of the EEPROM. This word contains bits @@ -722,7 +723,14 @@ static s32 igb_set_default_fc(struct e1000_hw *hw) * control setting, then the variable hw->fc will * be initialized based on a value in the EEPROM. */ - ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG, 1, &nvm_data); + if (hw->mac.type == e1000_i350) { + lan_offset = NVM_82580_LAN_FUNC_OFFSET(hw->bus.func); + ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG + + lan_offset, 1, &nvm_data); + } else { + ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG, + 1, &nvm_data); + } if (ret_val) { hw_dbg("NVM Read Error\n"); -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [net 2/2] igb: Read flow control for i350 from correct EEPROM section 2013-09-10 18:57 ` [net 2/2] igb: Read flow control for i350 from correct EEPROM section Jeff Kirsher @ 2013-09-12 20:25 ` David Miller 0 siblings, 0 replies; 4+ messages in thread From: David Miller @ 2013-09-12 20:25 UTC (permalink / raw) To: jeffrey.t.kirsher; +Cc: todd.fujinaka, netdev, gospo, sassmann From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Tue, 10 Sep 2013 11:57:17 -0700 > From: "Fujinaka, Todd" <todd.fujinaka@intel.com> > > Flow control is defined in the four EEPROM sections but the driver only reads > from section 0. > > Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com> > Tested-by: Aaron Brown <aaron.f.brown@intel.com> > Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Applied. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [net 1/2] igb: Add additional get_phy_id call for i354 devices 2013-09-10 18:57 [net 1/2] igb: Add additional get_phy_id call for i354 devices Jeff Kirsher 2013-09-10 18:57 ` [net 2/2] igb: Read flow control for i350 from correct EEPROM section Jeff Kirsher @ 2013-09-12 20:25 ` David Miller 1 sibling, 0 replies; 4+ messages in thread From: David Miller @ 2013-09-12 20:25 UTC (permalink / raw) To: jeffrey.t.kirsher; +Cc: carolyn.wyborny, netdev, gospo, sassmann From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Tue, 10 Sep 2013 11:57:16 -0700 > From: Carolyn Wyborny <carolyn.wyborny@intel.com> > > This patch fixes a problem where some ports can fail to initialize on a > cold boot. This patch adds an additional call to read the PHY id for i354 > devices in order workaround the hardware problem. > > Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> > Tested-by: Aaron Brown <aaron.f.brown@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:[~2013-09-12 20:25 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-10 18:57 [net 1/2] igb: Add additional get_phy_id call for i354 devices Jeff Kirsher 2013-09-10 18:57 ` [net 2/2] igb: Read flow control for i350 from correct EEPROM section Jeff Kirsher 2013-09-12 20:25 ` David Miller 2013-09-12 20:25 ` [net 1/2] igb: Add additional get_phy_id call for i354 devices David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).