mbox series

[net-next,v3,0/4] mlxbf_gige: add BlueField-3 support

Message ID 20230112202609.21331-1-davthompson@nvidia.com (mailing list archive)
Headers show
Series mlxbf_gige: add BlueField-3 support | expand

Message

David Thompson Jan. 12, 2023, 8:26 p.m. UTC
This patch series 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 SoC 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

v2 -> v3:
  - "mlxbf_gige: add BlueField-3 Serdes configuration" patch has been
    removed from the patch series, as this configuration is no longer
    needed within the Linux driver.
  - "mlxbf_gige: add set_link_ksettings ethtool callback" patch has been
    split into two patches, moving the white space change to its own patch

v1 -> v2:
  - Fixed build failures in "build_32bit" and "build_allmodconfig_warn"
  - Removed use of spinlock in BF3 "adjust_link" callback
  - Added use of ARRAY_SIZE() where appropriate
  - Added "set_link_ksettings" ethtool callback for BF2 and BF3

David Thompson (4):
  mlxbf_gige: add MDIO support for BlueField-3
  mlxbf_gige: support 10M/100M/1G speeds on BlueField-3
  mlxbf_gige: add "set_link_ksettings" ethtool callback
  mlxbf_gige: fix white space in mlxbf_gige_eth_ioctl

 .../ethernet/mellanox/mlxbf_gige/mlxbf_gige.h |  27 +++
 .../mellanox/mlxbf_gige/mlxbf_gige_ethtool.c  |   1 +
 .../mellanox/mlxbf_gige/mlxbf_gige_main.c     | 109 +++++++++--
 .../mellanox/mlxbf_gige/mlxbf_gige_mdio.c     | 172 +++++++++++++-----
 .../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 +++
 7 files changed, 372 insertions(+), 66 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

Comments

patchwork-bot+netdevbpf@kernel.org Jan. 14, 2023, 6:10 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Jakub Kicinski <kuba@kernel.org>:

On Thu, 12 Jan 2023 15:26:05 -0500 you wrote:
> This patch series 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).
> 
> [...]

Here is the summary with links:
  - [net-next,v3,1/4] mlxbf_gige: add MDIO support for BlueField-3
    https://git.kernel.org/netdev/net-next/c/2321d69f92aa
  - [net-next,v3,2/4] mlxbf_gige: support 10M/100M/1G speeds on BlueField-3
    https://git.kernel.org/netdev/net-next/c/20d03d4d9437
  - [net-next,v3,3/4] mlxbf_gige: add "set_link_ksettings" ethtool callback
    https://git.kernel.org/netdev/net-next/c/cedd97737a1f
  - [net-next,v3,4/4] mlxbf_gige: fix white space in mlxbf_gige_eth_ioctl
    https://git.kernel.org/netdev/net-next/c/e1cc8ce46200

You are awesome, thank you!