2023-05-12 23:50:55

by Vasiliy Kovalev

[permalink] [raw]
Subject: [PATCH] e1000e: Fix bind network card with ID = 0x0D4F

From: Vasiliy Kovalev <[email protected]>

This solution fixes packet loss during download, allowing you
to get into the range of network cards of 639e298f432fb0 commit.

Below is a summary of the hardware:
$ cat /sys/devices/cpu_core/caps/pmu_name
alderlake_hybrid
$ lspci -nn | grep 'Ethernet'
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet
Connection (10) I219-V [8086:0d4f] (rev 01)

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=217436
Fixes: 914ee9c436cbe9 ("e1000e: Add support for Comet Lake")
Signed-off-by: Vasiliy Kovalev <[email protected]>
---
drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index db8e06157da29..8b13f19309c39 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -7887,7 +7887,7 @@ static const struct pci_device_id e1000_pci_tbl[] = {
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9), board_pch_cnp },
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9), board_pch_cnp },
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10), board_pch_cnp },
- { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_cnp },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10), board_pch_adp },
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11), board_pch_cnp },
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11), board_pch_cnp },
{ PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12), board_pch_spt },
--
2.33.5



Subject: Re: [PATCH] e1000e: Fix bind network card with ID = 0x0D4F

14.05.2023 09:00, Neftin, Sasha пишет:
>> Fixes: 914ee9c436cbe9 ("e1000e: Add support for Comet Lake")
>> Signed-off-by: Vasiliy Kovalev <[email protected]>
>> ---
>>   drivers/net/ethernet/intel/e1000e/netdev.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c
>> b/drivers/net/ethernet/intel/e1000e/netdev.c
>> index db8e06157da29..8b13f19309c39 100644
>> --- a/drivers/net/ethernet/intel/e1000e/netdev.c
>> +++ b/drivers/net/ethernet/intel/e1000e/netdev.c
>> @@ -7887,7 +7887,7 @@ static const struct pci_device_id
>> e1000_pci_tbl[] = {
>>       { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_LM9),
>> board_pch_cnp },
>>       { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_ICP_I219_V9),
>> board_pch_cnp },
>>       { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM10),
>> board_pch_cnp },
>> -    { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10),
>> board_pch_cnp },
>> +    { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V10),
>> board_pch_adp },
> This is wrong approach. (we can not process old board similar as new)
>>       { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM11),
>> board_pch_cnp },
>>       { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_V11),
>> board_pch_cnp },
>>       { PCI_VDEVICE(INTEL, E1000_DEV_ID_PCH_CMP_I219_LM12),
>> board_pch_spt },
> Looking in commit 639e298f432fb0 (e1000e: Fix packet loss on Tiger
> Lake and later) I would suggest to replace the mac->type as follow:
> "if (mac->type >= e1000_pch_tgp)" with "if (mac->type >=
> e1000_pch_cnp)" (more correct) - try it on your side.

I checked this variant first of all - the behavior is correct, network
packets are not lost. Can I prepare a new patch or will this change be
made by you?

--
Best regards,
Vasiliy Kovalev