On 03/02/2025 9:18, David Marchand wrote:
Hello Anatoly,
On Fri, Jan 31, 2025 at 1:59 PM Anatoly Burakov
<anatoly.bura...@intel.com> wrote:
Intel IGC and E1000 drivers are distinct, but they are actually generated
from the same base code. This patchset will merge together all e1000-derived
drivers into one common base, with three different ethdev driver
frontends (EM, IGB, and IGC).
After the merge is done, base code is also updated to latest snapshot.
Adam Ludkiewicz (1):
net/e1000/base: add WoL definitions
Aleksandr Loktionov (1):
net/e1000/base: fix mac addr hash bit_shift
Amir Avivi (1):
net/e1000/base: fix iterator type
Anatoly Burakov (13):
net/e1000/base: add initial support for i225
net/e1000/base: add link bringup support for i225
net/e1000/base: add LED blink support for i225
net/e1000/base: add NVM/EEPROM support for i225
net/e1000/base: add LTR support in i225
net/e1000/base: add eee support for i225
net/e1000/base: add misc definitions for i225
net/e1000: merge igc with e1000
net/e1000: add missing i225 devices
net/e1000: add missing hardware support
net/e1000/base: correct minor formatting issues
net/e1000/base: correct mPHY access logic
net/e1000/base: update readme
Barbara Skobiej (2):
net/e1000/base: fix reset for 82580
net/e1000/base: fix data type in MAC hash
Carolyn Wyborny (1):
net/e1000/base: skip MANC check for 82575
Dima Ruinskiy (4):
net/e1000/base: make e1000_access_phy_wakeup_reg_bm non-static
net/e1000/base: make debug prints more informative
net/e1000/base: hardcode bus parameters for ICH8
net/e1000/base: fix unchecked return
Evgeny Efimov (1):
net/e1000/base: add EEE common API function
Jakub Buchocki (1):
net/e1000/base: fix uninitialized variable usage
Marcin Jurczak (1):
net/e1000/base: remove non-inclusive language
Nir Efrati (6):
net/e1000/base: workaround for packet loss
net/e1000/base: add definition for EXFWSM register
net/e1000/base: use longer ULP exit timeout on more HW
net/e1000/base: remove redundant access to RO register
net/e1000/base: introduce PHY ID retry mechanism
net/e1000/base: add PHY read/write retry mechanism
Pawel Malinowski (1):
net/e1000/base: fix semaphore timeout value
Piotr Kubaj (1):
net/e1000/base: rename NVM version variable
Piotr Pietruszewski (1):
net/e1000/base: improve code flow in ICH8LAN
Przemyslaw Ciesielski (1):
net/e1000/base: fix static analysis warnings
Sasha Neftin (4):
net/e1000/base: add queue select definitions
net/e1000/base: add profile information field
net/e1000/base: add LPI counters
net/e1000/base: improve NVM checksum handling
Vitaly Lifshits (2):
net/e1000: add support for more I219 devices
net/e1000/base: correct disable k1 logic
drivers/net/intel/e1000/base/README | 8 +-
.../net/intel/e1000/base/e1000_80003es2lan.c | 10 +-
drivers/net/intel/e1000/base/e1000_82571.c | 4 +-
drivers/net/intel/e1000/base/e1000_82575.c | 21 +-
drivers/net/intel/e1000/base/e1000_82575.h | 29 -
drivers/net/intel/e1000/base/e1000_api.c | 76 +-
drivers/net/intel/e1000/base/e1000_api.h | 4 +-
drivers/net/intel/e1000/base/e1000_base.c | 3 +-
drivers/net/intel/e1000/base/e1000_defines.h | 259 +-
drivers/net/intel/e1000/base/e1000_hw.h | 86 +-
drivers/net/intel/e1000/base/e1000_i210.c | 14 +-
drivers/net/intel/e1000/base/e1000_i210.h | 4 +
drivers/net/intel/e1000/base/e1000_i225.c | 1384 ++++++
drivers/net/intel/e1000/base/e1000_i225.h | 117 +
drivers/net/intel/e1000/base/e1000_ich8lan.c | 224 +-
drivers/net/intel/e1000/base/e1000_ich8lan.h | 3 +-
drivers/net/intel/e1000/base/e1000_mac.c | 62 +-
drivers/net/intel/e1000/base/e1000_mac.h | 2 +-
drivers/net/intel/e1000/base/e1000_nvm.c | 7 +-
drivers/net/intel/e1000/base/e1000_osdep.h | 33 +-
drivers/net/intel/e1000/base/e1000_phy.c | 447 +-
drivers/net/intel/e1000/base/e1000_phy.h | 21 +
drivers/net/intel/e1000/base/e1000_regs.h | 48 +-
drivers/net/intel/e1000/base/e1000_vf.c | 14 +-
drivers/net/intel/e1000/base/meson.build | 1 +
drivers/net/intel/e1000/em_ethdev.c | 36 +-
drivers/net/intel/e1000/igb_ethdev.c | 1 +
drivers/net/intel/{igc => e1000}/igc_ethdev.c | 914 ++--
drivers/net/intel/{igc => e1000}/igc_ethdev.h | 32 +-
drivers/net/intel/{igc => e1000}/igc_filter.c | 84 +-
drivers/net/intel/{igc => e1000}/igc_filter.h | 0
drivers/net/intel/{igc => e1000}/igc_flow.c | 2 +-
drivers/net/intel/{igc => e1000}/igc_flow.h | 0
drivers/net/intel/{igc => e1000}/igc_logs.c | 2 +-
drivers/net/intel/{igc => e1000}/igc_txrx.c | 376 +-
drivers/net/intel/{igc => e1000}/igc_txrx.h | 6 +-
drivers/net/intel/e1000/meson.build | 11 +
drivers/net/intel/igc/base/README | 29 -
drivers/net/intel/igc/base/igc_82571.h | 36 -
drivers/net/intel/igc/base/igc_82575.h | 351 --
drivers/net/intel/igc/base/igc_api.c | 1853 -------
drivers/net/intel/igc/base/igc_api.h | 111 -
drivers/net/intel/igc/base/igc_base.c | 190 -
drivers/net/intel/igc/base/igc_base.h | 127 -
drivers/net/intel/igc/base/igc_defines.h | 1670 -------
drivers/net/intel/igc/base/igc_hw.h | 1059 ----
drivers/net/intel/igc/base/igc_i225.c | 1372 -----
drivers/net/intel/igc/base/igc_i225.h | 110 -
drivers/net/intel/igc/base/igc_ich8lan.h | 296 --
drivers/net/intel/igc/base/igc_mac.c | 2100 --------
drivers/net/intel/igc/base/igc_mac.h | 64 -
drivers/net/intel/igc/base/igc_manage.c | 547 --
drivers/net/intel/igc/base/igc_manage.h | 65 -
drivers/net/intel/igc/base/igc_nvm.c | 1324 -----
drivers/net/intel/igc/base/igc_nvm.h | 69 -
drivers/net/intel/igc/base/igc_osdep.c | 64 -
drivers/net/intel/igc/base/igc_osdep.h | 163 -
drivers/net/intel/igc/base/igc_phy.c | 4420 -----------------
drivers/net/intel/igc/base/igc_phy.h | 337 --
drivers/net/intel/igc/base/igc_regs.h | 732 ---
drivers/net/intel/igc/base/meson.build | 19 -
drivers/net/intel/igc/igc_logs.h | 43 -
drivers/net/intel/igc/meson.build | 21 -
drivers/net/meson.build | 1 -
64 files changed, 3300 insertions(+), 18218 deletions(-)
create mode 100644 drivers/net/intel/e1000/base/e1000_i225.c
create mode 100644 drivers/net/intel/e1000/base/e1000_i225.h
rename drivers/net/intel/{igc => e1000}/igc_ethdev.c (73%)
rename drivers/net/intel/{igc => e1000}/igc_ethdev.h (91%)
rename drivers/net/intel/{igc => e1000}/igc_filter.c (81%)
rename drivers/net/intel/{igc => e1000}/igc_filter.h (100%)
rename drivers/net/intel/{igc => e1000}/igc_flow.c (99%)
rename drivers/net/intel/{igc => e1000}/igc_flow.h (100%)
rename drivers/net/intel/{igc => e1000}/igc_logs.c (90%)
rename drivers/net/intel/{igc => e1000}/igc_txrx.c (87%)
rename drivers/net/intel/{igc => e1000}/igc_txrx.h (97%)
delete mode 100644 drivers/net/intel/igc/base/README
delete mode 100644 drivers/net/intel/igc/base/igc_82571.h
delete mode 100644 drivers/net/intel/igc/base/igc_82575.h
delete mode 100644 drivers/net/intel/igc/base/igc_api.c
delete mode 100644 drivers/net/intel/igc/base/igc_api.h
delete mode 100644 drivers/net/intel/igc/base/igc_base.c
delete mode 100644 drivers/net/intel/igc/base/igc_base.h
delete mode 100644 drivers/net/intel/igc/base/igc_defines.h
delete mode 100644 drivers/net/intel/igc/base/igc_hw.h
delete mode 100644 drivers/net/intel/igc/base/igc_i225.c
delete mode 100644 drivers/net/intel/igc/base/igc_i225.h
delete mode 100644 drivers/net/intel/igc/base/igc_ich8lan.h
delete mode 100644 drivers/net/intel/igc/base/igc_mac.c
delete mode 100644 drivers/net/intel/igc/base/igc_mac.h
delete mode 100644 drivers/net/intel/igc/base/igc_manage.c
delete mode 100644 drivers/net/intel/igc/base/igc_manage.h
delete mode 100644 drivers/net/intel/igc/base/igc_nvm.c
delete mode 100644 drivers/net/intel/igc/base/igc_nvm.h
delete mode 100644 drivers/net/intel/igc/base/igc_osdep.c
delete mode 100644 drivers/net/intel/igc/base/igc_osdep.h
delete mode 100644 drivers/net/intel/igc/base/igc_phy.c
delete mode 100644 drivers/net/intel/igc/base/igc_phy.h
delete mode 100644 drivers/net/intel/igc/base/igc_regs.h
delete mode 100644 drivers/net/intel/igc/base/meson.build
delete mode 100644 drivers/net/intel/igc/igc_logs.h
delete mode 100644 drivers/net/intel/igc/meson.build
Consolidation is a good thing, there are two small issues with this
series though:
- the ABI check (as it tracks all .so) reports that librte_net_igc.so
disappeared: this will need some waiving, like Bruce did in his
series:
https://patchwork.dpdk.org/project/dpdk/patch/20250130151222.944561-2-bruce.richard...@intel.com/
- with this merge, "users" can't select net/igc compilation anymore
and need to be aware that igc support now requires enabling net/e1000,
please update the release notes to make this visible,
There is also a strange build failure for mingw (see github test report).
MinGW issues were fixed, abigail changes and release notes will come in
(now) V3.
--
Thanks,
Anatoly