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