* [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e)
@ 2023-12-12 20:49 Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 1/3] igb: Use FIELD_GET() to extract Link Width Tony Nguyen
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Tony Nguyen @ 2023-12-12 20:49 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev; +Cc: Tony Nguyen
This series contains updates to igb and e1000e drivers.
Ilpo Järvinen does some cleanups to both drivers: utilizing FIELD_GET()
helpers and using standard kernel defines over driver created ones.
The following are changes since commit 609c767f2c5505f104ed6bbb3554158131913f86:
Merge branch 'net-dsa-realtek-two-rtl8366rb-fixes'
and are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 1GbE
Ilpo Järvinen (3):
igb: Use FIELD_GET() to extract Link Width
e1000e: Use PCI_EXP_LNKSTA_NLW & FIELD_GET() instead of custom
defines/code
e1000e: Use pcie_capability_read_word() for reading LNKSTA
drivers/net/ethernet/intel/e1000e/defines.h | 3 ---
drivers/net/ethernet/intel/e1000e/mac.c | 18 ++++++++----------
drivers/net/ethernet/intel/igb/e1000_mac.c | 6 +++---
3 files changed, 11 insertions(+), 16 deletions(-)
--
2.41.0
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH net-next 1/3] igb: Use FIELD_GET() to extract Link Width
2023-12-12 20:49 [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) Tony Nguyen
@ 2023-12-12 20:49 ` Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 2/3] e1000e: Use PCI_EXP_LNKSTA_NLW & FIELD_GET() instead of custom defines/code Tony Nguyen
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Tony Nguyen @ 2023-12-12 20:49 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev
Cc: Ilpo Järvinen, anthony.l.nguyen, Jonathan Cameron,
Simon Horman, Pucha Himasekhar Reddy
From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Use FIELD_GET() to extract PCIe Negotiated Link Width field instead of
custom masking and shifting.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/igb/e1000_mac.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/e1000_mac.c b/drivers/net/ethernet/intel/igb/e1000_mac.c
index caf91c6f52b4..5a23b9cfec6c 100644
--- a/drivers/net/ethernet/intel/igb/e1000_mac.c
+++ b/drivers/net/ethernet/intel/igb/e1000_mac.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 2007 - 2018 Intel Corporation. */
+#include <linux/bitfield.h>
#include <linux/if_ether.h>
#include <linux/delay.h>
#include <linux/pci.h>
@@ -50,9 +51,8 @@ s32 igb_get_bus_info_pcie(struct e1000_hw *hw)
break;
}
- bus->width = (enum e1000_bus_width)((pcie_link_status &
- PCI_EXP_LNKSTA_NLW) >>
- PCI_EXP_LNKSTA_NLW_SHIFT);
+ bus->width = (enum e1000_bus_width)FIELD_GET(PCI_EXP_LNKSTA_NLW,
+ pcie_link_status);
}
reg = rd32(E1000_STATUS);
--
2.41.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net-next 2/3] e1000e: Use PCI_EXP_LNKSTA_NLW & FIELD_GET() instead of custom defines/code
2023-12-12 20:49 [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 1/3] igb: Use FIELD_GET() to extract Link Width Tony Nguyen
@ 2023-12-12 20:49 ` Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 3/3] e1000e: Use pcie_capability_read_word() for reading LNKSTA Tony Nguyen
2023-12-14 6:20 ` [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: Tony Nguyen @ 2023-12-12 20:49 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev
Cc: Ilpo Järvinen, anthony.l.nguyen, sasha.neftin,
Jonathan Cameron, Simon Horman, Naama Meir
From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
e1000e has own copy of PCI Negotiated Link Width field defines. Use the
ones from include/uapi/linux/pci_regs.h instead of the custom ones and
remove the custom ones and convert to FIELD_GET().
Suggested-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/e1000e/defines.h | 2 --
drivers/net/ethernet/intel/e1000e/mac.c | 7 ++++---
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/defines.h b/drivers/net/ethernet/intel/e1000e/defines.h
index 63c3c79380a1..a4d29c9e03a6 100644
--- a/drivers/net/ethernet/intel/e1000e/defines.h
+++ b/drivers/net/ethernet/intel/e1000e/defines.h
@@ -681,8 +681,6 @@
#define PCIE_LINK_STATUS 0x12
#define PCI_HEADER_TYPE_MULTIFUNC 0x80
-#define PCIE_LINK_WIDTH_MASK 0x3F0
-#define PCIE_LINK_WIDTH_SHIFT 4
#define PHY_REVISION_MASK 0xFFFFFFF0
#define MAX_PHY_REG_ADDRESS 0x1F /* 5 bit address bus (0-0x1F) */
diff --git a/drivers/net/ethernet/intel/e1000e/mac.c b/drivers/net/ethernet/intel/e1000e/mac.c
index 5df7ad93f3d7..5340cf73778d 100644
--- a/drivers/net/ethernet/intel/e1000e/mac.c
+++ b/drivers/net/ethernet/intel/e1000e/mac.c
@@ -1,6 +1,8 @@
// SPDX-License-Identifier: GPL-2.0
/* Copyright(c) 1999 - 2018 Intel Corporation. */
+#include <linux/bitfield.h>
+
#include "e1000.h"
/**
@@ -25,9 +27,8 @@ s32 e1000e_get_bus_info_pcie(struct e1000_hw *hw)
pci_read_config_word(adapter->pdev,
cap_offset + PCIE_LINK_STATUS,
&pcie_link_status);
- bus->width = (enum e1000_bus_width)((pcie_link_status &
- PCIE_LINK_WIDTH_MASK) >>
- PCIE_LINK_WIDTH_SHIFT);
+ bus->width = (enum e1000_bus_width)FIELD_GET(PCI_EXP_LNKSTA_NLW,
+ pcie_link_status);
}
mac->ops.set_lan_id(hw);
--
2.41.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH net-next 3/3] e1000e: Use pcie_capability_read_word() for reading LNKSTA
2023-12-12 20:49 [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 1/3] igb: Use FIELD_GET() to extract Link Width Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 2/3] e1000e: Use PCI_EXP_LNKSTA_NLW & FIELD_GET() instead of custom defines/code Tony Nguyen
@ 2023-12-12 20:49 ` Tony Nguyen
2023-12-14 6:20 ` [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: Tony Nguyen @ 2023-12-12 20:49 UTC (permalink / raw)
To: davem, kuba, pabeni, edumazet, netdev
Cc: Ilpo Järvinen, anthony.l.nguyen, sasha.neftin,
Jonathan Cameron, Simon Horman, Naama Meir
From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Use pcie_capability_read_word() for reading LNKSTA and remove the
custom define that matches to PCI_EXP_LNKSTA.
As only single user for cap_offset remains, replace it with a call to
pci_pcie_cap(). Instead of e1000_adapter, make local variable out of
pci_dev because both users are interested in it.
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Tested-by: Naama Meir <naamax.meir@linux.intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
---
drivers/net/ethernet/intel/e1000e/defines.h | 1 -
drivers/net/ethernet/intel/e1000e/mac.c | 11 ++++-------
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000e/defines.h b/drivers/net/ethernet/intel/e1000e/defines.h
index a4d29c9e03a6..23a58cada43a 100644
--- a/drivers/net/ethernet/intel/e1000e/defines.h
+++ b/drivers/net/ethernet/intel/e1000e/defines.h
@@ -678,7 +678,6 @@
/* PCI/PCI-X/PCI-EX Config space */
#define PCI_HEADER_TYPE_REGISTER 0x0E
-#define PCIE_LINK_STATUS 0x12
#define PCI_HEADER_TYPE_MULTIFUNC 0x80
diff --git a/drivers/net/ethernet/intel/e1000e/mac.c b/drivers/net/ethernet/intel/e1000e/mac.c
index 5340cf73778d..8c3d9c5962f2 100644
--- a/drivers/net/ethernet/intel/e1000e/mac.c
+++ b/drivers/net/ethernet/intel/e1000e/mac.c
@@ -15,18 +15,15 @@
**/
s32 e1000e_get_bus_info_pcie(struct e1000_hw *hw)
{
+ struct pci_dev *pdev = hw->adapter->pdev;
struct e1000_mac_info *mac = &hw->mac;
struct e1000_bus_info *bus = &hw->bus;
- struct e1000_adapter *adapter = hw->adapter;
- u16 pcie_link_status, cap_offset;
+ u16 pcie_link_status;
- cap_offset = adapter->pdev->pcie_cap;
- if (!cap_offset) {
+ if (!pci_pcie_cap(pdev)) {
bus->width = e1000_bus_width_unknown;
} else {
- pci_read_config_word(adapter->pdev,
- cap_offset + PCIE_LINK_STATUS,
- &pcie_link_status);
+ pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &pcie_link_status);
bus->width = (enum e1000_bus_width)FIELD_GET(PCI_EXP_LNKSTA_NLW,
pcie_link_status);
}
--
2.41.0
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e)
2023-12-12 20:49 [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) Tony Nguyen
` (2 preceding siblings ...)
2023-12-12 20:49 ` [PATCH net-next 3/3] e1000e: Use pcie_capability_read_word() for reading LNKSTA Tony Nguyen
@ 2023-12-14 6:20 ` patchwork-bot+netdevbpf
3 siblings, 0 replies; 5+ messages in thread
From: patchwork-bot+netdevbpf @ 2023-12-14 6:20 UTC (permalink / raw)
To: Tony Nguyen; +Cc: davem, kuba, pabeni, edumazet, netdev
Hello:
This series was applied to netdev/net-next.git (main)
by Tony Nguyen <anthony.l.nguyen@intel.com>:
On Tue, 12 Dec 2023 12:49:42 -0800 you wrote:
> This series contains updates to igb and e1000e drivers.
>
> Ilpo Järvinen does some cleanups to both drivers: utilizing FIELD_GET()
> helpers and using standard kernel defines over driver created ones.
>
> The following are changes since commit 609c767f2c5505f104ed6bbb3554158131913f86:
> Merge branch 'net-dsa-realtek-two-rtl8366rb-fixes'
> and are available in the git repository at:
> git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue 1GbE
>
> [...]
Here is the summary with links:
- [net-next,1/3] igb: Use FIELD_GET() to extract Link Width
https://git.kernel.org/netdev/net-next/c/4f6011678d38
- [net-next,2/3] e1000e: Use PCI_EXP_LNKSTA_NLW & FIELD_GET() instead of custom defines/code
https://git.kernel.org/netdev/net-next/c/4c39e76846b2
- [net-next,3/3] e1000e: Use pcie_capability_read_word() for reading LNKSTA
https://git.kernel.org/netdev/net-next/c/bf88f7d920da
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2023-12-14 6:20 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-12 20:49 [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 1/3] igb: Use FIELD_GET() to extract Link Width Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 2/3] e1000e: Use PCI_EXP_LNKSTA_NLW & FIELD_GET() instead of custom defines/code Tony Nguyen
2023-12-12 20:49 ` [PATCH net-next 3/3] e1000e: Use pcie_capability_read_word() for reading LNKSTA Tony Nguyen
2023-12-14 6:20 ` [PATCH net-next 0/3][pull request] Intel Wired LAN Driver Updates 2023-12-12 (igb, e1000e) patchwork-bot+netdevbpf
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).