From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 93B1A4660F; Wed, 23 Apr 2025 21:19:43 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CA3B6402AF; Wed, 23 Apr 2025 21:19:42 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 1E03F40156 for ; Wed, 23 Apr 2025 21:19:42 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 57C4D41 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1745435981; bh=nsvzilO3Z59GXpbNSId6VZMcgX3cdek+c6Kwe3Lb/lw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=TCvy/GjI8nvcX+jIQZ9ofqJaU0N+DiDW5/l3cRRsgpbWvzRiwhix1k/M0j8nnN2cK xELf+MJrAnhBjCcLcxM++nt9K7lj5UIy2f4alwSTtBXLrDNlJ8MqWKFBEMi6eDpu/a poeLEXyzGcc22U1WQJPyIwQV8Odjc75M5JEozEuI= Received: from [192.168.1.41] (unknown [188.242.176.176]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 57C4D41; Wed, 23 Apr 2025 22:19:41 +0300 (MSK) Message-ID: <943a614a-164f-4013-93c6-6bc3f75de3de@oktetlabs.ru> Date: Wed, 23 Apr 2025 22:19:41 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 00/45] Support AMD Solarflare X45xx adaptors To: Ivan Malov , dev@dpdk.org Cc: Stephen Hemminger , Andy Moreton , Pieter Jansen Van Vuuren , Viacheslav Galaktionov References: <20250416140016.36127-1-ivan.malov@arknetworks.am> <20250423160002.35706-1-ivan.malov@arknetworks.am> Content-Language: en-US From: Andrew Rybchenko In-Reply-To: <20250423160002.35706-1-ivan.malov@arknetworks.am> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 4/23/25 18:59, Ivan Malov wrote: > New X4522 (dual port SFP56) and X4542 (dual port QSFP56) adaptors are > Medford4 (X4) chips that are based on EF10 architecture. An X4 NIC > supports multiple network engine types. This series provides support > only for the Medford2-alike, 'full-feature' (FF) network engine. This > shall not be confused with the concept of 'datapath FW variants': the > FF network engine supports both 'full-feature' and 'ultra-low-latency' > datapath FW variants, with corresponding Medford2-alike feature sets. > > The first part of the series provides general support for the adaptors, > whilst the second one adds support for the new management controller > interface for configuration of network port features (netport MCDI). > > For now, only support for physical functions (PFs) is concerned. There > is a small number of TODO and FIXME markings in the code. Those are > normal at this development stage and will be removed by future patches > when VF support has fleshed out. > > v2: > - squashed respective parts of commit [1] into commits [2] and [3] > - dropped irrelevant TODO and FIXME markings from the patches > - applied review notes and tested build in FreeBSD14-64 > > [1] https://mails.dpdk.org/archives/dev/2025-April/317109.html > [2] https://mails.dpdk.org/archives/dev/2025-April/317096.html > [3] https://mails.dpdk.org/archives/dev/2025-April/317098.html > > > Andy Moreton (2): > net/sfc: add Medford4 with only full feature datapath engine > common/sfc_efx/base: add port mode for 8 port hardware > > Denis Pryazhennikov (15): > common/sfc_efx/base: add Medford4 PCI IDs to common code > common/sfc_efx/base: add efsys option for Medford4 > common/sfc_efx/base: add Medford4 support to NIC module > common/sfc_efx/base: add Medford4 support to EV module > common/sfc_efx/base: add Medford4 support to FILTER module > common/sfc_efx/base: add Medford4 support to INTR module > common/sfc_efx/base: add Medford4 support to MAC module > common/sfc_efx/base: add Medford4 support to PHY module > common/sfc_efx/base: add Medford4 support to TUNNEL module > common/sfc_efx/base: add Medford4 support to MCDI module > common/sfc_efx/base: add Medford4 support to Rx module > common/sfc_efx/base: add Medford4 support to Tx module > drivers: enable support for AMD Solarflare X4 adapter family > common/sfc_efx/base: add new X4 port mode > common/sfc_efx/base: extend list of supported X4 port modes > > Ivan Malov (28): > common/sfc_efx/base: update MCDI headers > common/sfc_efx/base: provide a stub for basic netport attach > common/sfc_efx/base: provide defaults on netport attach path > common/sfc_efx/base: obtain assigned netport handle from NIC > common/sfc_efx/base: allow for const in MCDI struct accessor > common/sfc_efx/base: get netport fixed capabilities on probe > common/sfc_efx/base: decode netport link state on probe path > common/sfc_efx/base: fill in loopback modes on netport probe > common/sfc_efx/base: introduce Medford4 stub for PHY methods > common/sfc_efx/base: refactor EF10 link mode decoding helper > common/sfc_efx/base: provide PHY link get method on Medford4 > common/sfc_efx/base: implement PHY link control for Medford4 > common/sfc_efx/base: introduce Medford4 stub for MAC methods > common/sfc_efx/base: add MAC reconfigure method for Medford4 > common/sfc_efx/base: fill in software LUT for MAC statistics > common/sfc_efx/base: fill in MAC statistics mask on Medford4 > common/sfc_efx/base: support MAC statistics on Medford4 NICs > common/sfc_efx/base: implement MAC PDU controls for Medford4 > common/sfc_efx/base: correct MAC PDU calculation on Medford4 > net/sfc: make use of generic EFX MAC PDU calculation helpers > common/sfc_efx/base: ignore legacy link events on new boards > common/sfc_efx/base: add link event processing on new boards > net/sfc: query link status on link change events on new NICs > common/sfc_efx/base: subscribe to netport link change events > net/sfc: offer support for 200G link ability on new adaptors > common/sfc_efx/base: support controls for netport lane count > net/sfc: add support for control of physical port lane count > doc: advertise support for AMD Solarflare X45xx adapters > > .mailmap | 3 +- > doc/guides/nics/sfc_efx.rst | 9 +- > doc/guides/rel_notes/release_25_07.rst | 4 + > drivers/common/sfc_efx/base/ef10_ev.c | 39 + > drivers/common/sfc_efx/base/ef10_impl.h | 19 + > drivers/common/sfc_efx/base/ef10_nic.c | 93 +- > drivers/common/sfc_efx/base/ef10_phy.c | 43 +- > drivers/common/sfc_efx/base/ef10_tlv_layout.h | 9 +- > drivers/common/sfc_efx/base/efx.h | 98 +- > drivers/common/sfc_efx/base/efx_check.h | 25 +- > drivers/common/sfc_efx/base/efx_ev.c | 6 + > drivers/common/sfc_efx/base/efx_filter.c | 6 + > drivers/common/sfc_efx/base/efx_impl.h | 115 +- > drivers/common/sfc_efx/base/efx_intr.c | 6 + > drivers/common/sfc_efx/base/efx_mac.c | 56 +- > drivers/common/sfc_efx/base/efx_mcdi.c | 18 +- > drivers/common/sfc_efx/base/efx_mcdi.h | 2 +- > drivers/common/sfc_efx/base/efx_nic.c | 60 + > drivers/common/sfc_efx/base/efx_np.c | 1591 +++++ > drivers/common/sfc_efx/base/efx_phy.c | 88 +- > drivers/common/sfc_efx/base/efx_port.c | 1 + > drivers/common/sfc_efx/base/efx_regs_mcdi.h | 5868 ++++++++++++++++- > drivers/common/sfc_efx/base/efx_rx.c | 6 + > drivers/common/sfc_efx/base/efx_tunnel.c | 18 +- > drivers/common/sfc_efx/base/efx_tx.c | 33 + > drivers/common/sfc_efx/base/medford4_impl.h | 105 + > drivers/common/sfc_efx/base/medford4_mac.c | 286 + > drivers/common/sfc_efx/base/medford4_phy.c | 156 + > drivers/common/sfc_efx/base/meson.build | 3 + > drivers/common/sfc_efx/efsys.h | 2 + > drivers/common/sfc_efx/sfc_base_symbols.c | 2 + > drivers/net/sfc/sfc.c | 5 +- > drivers/net/sfc/sfc.h | 4 + > drivers/net/sfc/sfc_dp_tx.h | 3 + > drivers/net/sfc/sfc_ef10_tx.c | 13 +- > drivers/net/sfc/sfc_ethdev.c | 186 +- > drivers/net/sfc/sfc_ev.c | 51 +- > drivers/net/sfc/sfc_port.c | 27 +- > drivers/net/sfc/sfc_repr.c | 7 +- > drivers/net/sfc/sfc_repr.h | 1 + > drivers/net/sfc/sfc_tx.c | 2 + > 41 files changed, 8944 insertions(+), 125 deletions(-) > create mode 100644 drivers/common/sfc_efx/base/efx_np.c > create mode 100644 drivers/common/sfc_efx/base/medford4_impl.h > create mode 100644 drivers/common/sfc_efx/base/medford4_mac.c > create mode 100644 drivers/common/sfc_efx/base/medford4_phy.c > With few nits fixed Series-acked-by: Andrew Rybchenko Frankly speaking I'd squash trivial patches which add M4 support to various modules inheriting ef10 ops. Also it is always better to update documentation in patches with corresponding code (when support is really added and starts to work).