* [net-next 1/6] igc: Remove the polarity field from a PHY information structure
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
@ 2019-07-23 17:36 ` Jeff Kirsher
2019-07-23 17:36 ` [net-next 2/6] igc: Remove the unused field from a device specification structure Jeff Kirsher
` (5 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-23 17:36 UTC (permalink / raw)
To: davem; +Cc: Sasha Neftin, netdev, nhorman, sassmann, Aaron Brown,
Jeff Kirsher
From: Sasha Neftin <sasha.neftin@intel.com>
Polarity and cable length fields is not applicable for the i225 device.
This patch comes to clean up PHY information structure.
Signed-off-by: Sasha Neftin <sasha.neftin@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/igc/igc_hw.h | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/net/ethernet/intel/igc/igc_hw.h b/drivers/net/ethernet/intel/igc/igc_hw.h
index 1039a224ac80..f689f0a02b5d 100644
--- a/drivers/net/ethernet/intel/igc/igc_hw.h
+++ b/drivers/net/ethernet/intel/igc/igc_hw.h
@@ -151,16 +151,10 @@ struct igc_phy_info {
u16 autoneg_advertised;
u16 autoneg_mask;
- u16 cable_length;
- u16 max_cable_length;
- u16 min_cable_length;
- u16 pair_length[4];
u8 mdix;
- bool disable_polarity_correction;
bool is_mdix;
- bool polarity_correction;
bool reset_disable;
bool speed_downgraded;
bool autoneg_wait_to_complete;
--
2.21.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [net-next 2/6] igc: Remove the unused field from a device specification structure
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
2019-07-23 17:36 ` [net-next 1/6] igc: Remove the polarity field from a PHY information structure Jeff Kirsher
@ 2019-07-23 17:36 ` Jeff Kirsher
2019-07-23 17:36 ` [net-next 3/6] igc: Update the MAC reset flow Jeff Kirsher
` (4 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-23 17:36 UTC (permalink / raw)
To: davem; +Cc: Sasha Neftin, netdev, nhorman, sassmann, Aaron Brown,
Jeff Kirsher
From: Sasha Neftin <sasha.neftin@intel.com>
This patch comes to clean up the device specification structure.
Signed-off-by: Sasha Neftin <sasha.neftin@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/igc/igc_hw.h | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/net/ethernet/intel/igc/igc_hw.h b/drivers/net/ethernet/intel/igc/igc_hw.h
index f689f0a02b5d..9a338fbf671c 100644
--- a/drivers/net/ethernet/intel/igc/igc_hw.h
+++ b/drivers/net/ethernet/intel/igc/igc_hw.h
@@ -184,12 +184,7 @@ struct igc_fc_info {
};
struct igc_dev_spec_base {
- bool global_device_reset;
- bool eee_disable;
bool clear_semaphore_once;
- bool module_plugged;
- u8 media_port;
- bool mas_capable;
};
struct igc_hw {
--
2.21.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [net-next 3/6] igc: Update the MAC reset flow
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
2019-07-23 17:36 ` [net-next 1/6] igc: Remove the polarity field from a PHY information structure Jeff Kirsher
2019-07-23 17:36 ` [net-next 2/6] igc: Remove the unused field from a device specification structure Jeff Kirsher
@ 2019-07-23 17:36 ` Jeff Kirsher
2019-07-23 17:36 ` [net-next 4/6] igc: Add more SKUs for i225 device Jeff Kirsher
` (3 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-23 17:36 UTC (permalink / raw)
To: davem; +Cc: Sasha Neftin, netdev, nhorman, sassmann, Aaron Brown,
Jeff Kirsher
From: Sasha Neftin <sasha.neftin@intel.com>
Use Device Reset flow instead of Port Reset flow.
This flow performs a reset of the entire controller device,
resulting in a state nearly approximating the state
following a power-up reset or internal PCIe reset,
except for system PCI configuration.
Signed-off-by: Sasha Neftin <sasha.neftin@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/igc/igc_base.c | 2 +-
drivers/net/ethernet/intel/igc/igc_defines.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/igc/igc_base.c b/drivers/net/ethernet/intel/igc/igc_base.c
index 59258d791106..46206b3dabfb 100644
--- a/drivers/net/ethernet/intel/igc/igc_base.c
+++ b/drivers/net/ethernet/intel/igc/igc_base.c
@@ -40,7 +40,7 @@ static s32 igc_reset_hw_base(struct igc_hw *hw)
ctrl = rd32(IGC_CTRL);
hw_dbg("Issuing a global reset to MAC\n");
- wr32(IGC_CTRL, ctrl | IGC_CTRL_RST);
+ wr32(IGC_CTRL, ctrl | IGC_CTRL_DEV_RST);
ret_val = igc_get_auto_rd_done(hw);
if (ret_val) {
diff --git a/drivers/net/ethernet/intel/igc/igc_defines.h b/drivers/net/ethernet/intel/igc/igc_defines.h
index fc0ccfe38a20..11b99acf4abe 100644
--- a/drivers/net/ethernet/intel/igc/igc_defines.h
+++ b/drivers/net/ethernet/intel/igc/igc_defines.h
@@ -54,7 +54,7 @@
#define IGC_ERR_SWFW_SYNC 13
/* Device Control */
-#define IGC_CTRL_RST 0x04000000 /* Global reset */
+#define IGC_CTRL_DEV_RST 0x20000000 /* Device reset */
#define IGC_CTRL_PHY_RST 0x80000000 /* PHY Reset */
#define IGC_CTRL_SLU 0x00000040 /* Set link up (Force Link) */
--
2.21.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [net-next 4/6] igc: Add more SKUs for i225 device
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
` (2 preceding siblings ...)
2019-07-23 17:36 ` [net-next 3/6] igc: Update the MAC reset flow Jeff Kirsher
@ 2019-07-23 17:36 ` Jeff Kirsher
2019-07-23 17:36 ` [net-next 5/6] e1000e: add workaround for possible stalled packet Jeff Kirsher
` (2 subsequent siblings)
6 siblings, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-23 17:36 UTC (permalink / raw)
To: davem; +Cc: Sasha Neftin, netdev, nhorman, sassmann, Aaron Brown,
Jeff Kirsher
From: Sasha Neftin <sasha.neftin@intel.com>
Add support for more SKUs.
Signed-off-by: Sasha Neftin <sasha.neftin@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/igc/igc_base.c | 3 +++
drivers/net/ethernet/intel/igc/igc_hw.h | 3 +++
drivers/net/ethernet/intel/igc/igc_main.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/drivers/net/ethernet/intel/igc/igc_base.c b/drivers/net/ethernet/intel/igc/igc_base.c
index 46206b3dabfb..db289bcce21d 100644
--- a/drivers/net/ethernet/intel/igc/igc_base.c
+++ b/drivers/net/ethernet/intel/igc/igc_base.c
@@ -209,6 +209,9 @@ static s32 igc_get_invariants_base(struct igc_hw *hw)
switch (hw->device_id) {
case IGC_DEV_ID_I225_LM:
case IGC_DEV_ID_I225_V:
+ case IGC_DEV_ID_I225_I:
+ case IGC_DEV_ID_I220_V:
+ case IGC_DEV_ID_I225_K:
mac->type = igc_i225;
break;
default:
diff --git a/drivers/net/ethernet/intel/igc/igc_hw.h b/drivers/net/ethernet/intel/igc/igc_hw.h
index 9a338fbf671c..abb2d72911ff 100644
--- a/drivers/net/ethernet/intel/igc/igc_hw.h
+++ b/drivers/net/ethernet/intel/igc/igc_hw.h
@@ -18,6 +18,9 @@
#define IGC_DEV_ID_I225_LM 0x15F2
#define IGC_DEV_ID_I225_V 0x15F3
+#define IGC_DEV_ID_I225_I 0x15F8
+#define IGC_DEV_ID_I220_V 0x15F7
+#define IGC_DEV_ID_I225_K 0x3100
#define IGC_FUNC_0 0
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 9ffe71424ece..e5114bebd30b 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -36,6 +36,9 @@ static const struct igc_info *igc_info_tbl[] = {
static const struct pci_device_id igc_pci_tbl[] = {
{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_LM), board_base },
{ PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_V), board_base },
+ { PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_I), board_base },
+ { PCI_VDEVICE(INTEL, IGC_DEV_ID_I220_V), board_base },
+ { PCI_VDEVICE(INTEL, IGC_DEV_ID_I225_K), board_base },
/* required last entry */
{0, }
};
--
2.21.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [net-next 5/6] e1000e: add workaround for possible stalled packet
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
` (3 preceding siblings ...)
2019-07-23 17:36 ` [net-next 4/6] igc: Add more SKUs for i225 device Jeff Kirsher
@ 2019-07-23 17:36 ` Jeff Kirsher
2019-07-23 17:36 ` [net-next 6/6] e1000e: disable force K1-off feature Jeff Kirsher
2019-07-23 21:16 ` [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Saeed Mahameed
6 siblings, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-23 17:36 UTC (permalink / raw)
To: davem; +Cc: Kai-Heng Feng, netdev, nhorman, sassmann, Aaron Brown,
Jeff Kirsher
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
This works around a possible stalled packet issue, which may occur due to
clock recovery from the PCH being too slow, when the LAN is transitioning
from K1 at 1G link speed.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204057
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/e1000e/ich8lan.c | 10 ++++++++++
drivers/net/ethernet/intel/e1000e/ich8lan.h | 2 +-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index 395b05701480..a1fab77b2096 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -1429,6 +1429,16 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw)
else
phy_reg |= 0xFA;
e1e_wphy_locked(hw, I217_PLL_CLOCK_GATE_REG, phy_reg);
+
+ if (speed == SPEED_1000) {
+ hw->phy.ops.read_reg_locked(hw, HV_PM_CTRL,
+ &phy_reg);
+
+ phy_reg |= HV_PM_CTRL_K1_CLK_REQ;
+
+ hw->phy.ops.write_reg_locked(hw, HV_PM_CTRL,
+ phy_reg);
+ }
}
hw->phy.ops.release(hw);
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.h b/drivers/net/ethernet/intel/e1000e/ich8lan.h
index eb09c755fa17..1502895eb45d 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.h
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.h
@@ -210,7 +210,7 @@
/* PHY Power Management Control */
#define HV_PM_CTRL PHY_REG(770, 17)
-#define HV_PM_CTRL_PLL_STOP_IN_K1_GIGA 0x100
+#define HV_PM_CTRL_K1_CLK_REQ 0x200
#define HV_PM_CTRL_K1_ENABLE 0x4000
#define I217_PLL_CLOCK_GATE_REG PHY_REG(772, 28)
--
2.21.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [net-next 6/6] e1000e: disable force K1-off feature
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
` (4 preceding siblings ...)
2019-07-23 17:36 ` [net-next 5/6] e1000e: add workaround for possible stalled packet Jeff Kirsher
@ 2019-07-23 17:36 ` Jeff Kirsher
2019-07-23 21:04 ` David Miller
2019-07-23 21:16 ` [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Saeed Mahameed
6 siblings, 1 reply; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-23 17:36 UTC (permalink / raw)
To: davem; +Cc: Kai-Heng Feng, netdev, nhorman, sassmann, Aaron Brown,
Jeff Kirsher
From: Kai-Heng Feng <kai.heng.feng@canonical.com>
MAC-PHY desync may occur causing miss detection of link up event.
Disabling K1-off feature can work around the problem.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204057
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
drivers/net/ethernet/intel/e1000e/hw.h | 1 +
drivers/net/ethernet/intel/e1000e/ich8lan.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h
index eff75bd8a8f0..e3c71fd093ee 100644
--- a/drivers/net/ethernet/intel/e1000e/hw.h
+++ b/drivers/net/ethernet/intel/e1000e/hw.h
@@ -662,6 +662,7 @@ struct e1000_dev_spec_ich8lan {
bool kmrn_lock_loss_workaround_enabled;
struct e1000_shadow_ram shadow_ram[E1000_ICH8_SHADOW_RAM_WORDS];
bool nvm_k1_enabled;
+ bool disable_k1_off;
bool eee_disable;
u16 eee_lp_ability;
enum e1000_ulp_state ulp_state;
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.c b/drivers/net/ethernet/intel/e1000e/ich8lan.c
index a1fab77b2096..6a9a4014f4b7 100644
--- a/drivers/net/ethernet/intel/e1000e/ich8lan.c
+++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c
@@ -1538,6 +1538,9 @@ static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw)
fextnvm6 &= ~E1000_FEXTNVM6_K1_OFF_ENABLE;
}
+ if (hw->dev_spec.ich8lan.disable_k1_off == true)
+ fextnvm6 &= ~E1000_FEXTNVM6_K1_OFF_ENABLE;
+
ew32(FEXTNVM6, fextnvm6);
}
--
2.21.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: [net-next 6/6] e1000e: disable force K1-off feature
2019-07-23 17:36 ` [net-next 6/6] e1000e: disable force K1-off feature Jeff Kirsher
@ 2019-07-23 21:04 ` David Miller
2019-07-24 2:30 ` Jeff Kirsher
2019-07-24 20:52 ` Jeff Kirsher
0 siblings, 2 replies; 11+ messages in thread
From: David Miller @ 2019-07-23 21:04 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: kai.heng.feng, netdev, nhorman, sassmann, aaron.f.brown
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue, 23 Jul 2019 10:36:50 -0700
> diff --git a/drivers/net/ethernet/intel/e1000e/hw.h b/drivers/net/ethernet/intel/e1000e/hw.h
> index eff75bd8a8f0..e3c71fd093ee 100644
> --- a/drivers/net/ethernet/intel/e1000e/hw.h
> +++ b/drivers/net/ethernet/intel/e1000e/hw.h
> @@ -662,6 +662,7 @@ struct e1000_dev_spec_ich8lan {
> bool kmrn_lock_loss_workaround_enabled;
> struct e1000_shadow_ram shadow_ram[E1000_ICH8_SHADOW_RAM_WORDS];
> bool nvm_k1_enabled;
> + bool disable_k1_off;
> bool eee_disable;
I don't see any code actually setting this boolean, how does it work?
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [net-next 6/6] e1000e: disable force K1-off feature
2019-07-23 21:04 ` David Miller
@ 2019-07-24 2:30 ` Jeff Kirsher
2019-07-24 20:52 ` Jeff Kirsher
1 sibling, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-24 2:30 UTC (permalink / raw)
To: David Miller; +Cc: kai.heng.feng, netdev, nhorman, sassmann, aaron.f.brown
[-- Attachment #1: Type: text/plain, Size: 939 bytes --]
On Tue, 2019-07-23 at 14:04 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Tue, 23 Jul 2019 10:36:50 -0700
>
> > diff --git a/drivers/net/ethernet/intel/e1000e/hw.h
> > b/drivers/net/ethernet/intel/e1000e/hw.h
> > index eff75bd8a8f0..e3c71fd093ee 100644
> > --- a/drivers/net/ethernet/intel/e1000e/hw.h
> > +++ b/drivers/net/ethernet/intel/e1000e/hw.h
> > @@ -662,6 +662,7 @@ struct e1000_dev_spec_ich8lan {
> > bool kmrn_lock_loss_workaround_enabled;
> > struct e1000_shadow_ram shadow_ram[E1000_ICH8_SHADOW_RAM_WORDS];
> > bool nvm_k1_enabled;
> > + bool disable_k1_off;
> > bool eee_disable;
>
> I don't see any code actually setting this boolean, how does it work?
I am trying to find the answer Dave. The original author of the code
change is no longer with Intel and the notes point to this being set via
the NVM, but I am confirming with the client engineers.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: [net-next 6/6] e1000e: disable force K1-off feature
2019-07-23 21:04 ` David Miller
2019-07-24 2:30 ` Jeff Kirsher
@ 2019-07-24 20:52 ` Jeff Kirsher
1 sibling, 0 replies; 11+ messages in thread
From: Jeff Kirsher @ 2019-07-24 20:52 UTC (permalink / raw)
To: David Miller; +Cc: kai.heng.feng, netdev, nhorman, sassmann, aaron.f.brown
[-- Attachment #1: Type: text/plain, Size: 1060 bytes --]
On Tue, 2019-07-23 at 14:04 -0700, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Tue, 23 Jul 2019 10:36:50 -0700
>
> > diff --git a/drivers/net/ethernet/intel/e1000e/hw.h
> > b/drivers/net/ethernet/intel/e1000e/hw.h
> > index eff75bd8a8f0..e3c71fd093ee 100644
> > --- a/drivers/net/ethernet/intel/e1000e/hw.h
> > +++ b/drivers/net/ethernet/intel/e1000e/hw.h
> > @@ -662,6 +662,7 @@ struct e1000_dev_spec_ich8lan {
> > bool kmrn_lock_loss_workaround_enabled;
> > struct e1000_shadow_ram
> > shadow_ram[E1000_ICH8_SHADOW_RAM_WORDS];
> > bool nvm_k1_enabled;
> > + bool disable_k1_off;
> > bool eee_disable;
>
> I don't see any code actually setting this boolean, how does it work?
So either this patch is missing a bit of code OR this is not needed for
the Linux driver. Either way this patch needs changes or needs to be
dropped, so I am dropping this patch from the series until I get
further information from the client driver team.
I will be re-submitting this series, minus this patch.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23
2019-07-23 17:36 [net-next 0/6][pull request] 1GbE Intel Wired LAN Driver Updates 2019-07-23 Jeff Kirsher
` (5 preceding siblings ...)
2019-07-23 17:36 ` [net-next 6/6] e1000e: disable force K1-off feature Jeff Kirsher
@ 2019-07-23 21:16 ` Saeed Mahameed
6 siblings, 0 replies; 11+ messages in thread
From: Saeed Mahameed @ 2019-07-23 21:16 UTC (permalink / raw)
To: jeffrey.t.kirsher@intel.com, davem@davemloft.net
Cc: nhorman@redhat.com, sassmann@redhat.com, netdev@vger.kernel.org
On Tue, 2019-07-23 at 10:36 -0700, Jeff Kirsher wrote:
> This series contains updates to igc and e1000e client drivers only.
>
> Sasha provides a couple of cleanups to remove code that is not needed
> and reduce structure sizes. Updated the MAC reset flow to use the
> device reset flow instead of a port reset flow. Added addition
> device
> id's that will be supported.
>
> Kai-Heng Feng provides a workaround for a possible stalled packet
> issue
> in our ICH devices due to a clock recovery from the PCH being too
> slow.
> Also provided a fix where the MAC & PHY may become de-sync'd causing
> a
> miss detection of link up events.
For what it's worth, Series LGTM.
^ permalink raw reply [flat|nested] 11+ messages in thread