From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:43:32
This series contains updates to igc, igb, e1000e, and e1000 drivers.
Sasha adds counting of good transmit packets and reporting of NVM version
and gPHY version in ethtool firmware version. Replaces the use of strlcpy
to the preferred strscpy. Fixes a typo that caused the wrong register to be
output. He also removes an unused function pointer, some unneeded defines,
and a non-applicable comment. All changes for igc.
Gal Hammer fixes a typo which caused the RDBAL register values to be
shown instead of TDBAL for igb.
Nick Lowe enables RSS support for i211 devices for igb.
Tom Rix fixes checkpatch warning by removing h from printk format
specifier for igb.
Kaixu Xia removes setting of a variable that is overwritten before next
use for e1000e.
Sudip Mukherjee removes an unneeded assignment for e1000.
Note: Most patches only compile tested.
The following are changes since commit 32d1bbb1d609f5a78b0c95e2189f398a52a3fbf7:
net: fec: Silence M5272 build warnings
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 1GbE
Gal Hammer (1):
igb: fix TDBAL register show incorrect value
Kaixu Xia (1):
e1000e: remove the redundant value assignment in
e1000_update_nvm_checksum_spt
Nick Lowe (1):
igb: Enable RSS for Intel I211 Ethernet Controller
Sasha Neftin (10):
igc: Clean up nvm_operations structure
igc: Remove igc_set_fw_version comment
igc: Remove MULR mask define
igc: Add Host Good Packets Transmitted Count
igc: Expose the NVM version
igc: Expose the gPHY firmware version
igc: Prefer strscpy over strlcpy
igc: Remove unused local receiver mask
igc: Remove unused FUNC_1 mask
igc: Fix TDBAL register show incorrect value
Sudip Mukherjee (1):
e1000: drop unneeded assignment in e1000_set_itr()
Tom Rix (1):
igb: remove h from printk format specifier
drivers/net/ethernet/intel/e1000/e1000_main.c | 1 -
drivers/net/ethernet/intel/e1000e/ich8lan.c | 7 ------
drivers/net/ethernet/intel/igb/igb_main.c | 7 +++---
drivers/net/ethernet/intel/igc/igc.h | 2 ++
drivers/net/ethernet/intel/igc/igc_defines.h | 4 +---
drivers/net/ethernet/intel/igc/igc_dump.c | 2 +-
drivers/net/ethernet/intel/igc/igc_ethtool.c | 24 +++++++++++++++----
drivers/net/ethernet/intel/igc/igc_hw.h | 1 -
drivers/net/ethernet/intel/igc/igc_main.c | 1 +
drivers/net/ethernet/intel/igc/igc_phy.c | 18 ++++++++++++++
drivers/net/ethernet/intel/igc/igc_phy.h | 1 +
drivers/net/ethernet/intel/igc/igc_regs.h | 1 +
12 files changed, 48 insertions(+), 21 deletions(-)
--
2.26.2
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:43:37
From: Sasha Neftin <redacted>
i225 device not supported and do not plan to support
configuration of fw version string for ethtool
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc_ethtool.c | 1 -
1 file changed, 1 deletion(-)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:44:17
From: Sasha Neftin <redacted>
This counter counts the number of good (non-erred) packets
transmitted sent by the host.
A good transmit packet is considered one that is 64 or more bytes
in length (from <Destination Address> through <CRC>,
inclusively) in length
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc_main.c | 1 +
1 file changed, 1 insertion(+)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:44:17
From: Sasha Neftin <redacted>
FUNC_1 mask not in use in i225 device and could be removed
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc_defines.h | 1 -
1 file changed, 1 deletion(-)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:44:28
From: Sasha Neftin <redacted>
valid_led_default function pointer not in use and can
be removed from nvm_operations structure.
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc_hw.h | 1 -
1 file changed, 1 deletion(-)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:45:03
From: Gal Hammer <redacted>
Fixed a typo which caused the registers dump function to read the
RDBAL register when printing TDBAL register values.
Signed-off-by: Gal Hammer <redacted>
Tested-by: David Switzer <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:45:33
From: Sasha Neftin <redacted>
Expose the NVM map version via drvinfo in ethtool
NVM image version is reported as firmware version for i225 device
Minor typo fix - remove space
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc.h | 2 ++
drivers/net/ethernet/intel/igc/igc_defines.h | 1 +
drivers/net/ethernet/intel/igc/igc_ethtool.c | 16 ++++++++++++++--
3 files changed, 17 insertions(+), 2 deletions(-)
@@ -129,10 +129,22 @@ static void igc_ethtool_get_drvinfo(struct net_device *netdev,structethtool_drvinfo*drvinfo){structigc_adapter*adapter=netdev_priv(netdev);+structigc_hw*hw=&adapter->hw;+u16nvm_version=0;++strscpy(drvinfo->driver,igc_driver_name,sizeof(drvinfo->driver));++/* NVM image version is reported as firmware version for i225 device */+hw->nvm.ops.read(hw,IGC_NVM_DEV_STARTER,1,&nvm_version);++scnprintf(adapter->fw_version,+sizeof(adapter->fw_version),+"%x",+nvm_version);-strlcpy(drvinfo->driver,igc_driver_name,sizeof(drvinfo->driver));+strscpy(drvinfo->fw_version,adapter->fw_version,+sizeof(drvinfo->fw_version));-/* add fw_version here */strlcpy(drvinfo->bus_info,pci_name(adapter->pdev),sizeof(drvinfo->bus_info));
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:45:36
From: Nick Lowe <redacted>
The Intel I211 Ethernet Controller supports 2 Receive Side Scaling (RSS)
queues. It should not be excluded from having this feature enabled.
Via commit c883de9fd787 ("igb: rename igb define to be more generic")
E1000_MRQC_ENABLE_RSS_4Q was renamed to E1000_MRQC_ENABLE_RSS_MQ to
indicate that this is a generic bit flag to enable queues and not
a flag that is specific to devices that support 4 queues
The bit flag enables 2, 4 or 8 queues appropriately depending on the part.
Tested with a multicore CPU and frames were then distributed as expected.
This issue appears to have been introduced because of confusion caused
by the prior name.
Signed-off-by: Nick Lowe <redacted>
Tested-by: David Switzer <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igb/igb_main.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:45:51
From: Kaixu Xia <redacted>
Both of the statements are value assignment of the variable act_offset.
The first value assignment is overwritten by the second and is useless.
Remove it.
Reported-by: Tosk Robot <redacted>
Signed-off-by: Kaixu Xia <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/e1000e/ich8lan.c | 7 -------
1 file changed, 7 deletions(-)
@@ -3886,13 +3886,6 @@ static s32 e1000_update_nvm_checksum_spt(struct e1000_hw *hw)if(ret_val)gotorelease;-/* And invalidate the previously valid segment by setting-*itssignatureword(0x13)high_byteto0b.Thiscanbe-*donewithoutanerasebecauseflasherasesetsallbits-*to1's.Wecanwrite1'sto0'swithoutanerase-*/-act_offset=(old_bank_offset+E1000_ICH_NVM_SIG_WORD)*2+1;-/* offset in words but we read dword */act_offset=old_bank_offset+E1000_ICH_NVM_SIG_WORD-1;ret_val=e1000_read_flash_dword_ich8lan(hw,act_offset,&dword);
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:46:18
From: Tom Rix <trix@redhat.com>
This change fixes the checkpatch warning described in this
commit cbacb5ab0aa0 ("docs: printk-formats: Stop encouraging use of
unnecessary %h[xudi] and %hh[xudi]")
Standard integer promotion is already done and %hx and %hhx is useless
so do not encourage the use of %hh[xudi] or %h[xudi].
Signed-off-by: Tom Rix <trix@redhat.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igb/igb_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
@@ -3156,7 +3156,7 @@ static int igb_probe(struct pci_dev *pdev, const struct pci_device_id *ent)*thePCIeSR-IOVcapability.*/if(pdev->is_virtfn){-WARN(1,KERN_ERR"%s (%hx:%hx) should not be a VF!\n",+WARN(1,KERN_ERR"%s (%x:%x) should not be a VF!\n",pci_name(pdev),pdev->vendor,pdev->device);return-EINVAL;}
@@ -131,16 +131,21 @@ static void igc_ethtool_get_drvinfo(struct net_device *netdev,structigc_adapter*adapter=netdev_priv(netdev);structigc_hw*hw=&adapter->hw;u16nvm_version=0;+u16gphy_version;strscpy(drvinfo->driver,igc_driver_name,sizeof(drvinfo->driver));/* NVM image version is reported as firmware version for i225 device */hw->nvm.ops.read(hw,IGC_NVM_DEV_STARTER,1,&nvm_version);+/* gPHY firmware version is reported as PHY FW version */+gphy_version=igc_read_phy_fw_version(hw);+scnprintf(adapter->fw_version,sizeof(adapter->fw_version),-"%x",-nvm_version);+"%x:%x",+nvm_version,+gphy_version);strscpy(drvinfo->fw_version,adapter->fw_version,sizeof(drvinfo->fw_version));
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:48:37
From: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
The variable 'current_itr' is assigned to 0 before jumping to
'set_itr_now' but it has not been used after the jump. So, remove the
unneeded assignment.
Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Reviewed-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/e1000/e1000_main.c | 1 -
1 file changed, 1 deletion(-)
@@ -2632,7 +2632,6 @@ static void e1000_set_itr(struct e1000_adapter *adapter)/* for non-gigabit speeds, just fix the interrupt rate at 4000 */if(unlikely(adapter->link_speed!=SPEED_1000)){-current_itr=0;new_itr=4000;gotoset_itr_now;}
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:50:37
From: Sasha Neftin <redacted>
Fixed a typo which caused the registers dump function to read the
RDBAL register when printing TDBAL register values.
_reg_dump method has been partially derived from i210 and have
same typo.
Suggested-by: Gal Hammer <redacted>
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc_dump.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
From: Tony Nguyen <anthony.l.nguyen@intel.com> Date: 2021-02-04 00:51:05
From: Sasha Neftin <redacted>
Local receiver mask SR_1000T_LOCAL_RX_STATUS not in use in i225 device
and could be removed
Signed-off-by: Sasha Neftin <redacted>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igc/igc_defines.h | 1 -
1 file changed, 1 deletion(-)
Hello:
This series was applied to netdev/net-next.git (refs/heads/master):
On Wed, 3 Feb 2021 16:42:44 -0800 you wrote:
This series contains updates to igc, igb, e1000e, and e1000 drivers.
Sasha adds counting of good transmit packets and reporting of NVM version
and gPHY version in ethtool firmware version. Replaces the use of strlcpy
to the preferred strscpy. Fixes a typo that caused the wrong register to be
output. He also removes an unused function pointer, some unneeded defines,
and a non-applicable comment. All changes for igc.
[...]