[SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

[SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1836152

[Impact]
RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
CRC errors.

[Fix]
Disable e1000e K1 feature to make I219 and PCH operate at higher speed
to avoid the issue.

[Test]
Before applying the patch, the RX is slower than 150Kbps. After applying
the fix the RX speed can achive gigabits.

[Regression Potential]
Low. This only applies to recent I219 generations.
I've also test several other systems with e1000e and I don't see any
regression.

Kai-Heng Feng (2):
  e1000e: add workaround for possible stalled packet
  e1000e: disable force K1-off feature

 drivers/net/ethernet/intel/e1000e/hw.h      |  1 +
 drivers/net/ethernet/intel/e1000e/ich8lan.c | 13 +++++++++++++
 drivers/net/ethernet/intel/e1000e/ich8lan.h |  2 +-
 3 files changed, 15 insertions(+), 1 deletion(-)

--
2.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 1/2] e1000e: add workaround for possible stalled packet

Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1836152

Forwardport from http://mails.dpdk.org/archives/dev/2016-November/050657.html

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 <[hidden email]>
(cherry picked from commit 82f7de996433eee486f1acb37ad9047b431ec13d git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue)
Signed-off-by: Kai-Heng Feng <[hidden email]>
---
 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..56f88a4e538c 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.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

[B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 2/2] e1000e: disable force K1-off feature

Kai-Heng Feng
In reply to this post by Kai-Heng Feng
BugLink: https://bugs.launchpad.net/bugs/1836152

Forwardport from http://mails.dpdk.org/archives/dev/2016-November/050658.html

MAC-PHY desync may occur causing misdetection 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 <[hidden email]>
(cherry picked from commit 3a818fd5094bd988b371228b12ed33531d727d15 git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue)
Signed-off-by: Kai-Heng Feng <[hidden email]>
---
 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 56f88a4e538c..c1e0e03dc5cb 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.17.1


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

CMNT Re: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Timo Aaltonen-6
In reply to this post by Kai-Heng Feng
On 11.7.2019 10.16, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1836152
>
> [Impact]
> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> CRC errors.
>
> [Fix]
> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> to avoid the issue.
>
> [Test]
> Before applying the patch, the RX is slower than 150Kbps. After applying
> the fix the RX speed can achive gigabits.
>
> [Regression Potential]
> Low. This only applies to recent I219 generations.
> I've also test several other systems with e1000e and I don't see any
> regression.

Hi, any idea why these were never applied upstream?



--
t

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: CMNT Re: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Kai-Heng Feng
at 15:35, Timo Aaltonen <[hidden email]> wrote:

> On 11.7.2019 10.16, Kai-Heng Feng wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1836152
>>
>> [Impact]
>> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
>> CRC errors.
>>
>> [Fix]
>> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
>> to avoid the issue.
>>
>> [Test]
>> Before applying the patch, the RX is slower than 150Kbps. After applying
>> the fix the RX speed can achive gigabits.
>>
>> [Regression Potential]
>> Low. This only applies to recent I219 generations.
>> I've also test several other systems with e1000e and I don't see any
>> regression.
>
> Hi, any idea why these were never applied upstream?

Well, because it just landed to Intel ethernet tree, it will be applied to  
mainline eventually.

Kai-Heng

>
>
>
> --
> t



--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: CMNT Re: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Timo Aaltonen-6
On 11.7.2019 10.47, Kai-Heng Feng wrote:

> at 15:35, Timo Aaltonen <[hidden email]> wrote:
>
>> On 11.7.2019 10.16, Kai-Heng Feng wrote:
>>> BugLink: https://bugs.launchpad.net/bugs/1836152
>>>
>>> [Impact]
>>> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
>>> CRC errors.
>>>
>>> [Fix]
>>> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
>>> to avoid the issue.
>>>
>>> [Test]
>>> Before applying the patch, the RX is slower than 150Kbps. After applying
>>> the fix the RX speed can achive gigabits.
>>>
>>> [Regression Potential]
>>> Low. This only applies to recent I219 generations.
>>> I've also test several other systems with e1000e and I don't see any
>>> regression.
>>
>> Hi, any idea why these were never applied upstream?
>
> Well, because it just landed to Intel ethernet tree, it will be applied
> to mainline eventually.

So it just took over 2,5y to land upstream? That's impressive :)


--
t

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: CMNT Re: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Kai-Heng Feng
at 16:16, Timo Aaltonen <[hidden email]> wrote:

> On 11.7.2019 10.47, Kai-Heng Feng wrote:
>> at 15:35, Timo Aaltonen <[hidden email]> wrote:
>>
>>> On 11.7.2019 10.16, Kai-Heng Feng wrote:
>>>> BugLink: https://bugs.launchpad.net/bugs/1836152
>>>>
>>>> [Impact]
>>>> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
>>>> CRC errors.
>>>>
>>>> [Fix]
>>>> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
>>>> to avoid the issue.
>>>>
>>>> [Test]
>>>> Before applying the patch, the RX is slower than 150Kbps. After applying
>>>> the fix the RX speed can achive gigabits.
>>>>
>>>> [Regression Potential]
>>>> Low. This only applies to recent I219 generations.
>>>> I've also test several other systems with e1000e and I don't see any
>>>> regression.
>>>
>>> Hi, any idea why these were never applied upstream?
>>
>> Well, because it just landed to Intel ethernet tree, it will be applied
>> to mainline eventually.
>
> So it just took over 2,5y to land upstream? That's impressive :)

Ah, you were to ask why these patches landed to dpdk but not to mainline  
Linux.
Actually these two patches are included in their out-of-tree driver.

To your original question: I don’t know :)

At least it will be in mainline.

Kai-Heng.

>
>
> --
> t



--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

Re: CMNT Re: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Anthony Wong-2
In reply to this post by Timo Aaltonen-6
On Thu, 11 Jul 2019 at 16:16, Timo Aaltonen <[hidden email]> wrote:

>
> On 11.7.2019 10.47, Kai-Heng Feng wrote:
> > at 15:35, Timo Aaltonen <[hidden email]> wrote:
> >
> >> On 11.7.2019 10.16, Kai-Heng Feng wrote:
> >>> BugLink: https://bugs.launchpad.net/bugs/1836152
> >>>
> >>> [Impact]
> >>> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> >>> CRC errors.
> >>>
> >>> [Fix]
> >>> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> >>> to avoid the issue.
> >>>
> >>> [Test]
> >>> Before applying the patch, the RX is slower than 150Kbps. After applying
> >>> the fix the RX speed can achive gigabits.
> >>>
> >>> [Regression Potential]
> >>> Low. This only applies to recent I219 generations.
> >>> I've also test several other systems with e1000e and I don't see any
> >>> regression.
> >>
> >> Hi, any idea why these were never applied upstream?
> >
> > Well, because it just landed to Intel ethernet tree, it will be applied
> > to mainline eventually.
>
> So it just took over 2,5y to land upstream? That's impressive :)

Intel has been maintaining an out-of-tree e1000e driver for almost 3
years, and they don't bother to close the gap between that and
mainline until recently.
There is no public git tree for that out-of-tree driver so we couldn't
bisect the issue, we are lucky to discover these patches for DPDK that
can be applied to mainline's driver, and so we submitted them back and
got accepted.

Thanks,
Anthony

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

APPLIED[OEM-OSP1-B] Re: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Timo Aaltonen-6
In reply to this post by Kai-Heng Feng
On 11.7.2019 10.16, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1836152
>
> [Impact]
> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> CRC errors.
>
> [Fix]
> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> to avoid the issue.
>
> [Test]
> Before applying the patch, the RX is slower than 150Kbps. After applying
> the fix the RX speed can achive gigabits.
>
> [Regression Potential]
> Low. This only applies to recent I219 generations.
> I've also test several other systems with e1000e and I don't see any
> regression.
>
> Kai-Heng Feng (2):
>   e1000e: add workaround for possible stalled packet
>   e1000e: disable force K1-off feature
>
>  drivers/net/ethernet/intel/e1000e/hw.h      |  1 +
>  drivers/net/ethernet/intel/e1000e/ich8lan.c | 13 +++++++++++++
>  drivers/net/ethernet/intel/e1000e/ich8lan.h |  2 +-
>  3 files changed, 15 insertions(+), 1 deletion(-)
>

applied to osp1 oem-next, thanks

--
t

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK/APPLIED[E]: [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Seth Forshee
In reply to this post by Kai-Heng Feng
On Thu, Jul 11, 2019 at 03:16:44PM +0800, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1836152
>
> [Impact]
> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> CRC errors.
>
> [Fix]
> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> to avoid the issue.
>
> [Test]
> Before applying the patch, the RX is slower than 150Kbps. After applying
> the fix the RX speed can achive gigabits.
>
> [Regression Potential]
> Low. This only applies to recent I219 generations.
> I've also test several other systems with e1000e and I don't see any
> regression.

Positive testing, making it's way upstream.

Acked-by: Seth Forshee <[hidden email]>

Applied to eoan/master-next, thanks!

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

ACK/Cmnt: [SRU] [B/D] [PATCH 0/2] Fix RX CRC errors on I219 v6

Stefan Bader-2
In reply to this post by Kai-Heng Feng
On 11.07.19 09:16, Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1836152
>
> [Impact]
> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> CRC errors.
>
> [Fix]
> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> to avoid the issue.
>
> [Test]
> Before applying the patch, the RX is slower than 150Kbps. After applying
> the fix the RX speed can achive gigabits.
>
> [Regression Potential]
> Low. This only applies to recent I219 generations.
> I've also test several other systems with e1000e and I don't see any
> regression.
>
> Kai-Heng Feng (2):
>   e1000e: add workaround for possible stalled packet
>   e1000e: disable force K1-off feature
>
>  drivers/net/ethernet/intel/e1000e/hw.h      |  1 +
>  drivers/net/ethernet/intel/e1000e/ich8lan.c | 13 +++++++++++++
>  drivers/net/ethernet/intel/e1000e/ich8lan.h |  2 +-
>  3 files changed, 15 insertions(+), 1 deletion(-)
>
Since thise are not upstream, they should be "UBUNTU: SAUCE: ..." (can be done
when applying). Otherwise the delta is small and should be testable.

Acked-by: Stefan Bader <[hidden email]>


--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

APPLIED(B,D): [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Khaled Elmously
In reply to this post by Kai-Heng Feng
On 2019-07-11 15:16:44 , Kai-Heng Feng wrote:

> BugLink: https://bugs.launchpad.net/bugs/1836152
>
> [Impact]
> RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> CRC errors.
>
> [Fix]
> Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> to avoid the issue.
>
> [Test]
> Before applying the patch, the RX is slower than 150Kbps. After applying
> the fix the RX speed can achive gigabits.
>
> [Regression Potential]
> Low. This only applies to recent I219 generations.
> I've also test several other systems with e1000e and I don't see any
> regression.
>
> Kai-Heng Feng (2):
>   e1000e: add workaround for possible stalled packet
>   e1000e: disable force K1-off feature
>
>  drivers/net/ethernet/intel/e1000e/hw.h      |  1 +
>  drivers/net/ethernet/intel/e1000e/ich8lan.c | 13 +++++++++++++
>  drivers/net/ethernet/intel/e1000e/ich8lan.h |  2 +-
>  3 files changed, 15 insertions(+), 1 deletion(-)
>
> --
> 2.17.1
>
>
> --
> kernel-team mailing list
> [hidden email]
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team
Reply | Threaded
Open this post in threaded view
|

cmt: APPLIED(B, D): [SRU] [B/D/Unstable/OEM-B/OEM-OSP1-B] [PATCH 0/2] Fix RX CRC errors on I219 v6

Khaled Elmously
Also, the patch titles were updated to include "UBUNTU: SAUCE: "


On 2019-07-23 02:15:16 , Khaled Elmously wrote:

> On 2019-07-11 15:16:44 , Kai-Heng Feng wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1836152
> >
> > [Impact]
> > RX speed on Intel ethernet I219 v6 is extremely slow due to multiple RX
> > CRC errors.
> >
> > [Fix]
> > Disable e1000e K1 feature to make I219 and PCH operate at higher speed
> > to avoid the issue.
> >
> > [Test]
> > Before applying the patch, the RX is slower than 150Kbps. After applying
> > the fix the RX speed can achive gigabits.
> >
> > [Regression Potential]
> > Low. This only applies to recent I219 generations.
> > I've also test several other systems with e1000e and I don't see any
> > regression.
> >
> > Kai-Heng Feng (2):
> >   e1000e: add workaround for possible stalled packet
> >   e1000e: disable force K1-off feature
> >
> >  drivers/net/ethernet/intel/e1000e/hw.h      |  1 +
> >  drivers/net/ethernet/intel/e1000e/ich8lan.c | 13 +++++++++++++
> >  drivers/net/ethernet/intel/e1000e/ich8lan.h |  2 +-
> >  3 files changed, 15 insertions(+), 1 deletion(-)
> >
> > --
> > 2.17.1
> >
> >
> > --
> > kernel-team mailing list
> > [hidden email]
> > https://lists.ubuntu.com/mailman/listinfo/kernel-team

--
kernel-team mailing list
[hidden email]
https://lists.ubuntu.com/mailman/listinfo/kernel-team