[Pull Request][SRU][Focal] Enable Ethernet controller : Aquantia Corp. Device [1d6a:14c0]

AceLan Kao acelan.kao at canonical.com
Wed Jul 6 12:08:23 UTC 2022


From: "Chia-Lin Kao (AceLan)" <acelan.kao at canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1980371

[Impact]
Need to enable Aquantia NIC [1d6a:14c0] for an IoT project.

[Fix]
This series of patch in v5.8 enable the NIC
https://patchwork.ozlabs.org/project/netdev/cover/20200424072729.953-1-irusskikh@marvell.com/

[Test]
We don't have 10GbE equipment to measure the speed, but it reaches around
1Gb/s in my test environment.

$ iperf3 -c 10.102.88.47
Connecting to host 10.102.88.47, port 5201
[ 5] local 10.102.80.195 port 53346 connected to 10.102.88.47 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 115 MBytes 966 Mbits/sec 39 293 KBytes
[ 5] 1.00-2.00 sec 111 MBytes 933 Mbits/sec 26 291 KBytes
[ 5] 2.00-3.00 sec 111 MBytes 933 Mbits/sec 26 291 KBytes
[ 5] 3.00-4.00 sec 112 MBytes 944 Mbits/sec 26 291 KBytes
[ 5] 4.00-5.00 sec 111 MBytes 933 Mbits/sec 26 288 KBytes
[ 5] 5.00-6.00 sec 112 MBytes 944 Mbits/sec 26 291 KBytes
[ 5] 6.00-7.00 sec 111 MBytes 933 Mbits/sec 26 293 KBytes
[ 5] 7.00-8.00 sec 111 MBytes 933 Mbits/sec 26 293 KBytes
[ 5] 8.00-9.00 sec 112 MBytes 944 Mbits/sec 26 290 KBytes
[ 5] 9.00-10.00 sec 111 MBytes 933 Mbits/sec 26 291 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 1.09 GBytes 940 Mbits/sec 273 sender
[ 5] 0.00-10.00 sec 1.09 GBytes 937 Mbits/sec receiver

[Where problems could occur]
The series of patches only affects atlantic NIC, added some new files for
new devices, but hard to evaluate other the impacts on other series of
atlantic NICs.
Checked and applied the necessary "Fixes" and also done suspend/resume
test make sure the driver and the system is stable with those commits.

The following changes since commit ac13f0e563d69c185c7fa9cbd8302a47f2ca07dd:

  UBUNTU: Ubuntu-5.4.0-122.138 (2022-06-22 15:00:53 +0200)

are available in the Git repository at:

  git://git.launchpad.net/~acelankao/+git/ubuntu-focal atlantic_a2

for you to fetch changes up to 22de164c6f816e126a1dc31b7c1bc1eb3cfac8ad:

  atlantic: Increase delay for fw transactions (2022-06-30 23:00:17 +0800)

----------------------------------------------------------------
Dmitry Bezrukov (1):
      net: aquantia: add support for Phy access

Dmitry Bogdanov (6):
      net: atlantic: A2 driver-firmware interface
      net: atlantic: minimal A2 HW bindings required for fw_ops
      net: atlantic: minimal A2 fw_ops
      net: atlantic: HW bindings for basic A2 init/deinit hw_ops
      net: atlantic: common functions needed for basic A2 init/deinit hw_ops
      atlantic: Increase delay for fw transactions

Egor Pomozov (3):
      net: aquantia: PTP skeleton declarations and callbacks
      net: aquantia: add basic ptp_clock callbacks
      net: aquantia: add PTP rings infrastructure

Igor Russkikh (8):
      net: atlantic: update company name in the driver description
      net: atlantic: add A2 device IDs
      net: atlantic: add defines for 10M and EEE 100M link mode
      net: atlantic: A2 hw_ops skeleton
      net: atlantic: HW bindings for A2 RFP
      net: atlantic: add A2 RPF hw_ops
      net: atlantic: basic A2 init/deinit hw_ops
      net: atlantic: A2 ingress / egress hw configuration

Mark Starovoytov (2):
      net: atlantic: add hw_soft_reset, hw_prepare to hw_ops
      net: atlantic: move IS_CHIP_FEATURE to aq_hw.h

 drivers/net/ethernet/aquantia/atlantic/Makefile    |   8 +-
 drivers/net/ethernet/aquantia/atlantic/aq_cfg.h    |   4 +-
 drivers/net/ethernet/aquantia/atlantic/aq_common.h |  33 +-
 .../net/ethernet/aquantia/atlantic/aq_ethtool.c    |   3 +
 drivers/net/ethernet/aquantia/atlantic/aq_hw.h     |  46 +-
 drivers/net/ethernet/aquantia/atlantic/aq_nic.c    |  64 +-
 drivers/net/ethernet/aquantia/atlantic/aq_nic.h    |   5 +-
 .../net/ethernet/aquantia/atlantic/aq_pci_func.c   |  39 +-
 drivers/net/ethernet/aquantia/atlantic/aq_phy.c    | 147 +++++
 drivers/net/ethernet/aquantia/atlantic/aq_phy.h    |  32 +
 drivers/net/ethernet/aquantia/atlantic/aq_ptp.c    | 444 +++++++++++++
 drivers/net/ethernet/aquantia/atlantic/aq_ptp.h    |  30 +
 drivers/net/ethernet/aquantia/atlantic/aq_ring.c   |  26 +-
 drivers/net/ethernet/aquantia/atlantic/aq_ring.h   |   6 +-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_a0.c  |   4 +-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.c  | 239 +++++--
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_b0.h  |  37 ++
 .../aquantia/atlantic/hw_atl/hw_atl_b0_internal.h  |   9 +-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.c | 108 +++-
 .../ethernet/aquantia/atlantic/hw_atl/hw_atl_llh.h |  57 +-
 .../aquantia/atlantic/hw_atl/hw_atl_llh_internal.h | 133 +++-
 .../aquantia/atlantic/hw_atl/hw_atl_utils.c        |  45 +-
 .../aquantia/atlantic/hw_atl/hw_atl_utils.h        | 136 +++-
 .../aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c   |  97 ++-
 .../ethernet/aquantia/atlantic/hw_atl2/hw_atl2.c   | 684 +++++++++++++++++++++
 .../ethernet/aquantia/atlantic/hw_atl2/hw_atl2.h   |  14 +
 .../aquantia/atlantic/hw_atl2/hw_atl2_internal.h   | 137 +++++
 .../aquantia/atlantic/hw_atl2/hw_atl2_llh.c        | 208 +++++++
 .../aquantia/atlantic/hw_atl2/hw_atl2_llh.h        |  91 +++
 .../atlantic/hw_atl2/hw_atl2_llh_internal.h        | 328 ++++++++++
 .../aquantia/atlantic/hw_atl2/hw_atl2_utils.c      | 139 +++++
 .../aquantia/atlantic/hw_atl2/hw_atl2_utils.h      | 606 ++++++++++++++++++
 .../aquantia/atlantic/hw_atl2/hw_atl2_utils_fw.c   | 344 +++++++++++
 33 files changed, 4151 insertions(+), 152 deletions(-)
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_phy.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_phy.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ptp.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/aq_ptp.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_internal.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_llh.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_llh.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_llh_internal.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils.c
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils.h
 create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl2/hw_atl2_utils_fw.c



More information about the kernel-team mailing list