[SRU][J:linux-bluefield][Pull Request] mlxbf_gige: add BlueField-3 support
David Thompson
davthompson at nvidia.com
Mon Oct 31 16:13:28 UTC 2022
This pull request (4 commits) adds driver logic to the "mlxbf_gige"
Ethernet driver in order to support the third generation
BlueField SoC (BF3). The existing "mlxbf_gige" driver is
extended with BF3-specific logic and run-time decisions
are made by the driver depending on the SoC generation
(BF2 vs. BF3).
The BF3 SoC is similar to BF2 SoC with regards to transmit
and receive packet processing:
* Driver rings usage; consumer & producer indices
* Single queue for receive and transmit
* DMA operation
The differences between BF3 and BF2 are:
* In addition to supporting 1Gbps interface speed, the BF3 SoC
adds support for 10Mbps and 100Mbps interface speeds
* BF3 requires SerDes config logic to support its SGMII interface
* BF3 adds support for "ethtool -s" for interface speed config
* BF3 utilizes different MDIO logic for accessing the
board-level PHY device
Testing
- Successful build of kernel for ARM64, ARM32, X86_64
- Tested ARM64 build on FastModels, Palladium, SoC
BugLink: https://bugs.launchpad.net/bugs/1995148
The pull request page can be found at:
https://code.launchpad.net/~dthompso-98/ubuntu/+source/linux-bluefield/+git/jammy/+merge/432409
Git repo can be found at:
git://git.launchpad.net/~dthompso-98/ubuntu/+source/linux-bluefield/+git/jammy bf3_gige
for you to fetch starting from commit 841f32e4bb7d5e8a1ee3722405f4b7a571b939cb
"UBUNTU: Ubuntu-bluefield-5.15.0-1009.11"
Signed-off-by: David Thompson <davthompson at nvidia.com>
Signed-off-by: Asmaa Mnebhi <asmaa at nvidia.com>
David Thompson (4):
UBUNTU: SAUCE: mlxbf_gige: add MDIO support for BlueField-3
UBUNTU: SAUCE: mlxbf_gige: support 10M/100M/1G speeds on BlueField-3
UBUNTU: SAUCE: mlxbf_gige: add BlueField-3 Serdes configuration
UBUNTU: SAUCE: mlxbf_gige: add BlueField-3 ethtool_ops
.../net/ethernet/mellanox/mlxbf_gige/Makefile | 3 +-
.../ethernet/mellanox/mlxbf_gige/mlxbf_gige.h | 34 +-
.../mellanox/mlxbf_gige/mlxbf_gige_ethtool.c | 17 +-
.../mellanox/mlxbf_gige/mlxbf_gige_main.c | 193 ++-
.../mellanox/mlxbf_gige/mlxbf_gige_mdio.c | 185 +--
.../mellanox/mlxbf_gige/mlxbf_gige_mdio_bf2.h | 53 +
.../mellanox/mlxbf_gige/mlxbf_gige_mdio_bf3.h | 54 +
.../mellanox/mlxbf_gige/mlxbf_gige_regs.h | 22 +
.../mellanox/mlxbf_gige/mlxbf_gige_uphy.c | 1191 +++++++++++++++++
.../mellanox/mlxbf_gige/mlxbf_gige_uphy.h | 398 ++++++
10 files changed, 2029 insertions(+), 121 deletions(-)
create mode 100644 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio_bf2.h
create mode 100644 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio_bf3.h
create mode 100644 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_uphy.c
create mode 100644 drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_uphy.h
--
2.30.1
More information about the kernel-team
mailing list