netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [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 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

* 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

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).