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

Reply via email to