RE: [PATCH 0/2] crypto/mlx5: optimize AES-GCM IPsec operation

2024-06-12 Thread Suanming Mou
Hi Akhil, Sorry, I just noticed seems you were not added to the list by maintainer script. Can you please take a look at the series when available. Thanks, Suanming > -Original Message- > From: Suanming Mou > Sent: Thursday, May 30, 2024 3:24 PM > Cc: dev@dpdk.org > Subject: [PATCH 0/2]

[DPDK/ethdev Bug 1458] i40e based NIC locked due to packet with invalid length

2024-06-12 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1458 Bug ID: 1458 Summary: i40e based NIC locked due to packet with invalid length Product: DPDK Version: 21.11 Hardware: All OS: All Status: UNCONFIRMED

RE: [PATCH v3] net/mana: fix uninitialized scalar variable

2024-06-12 Thread Long Li
> Subject: [PATCH v3] net/mana: fix uninitialized scalar variable > > [You don't often get email from mahmoudmatook...@gmail.com. Learn why > this is important at https://aka.ms/LearnAboutSenderIdentification ] > > From: mmaatuq > > in case we didn't enter or finished the loop without getting i

Re: [PATCH v2] ethdev: support duplicating only item mask

2024-06-12 Thread Ferruh Yigit
On 6/12/2024 5:18 PM, Dariusz Sosnowski wrote: > Extend rte_flow_conv() to support working only on item's mask. > This allows drivers to get only the mask's size when working on pattern > templates and duplicate items having only the mask in a generic way. > > Signed-off-by: Dariusz Sosnowski > A

Re: [PATCH v2 4/4] testpmd: add support for displaying lanes capability

2024-06-12 Thread Ferruh Yigit
On 6/12/2024 6:53 PM, Damodharam Ammepalli wrote: > On Tue, Jun 11, 2024 at 4:39 PM Ferruh Yigit wrote: >> >> On 6/2/2024 3:45 AM, Damodharam Ammepalli wrote: >>> Add a new api support that displays the speeds and bitmap of >>> supported lanes configuration by the ethernet controller. >>> This pat

[PATCH v1] Initial implementation queue start stop suite

2024-06-12 Thread Dean Marx
diff --git a/dts/tests/TestSuite_queue_start_stop.py b/dts/tests/TestSuite_queue_start_stop.py new file mode 100644 index 00..8c60687d1b --- /dev/null +++ b/dts/tests/TestSuite_queue_start_stop.py @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2024 University of

[DPDK/DTS Bug 1457] Port over queue start/stop suite to new DTS

2024-06-12 Thread bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1457 Bug ID: 1457 Summary: Port over queue start/stop suite to new DTS Product: DPDK Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal

RE: [PATCH v2 000/148] Update net/ice base driver to latest upstream snapshot

2024-06-12 Thread Burakov, Anatoly
> >> This is a patchset loosely based on internal development tree which > >> tracked ICE driver development over a period of time since last > >> snapshot update. > >> > >> RFC -> v1: > >> - From one, many > >> > > Apologies, this was meant to be a v1 but it was sent as a v2 due to my > > patch su

[PATCH v3] net/mana: fix uninitialized scalar variable

2024-06-12 Thread Mahmoud Maatuq
From: mmaatuq in case we didn't enter or finished the loop without getting ifname we ret shouldn't have an arbitrary value. Coverity issue: 424690 Fixes: 84497839d9ca ("net/mana: support MTU update") Cc: lon...@microsoft.com Signed-off-by: mmaatuq --- v3: * add Fixes and Cc tags v2: * Fixed t

Re: [PATCH v2 4/4] testpmd: add support for displaying lanes capability

2024-06-12 Thread Damodharam Ammepalli
On Tue, Jun 11, 2024 at 4:39 PM Ferruh Yigit wrote: > > On 6/2/2024 3:45 AM, Damodharam Ammepalli wrote: > > Add a new api support that displays the speeds and bitmap of > > supported lanes configuration by the ethernet controller. > > This patch adds support in the testpmd cli chain. > > > > Sign

Re: [PATCH v2 0/4] Add support for link speed lanes

2024-06-12 Thread Damodharam Ammepalli
Hi Ferruh, Thanks for the review. Will implement the review comments. Have a question in patch 4/4, you can directly index into that patchset for my question. Thanks Damo On Tue, Jun 11, 2024 at 4:39 PM Ferruh Yigit wrote: > > On 6/2/2024 3:45 AM, Damodharam Ammepalli wrote: > > NIC adapters can

Re: [PATCH] app/testpmd: fix parsing for connection tracking item

2024-06-12 Thread Ferruh Yigit
On 6/2/2024 11:23 AM, Maayan Kashani wrote: > In command line translation there were missing fields for > connection tracking item, as a result this item was not parsed > and was missing from the items list received from test-pmd. > > Fixes: 4d07cbefe3ba ("app/testpmd: add commands for conntrack")

[PATCH v2 8/8] net/mlx5: add async flow operation validation

2024-06-12 Thread Dariusz Sosnowski
This patch adds validation to implementations of the following API functions: - rte_flow_async_create() - rte_flow_async_create_by_index() - rte_flow_async_update() - rte_flow_async_destroy() These validations are enabled if and only if RTE_LIBRTE_MLX5_DEBUG macro is defined. Signed-off-by: Dari

[PATCH v2 6/8] net/mlx5: store modify field action

2024-06-12 Thread Dariusz Sosnowski
When template table is created, list of unmasked actions is recorded for future flow rule insertions. This patch expands entries for RTE_FLOW_ACTION_TYPE_MODIFY_FIELD actions in this list with a copy of the action from the template. This will be used in follow up commits which add flow rule operati

[PATCH v2 4/8] net/mlx5: store original actions in template

2024-06-12 Thread Dariusz Sosnowski
When actions template is created in mlx5 PMD, some actions will be replaced with another or some actions will be added to implement required template semantics on NVIDIA NICs. For example: - RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID actions is replaced with modify field action. - Modify field action

[PATCH v2 7/8] common/mlx5: add debug mode indicator

2024-06-12 Thread Dariusz Sosnowski
Add mlx5_fp_debug_enabled() function which: - returns true if RTE_LIBRTE_MLX5_DEBUG is defined, - returns false otherwise. This allows for conditional execution of code meant to be executed only when mlx5 debug mode is enabled, without adding conditional compilation guards inside source code. Whe

[PATCH v2 2/8] net/mlx5: extract queue index validation

2024-06-12 Thread Dariusz Sosnowski
Extract validation of queue index out of validation of RTE_FLOW_ACTION_TYPE_QUEUE action to allow reuse in template API flow rule creation implementation. Signed-off-by: Dariusz Sosnowski Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow.c | 59 +--- drivers/net/m

[PATCH v2 5/8] net/mlx5: store expected type on indirect action

2024-06-12 Thread Dariusz Sosnowski
When template table is created, list of unmasked actions is recorded for future flow rule insertions. This patch expands entries for RTE_FLOW_ACTION_TYPE_INDIRECT actions in this list with information about expected indirect action type. This will be used in follow up commits which add flow rule op

[PATCH v2 3/8] net/mlx5: store pattern template items

2024-06-12 Thread Dariusz Sosnowski
Store items which define the pattern template on creation. This allows validation of items, provided by the user during flow rule creation, against pattern template. Signed-off-by: Dariusz Sosnowski Acked-by: Ori Kam --- drivers/net/mlx5/mlx5_flow.h| 2 ++ drivers/net/mlx5/mlx5_flow_hw.c |

[PATCH v2 1/8] net/mlx5: extract target port validation

2024-06-12 Thread Dariusz Sosnowski
Extract code responsible for validation if port specified in configuration of RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT action is correct. Allow for reuse of this logic for both RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT actions and RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT items. Signed-off-by: Dariusz Sosnowsk

[PATCH v2 0/8] net/mlx5: flow fast path validation

2024-06-12 Thread Dariusz Sosnowski
This patchset adds validations for flow items and actions supplied by the user to fast path async flow API functions implemented in mlx5 PMD. - Patches 1-7: Prepares mlx5 PMD for adding fast path validations. Specifically: - Required functionality for validating queue indexes and target r

[PATCH v2] ethdev: support duplicating only item mask

2024-06-12 Thread Dariusz Sosnowski
Extend rte_flow_conv() to support working only on item's mask. This allows drivers to get only the mask's size when working on pattern templates and duplicate items having only the mask in a generic way. Signed-off-by: Dariusz Sosnowski Acked-by: Ori Kam --- v2: - Split series 32095 into separat

Re: [PATCH v2 000/148] Update net/ice base driver to latest upstream snapshot

2024-06-12 Thread Ferruh Yigit
On 6/12/2024 4:08 PM, Burakov, Anatoly wrote: > On 6/12/2024 4:59 PM, Anatoly Burakov wrote: >> This is a patchset loosely based on internal development tree which >> tracked ICE driver development over a period of time since last >> snapshot update. >> >> RFC -> v1: >> - From one, many >> > Apolog

Re: [PATCH v2 000/148] Update net/ice base driver to latest upstream snapshot

2024-06-12 Thread Burakov, Anatoly
On 6/12/2024 4:59 PM, Anatoly Burakov wrote: This is a patchset loosely based on internal development tree which tracked ICE driver development over a period of time since last snapshot update. RFC -> v1: - From one, many Apologies, this was meant to be a v1 but it was sent as a v2 due to my p

[PATCH v2 148/148] net/ice: add new device ids

2024-06-12 Thread Anatoly Burakov
From: Bruce Richardson Add new device ids for latest gen NICs. Signed-off-by: Bruce Richardson --- drivers/net/ice/ice_ethdev.c | 9 + 1 file changed, 9 insertions(+) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 19f6a3c148..50b874c71f 100644 --- a/dri

[PATCH v2 147/148] net/ice: update rss lut value for RSS init

2024-06-12 Thread Anatoly Burakov
From: istokes Latest shared code update changes the requirements for size definition of rss_lut which now varies by type. Previously it was limited to 512 even if the capabalities were greater. With the lastest shared code update for PF type this will be 2048 and will fail to initialise if less

[PATCH v2 146/148] net/ice/base: misc header file clean up

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add last remaining changes that include defines, structs etc to allign with shared code snapshot. Add a new function called ice_fls() to the shared code. The unsigned int ice_fls(u64 n) function finds the Most Significant Bit (MSB) and returns the 1-based index of the bit that

[PATCH v2 145/148] net/ice/base: introduce new functions in ice_sched_node

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add new functions to configure the hardware with new parameters. Signed-off-by: Michal Wilczynski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_sched.c | 52 drivers/net/ice/base/ice_sched.h | 9 ++ 2 files changed, 61 insertions

[PATCH v2 144/148] net/ice/base: rename SMA register macros to match Linux upstream

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes The macros used to define the bits for controlling the SMA are different to what we published upstream. We don't have a strong justification to change the upstream names, so fix the out-of-tree shared code to use the names as published upstream. Signed-off-by: Jacob Keller Sign

[PATCH v2 143/148] net/ice/base: change a method to get pca9575 handle

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes More universal method for getting pca9575 handle is introduced. The first step is to look for CLK_MUX handle. Having that it is possible to find CLK_MUX GPIO pin. Provided data let check what is driving the pin - the expectation is that pca9575 node part number is returned. Sign

[PATCH v2 142/148] net/ice/base: rework multiple functions

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Multpiple functions that have been implemented, rework and removed are contained in this patch. Specifaclly the patch combines the following commits: - Implement TX interrupt enablement functions. Introduce functions enabling/disabling TX TS interrupts for the E822 and ETH56

[PATCH v2 141/148] net/ice/base: cleanup timestamp registers correctly

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes E822 PHY TS registers should not be written and the only way to cleanup them is to reset QUAD memory. To ensure that the status bit for the timestamp index is cleared, ensure that ice_clear_phy_tstamp implementations first read the timestamp out. Implementations which can write

[PATCH v2 140/148] net/ice/base: enable CGU error reporting

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Enable CGU error reporting for SyncE and TimeSync issues. Process TimeSync loss of lock event by trying to acquire lock with the default config. Signed-off-by: Karol Kolacinski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 49 ++

[PATCH v2 139/148] net/ice/base: clean up ice_lan_tx_rx

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes ice_lan_tx_rx currently is missing various defines and structs. These must be in place to match sharedcode for ice devices. Add these defines which include - TIMESYNC defines - Doorbell CTX defines and struct Signed-off-by: Ben Shelton --- drivers/net/ice/base/ice_lan_tx_rx.h

[PATCH v2 138/148] net/ice/base: update boost struct for traffic types

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Update boost struc to support both udp and vlan based on union. Signed-off-by: Przemek Kitszel Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_flex_type.h | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/base/ice_flex_ty

[PATCH v2 137/148] net/ice/base: support DCF query port ETS adminq

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes In the adminq command query port ETS function, the root node teid is needed. However, for DCF, the root node is not initialized at parent HW init stage, which will cause error when we refer to the variable. In this patch, we will check whether the root node is available or not fi

[PATCH v2 136/148] net/ice/base: add AQ function to configure SyncE error reporting

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes The AE driver will call this function to enable the SyncE error reporting mechanism and enable event reporting when errors occur. Signed-off-by: Ben Shelton Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_common.c | 29 + drivers/net/ice/bas

[PATCH v2 135/148] net/ice/base: fix ice_get_ctx() issue

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes No need to invert mask since we only reserve the masked bits instead of clear them. Signed-off-by: Yahui Cao Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_common.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/ice/base/ice_co

[PATCH v2 134/148] net/ice/base: too big a timeout for QV diagnostic tests

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes QV tools are affected by two issues: - Diagnostic tests do not end and cannot be aborted - Celo hangs after tests start Reason is that huge timeout dedicated to FPGA was applied. This patch is adjusting the code to QV compilation flags and use correct timeout. Signed-off-by: Fab

[PATCH v2 133/148] net/ice/base: fix memcpy type

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Modified function ice_aq_manage_mac_read so that ICE_NONDMA_TO_NONDMA memcpy type is used when copying MAC address value from AQC buffer to hardware descriptor. Since (in case of tools) both locations are in user space there is no need to use ICE_DMA_TO_NONDMA memcpy type that wa

[PATCH v2 132/148] net/ice/base: increase PF reset wait timeout to 500 milliseconds

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes In the CORE ICE driver enabled devlink to issue EMPR resets during NVM update. As a result, resets took a matter of around 25ms longer than driver wait time to finish. Fix this by increasing driver wait time from 300ms to 500ms. Signed-off-by: Benjamin Mikailenko Signed-off-by

[PATCH v2 131/148] net/ice/base: add missing defines and misc cleanup

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add various missing defines and definitions that are currently not present in DPDK but are present in upstream code. Signed-off-by: Ian Stokes Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_adminq_cmd.h | 86 +-- 1 file changed, 82 inserti

[PATCH v2 130/148] net/ice/base: detect and store device sensor reading capability

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes The driver can use this capability to see if temperature sensor reading or other HW sensor reading capabilities are supported before reading them using the Get Sensor Reading AQ command. Signed-off-by: Eric Joyner Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_

[PATCH v2 129/148] net/ice/base: add L2TPv3 support for adv rules

2024-06-12 Thread Anatoly Burakov
This patch adds L2TPv3 dummy packets, data structures and defines. Signed-off-by: Wojciech Drewek Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_switch.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice

[PATCH v2 128/148] net/ice/base: add support for L2TP on switch

2024-06-12 Thread Anatoly Burakov
Add dummy packet and tunnel type to support L2TP on switch, now we can use session id as input set for swicth rule. Signed-off-by: Wei Zhao Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_switch.c | 438 +++--- 1 file changed, 219 insertions(+), 219 deletions

[PATCH v2 127/148] net/ice/base: make some switch-related functions static

2024-06-12 Thread Anatoly Burakov
To better align with upstream release, remove some functions from switch header and make them static instead. Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_ptp_hw.c | 14 +++--- drivers/net/ice/base/ice_ptp_hw.h | 16 2 files changed, 7 insertions(+), 23 de

[PATCH v2 126/148] net/ice/base: move code to common headers

2024-06-12 Thread Anatoly Burakov
To align with upstream release, move some code to common headers. Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_ptp_hw.c | 4 ++-- drivers/net/ice/base/ice_ptp_hw.h | 2 ++ drivers/net/ice/base/ice_sched.c | 8 +++ drivers/net/ice/base/ice_sched.h | 18 dr

[PATCH v2 125/148] net/ice/base: fix compile issues on some targets

2024-06-12 Thread Anatoly Burakov
To avoid triggering compile errors reported on some targets, use explicit type casts to specify type conversion. Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_flow.h | 2 +- drivers/net/ice/base/ice_parser.c | 7 --- drivers/net/ice/base/ice_ptp_hw.c | 9 + drivers/ne

[PATCH v2 124/148] net/ice/base: use const char* array for storing link modes

2024-06-12 Thread Anatoly Burakov
This shortens the amount of code needed to do the same thing. Signed-off-by: Lukasz Plachno Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_common.c | 133 +++--- 1 file changed, 28 insertions(+), 105 deletions(-) diff --git a/drivers/net/ice/base/ice_common

[PATCH v2 123/148] net/ice/base: align code to upstream

2024-06-12 Thread Anatoly Burakov
Currently, there are some miscellaneous changes that are missing from DPDK that are present in upstream code. This patch aligns our code to that of upstream, with following changes: - Comment fixes - Whitespace/line break alignment - Moving function definitions within headers - Moving functions wi

[PATCH v2 122/148] net/ice/base: add missing files for shared code update

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add missing files that are present in shared code update. Although these do not contain code add them so that shared code update matches like for like. Signed-off-by: Ian Stokes --- drivers/net/ice/base/{ice_fwlog.h => ice_vf_mbx.c} | 0 drivers/net/ice/base/{ice_fwlog.h => ic

[PATCH v2 121/148] net/ice/base: allow skipping main timer programming

2024-06-12 Thread Anatoly Burakov
Allow initialization functions to skip main timer programming. Signed-off-by: Sergey Temerkhanov Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_ptp_hw.c | 31 --- drivers/net/ice/base/ice_ptp_hw.h | 9 ++--- drivers/net/ice/ice_ethdev.c | 2 +-

[PATCH v2 120/148] net/ice/base: add E830 PTP init

2024-06-12 Thread Anatoly Burakov
Add E830 PTP initialization flow. TXPP requires SW and HW timer clock synchronization which is done during the PTP initialization flow. The E810 and E830 PTP initialization flows are similar. The primary difference that E810 initializes the PHY via AQCs, and E830 does not initialize the external

[PATCH v2 119/148] net/ice/base: support E830 in Topology AQ command

2024-06-12 Thread Anatoly Burakov
In E830, regarding the Get Tx Topology AQ command, there is a change in the way that the RD bit must be set. For E830, the RD bit must be cleared. Setting the RD bit for the E830 device was causing the Get Tx Topology command to fail. Fix it to clear RD bit for E830 device. Signed-off-by: Dan Now

[PATCH v2 118/148] net/ice/base: support E830 in DDP pkg handling

2024-06-12 Thread Anatoly Burakov
Add support for E830 DDP packages in the DDP package handling code. Signed-off-by: Sergey Temerkhanov Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_ddp.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ice/base/ice_ddp.c b/drivers/net/ice/base/ice_ddp.c index

[PATCH v2 117/148] net/ice/base: switch speed conversions to static lookups

2024-06-12 Thread Anatoly Burakov
Refactor to use a constant time lookup in a table for speed conversions from ICE_AQ_LINK_SPEED values to speeds defined in firmware. Also, make sure 20MBPS is defined when needed. Signed-off-by: Jesse Brandeburg Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_common.c| 40 +

[PATCH v2 116/148] net/ice/base: replace array initialization with macros

2024-06-12 Thread Anatoly Burakov
Certain compilers do not allow array initialization with indexes, so the best way to avoid the issue when compiling for these platforms is to use a macro. Signed-off-by: Lukasz Plachno Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_common.c | 86 +++ dri

[PATCH v2 114/148] net/ice/base: add port option commands

2024-06-12 Thread Anatoly Burakov
Adds the Set/Get Port Options commands (0x06EA/0x06EB), also include additional status and ID bits to improve the Link topology configuration as well as ability to change port option from pre-boot environment via the UEFI driver. Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_adminq

[PATCH v2 113/148] net/ice/base: add Get Link Status Data version 2

2024-06-12 Thread Anatoly Burakov
E830 introduces a new version of Get Link Status Data which increases the size of struct ice_aqc_get_link_status_data from 32 bytes to 51 bytes. Add new link partner fields to ice_aqc_get_link_status_data; PHY type, FEC, and flow control. Add new ICE_GET_LINK_STATUS_DATA_V2 and ICE_GET_LINK_STATUS

[PATCH v2 112/148] net/ice/base: move ice_ptp_init_phy_model to align with upstream

2024-06-12 Thread Anatoly Burakov
Upstream code has this function in a different place, so move it to match the upstream code. Signed-off-by: Anatoly Burakov --- drivers/net/ice/base/ice_ptp_hw.c | 127 +++--- drivers/net/ice/base/ice_type.h | 6 ++ 2 files changed, 69 insertions(+), 64 deletions(-)

[PATCH v2 111/148] net/ice/base: add PHY statistics dump

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Added support to dump PHY registers for assisting field debugging of link issue, these registers include FEC correctable uncorrectable statistics dump. Signed-off-by: Aviraj CJ Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_common.c | 12 +++- drivers/net/ice/

[PATCH v2 110/148] net/ice/base: squash multiple fixes for e56g device

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes This commit has multiple fixes related to comments updates, possible unitialized variable use and finally a bug fix related to stale PHY commands. Details of the bug fix are included below as it represents the bulk of the changes. Code using ice_ptp_one_port_cmd() (or the device

[PATCH v2 109/148] net/ice/base: implement upper-level PHY control functions

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Implement upper-level PHY control functions as well as required device specific defines. These include functions returning basic 56G PHY timing parameters and definitions for constant parameters. Signed-off-by: Sergey Temerkhanov Signed-off-by: Ian Stokes --- drivers/net/ice/

[PATCH v2 108/148] net/ice/base: add function to read Tx timestamp status register

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Both e822 and eth56g based hardware have a register indicating the status of timestamps in the Tx timestamp memory bank. This register is used to indicate which timestamps are currently valid. This is important because the interrupt logic for these devices assumes that software w

[PATCH v2 107/148] net/ice/base: return high address for multi-read eth56g registers

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes The eth56g register checks for 40b and 64b registers do not return the high address offset. Instead it is expected that all offsets are exactly 4 bytes apart in the expected order. The e822 implementations explicitly return the address in the lookup function. This form is better

[PATCH v2 106/148] net/ice/base: fix iterations over PTP ports

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Replace 'phy_ports' with 'max_phy_port' for max range in iterations over PTP ports in case of ETH56G based devices. Signed-off-by: Grzegorz Nitka Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 30 +++--- 1 file changed, 15 insertions

[PATCH v2 105/148] net/ice/base: implement interface to reset timestamp memory

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add an interface to clear the timestamp memory block for E822 and ETH56G based devices. Signed-off-by: Karol Kolacinski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 65 +++ drivers/net/ice/base/ice_ptp_hw.h | 2 + 2 files chan

[PATCH v2 104/148] net/ice/base: refactor ETH56G support for miltiple PHYs per MAC

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Support configurations with multiple ETH56G PHYs per a MAC complex. These PHYs have their own addresses and are supposed to have their ports numbered contiguously. This commit mainly provides port number translation for these configurations Also, handle dual NAC correctly for ma

[PATCH v2 101/148] net/ice/base: rename PHY model designator fields and functions

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Rename the PHY model designating fields, functions, etc to make the code more readable and distinguish it from the "PHY type" as described in the documentation. Signed-off-by: Sergey Temerkhanov Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 44

[PATCH v2 103/148] net/ice/base: refactor ETH56G PHY initialization

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Assign the ETH56G PHY address according to the PCI IDs in preparation for further changes. Signed-off-by: Sergey Temerkhanov Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 39 +++--- drivers/net/ice/base/ice_ptp_hw.h | 2 +- drive

[PATCH v2 102/148] net/ice/base: enable SB access explicitly before 1st PHY access

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Explicitly enable sideband device access before the first PHY access to avoid possible errors for ETH56G. Signed-off-by: Sergey Temerkhanov Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 38 +++ 1 file changed, 29 insertions(+),

[PATCH v2 100/148] net/ice/base: add PHY OFFSET_READY register clearing

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add a possibility to mark all transmitted/received timestamps as invalid by clearing PHY OFFSET_READY registers. Signed-off-by: Karol Kolacinski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_ptp_hw.c | 84 +++ drivers/net/ice/base/ice_ptp_

[PATCH v2 099/148] net/ice/base: temporary workaround for E830 signed package support

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add a workaround to deal with a signed package issue where the following sections are in the DDP OS package, but the FW does not support. To allow the package and FW to work togther properly, skip downloading the unsupported sections by forcing the number of buffers in the E830

[PATCH v2 098/148] net/ice/base: add 200G speeds to PHY types decoding

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add the 200G speeds to the ice_get_link_speed_based_on_phy_type function. This allows detection of 200G speed instead of UKNOWN. Signed-off-by: Dan Nowlin Signed-off-by: Alice Michael Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_cmd.h | 1 + drivers/net/ice

[PATCH v2 097/148] net/ice/base: support for firmware sanitization

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add support for AQ 0x070C. Includes ice_nvm_sanitize and a helper function ice_nvm_sanitize_operate to facilitate the operate request. Signed-off-by: Fabio Pricoco Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_cmd.h | 25 drivers/net/ice/base/ice_

[PATCH v2 096/148] net/ice/base: fix for preparing PHY for timesync command

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Preparing a port for timesync command procedure shall provide Rx type which indicates the type for the Rx metadata in the ONPI interface. According to the documentation, Rx type should always equal 0x18. Signed-off-by: Tomaszx Wakula Signed-off-by: Ian Stokes --- drivers/net/

[PATCH v2 095/148] net/ice/base: add E830 debug dump cluster ID values

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add E830 debug dump cluster ID values, which are different than the values for E810. Rename E810 cluster IDs to make it easier to distinguish which values are which.Add E830 debug dump cluster ID values, which are different than the values for E810. Rename E810 cluster IDs to mak

[PATCH v2 094/148] net/ice/base: add 32 GT bus speed enumerated value

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add ice_pcie_speed_32_0GT bus speed enum to support E830 device's higher bus speed. Signed-off-by: Dan Nowlin Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_type.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ice/base/ice_type.h b/

[PATCH v2 093/148] net/ice/base: allow different FW API versions based on MAC type

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Allow the driver to be compatible with different FW API versions based on the device's MAC type. Currently, E810 is only compatible with one FW API version. Now the driver can be compatible with different FW API versions for both E810 and E830. Signed-off-by: Dan Nowlin Signed-

[PATCH v2 092/148] net/ice/base: fix ice_memcpy type specifiers

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Wrong type specifiers were used in ice_write_*(), ice_read_*() and ice_sched_add_root_node() functions. In QV tools those functions are operating on user space buffers and therefore the ice_memcpy type has to be set to ICE_NONDMA_TO_NONDMA. Signed-off-by: Stefan Wegrzyn Signed-

[PATCH v2 091/148] net/ice/base: allows packages with mixed signature presence

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes As a temporary workaround to allow unsigned packages, there needs to be support for configuration segments that are unsigned. Allow packages that have some configuration segments that are signed and some configuration segments that are not signed. The code has been changed to de

[PATCH v2 090/148] net/ice/base: fix package download algorithm

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Previously, the code would assume that only "Modular Signature Segment" existed. Given a package with both a "Reference Signature Segment" and a "Modular Signature Segment" the download would not have been successful because an incorrect sequence of buffers would be sent to the f

[PATCH v2 089/148] net/ice/base : make ice_clear_vsi_q_ctx() non-static

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes QV needs to call ice_clear_vsi_q_ctx() from outside of ice_switch.c so the function had to become non-static. Signed-off-by: Stefan Wegrzyn Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_switch.c | 2 +- drivers/net/ice/base/ice_switch.h | 1 + 2 files changed, 2 inse

[PATCH v2 088/148] net/ice/base: fix in the definition of the Board Type

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes The new version is compliant with implementation and documentation Signed-off-by: Waldemar Dworakowski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_cmd.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/base/ice_adminq_c

[PATCH v2 087/148] net/ice/base: allow skipping PF clear

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes As per updated data sheet, add 'skip_clear_pf' field to ice_hw structure, which can be used to skip call to ice_clear_pf_cfg() in ice_init_hw(). Also, make 'fw_vsi_num' field of ice_hw structure visible to every component using shared code, as well as make ice_init_fltr_mgmt_str

[PATCH v2 086/148] net/ice/base: add defines for loopback mode

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes To reflect updates in the data sheet, add: - loopback mode value into ice_aqc_set_port_params - required defines to support loopback mode - added loopback mode handling in ice_port_info Signed-off-by: Pabitra Dalai Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_admin

[PATCH v2 085/148] net/ice/base: add Floating VEB support

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Added sw_id variables to ice_fltr_info struct and disable lan_en flag for Floating VEB VSIs. Signed-off-by: Pawel Sobczyk Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_switch.c | 6 -- drivers/net/ice/base/ice_switch.h | 3 +++ 2 files changed, 7 insertions(+), 2

[PATCH v2 084/148] net/ice/base: add function to read SDP section from NVM

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Add API and definitions related to reading SDP section from NVM, related to PTP pins assignment. Signed-off-by: Tomaszx Wakula Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_cmd.h | 23 +++ drivers/net/ice/base/ice_ptp_hw.c | 87

[PATCH v2 083/148] net/ice/base: fix potential TLV length overflow

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes It's possible that an NVM with an invalid tlv_len could cause an integer overflow of next_tlv which can result an infinite loop. Fix this issue by changing next_tlv from u16 to u32 to prevent overflow. Also check that tlv_len is valid and less than pfa_len. Fix an issue with co

[PATCH v2 082/148] net/ice/base: enable Next Cluster ID capability

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Updated data sheet added a new capability 'Next Cluster ID' defined as 0x0096, so add a define for it. Signed-off-by: Remigiusz Konca Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_cmd.h | 2 +- drivers/net/ice/base/ice_common.c | 5 + drivers/net/ice/b

[PATCH v2 081/148] net/ice/base: copy output IO params from command descriptor

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Coppied output IO params returned from get netlist node pin command descriptor so SW could use it. Fixed defines related to output IO params. Signed-off-by: Dawid Zielinski dawid.zielin...@intel.com Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_adminq_cmd.h | 4 ++--

[PATCH v2 080/148] net/ice/base: check array bounds

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Some compilation targets were generating errors due to unchecked array bounds when accessing recipe groups. Add a check to avoid that. Signed-off-by: Waldemar Dworakowski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_switch.c | 14 -- 1 file changed, 8 in

[PATCH v2 079/148] net/ice/base: ignore snprintf return value

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Certain compilation targets were generating compile errors due to snprintf return value not being checked. Fix it by ignoring the return value explicitly. Signed-off-by: Waldemar Dworakowski Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_common.c | 2 +- 1 file change

[PATCH v2 078/148] net/ice/base: read OROM in a loop

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Previously NVM was once acquired and OROM was read to RAM in 4KB chunks. Changed this to a loop in which with each iteration NVM is acquired and only 4 bytes are read. Signed-off-by: Jaroslaw Ilgiewicz Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_nvm.c | 43

[PATCH v2 077/148] net/ice/base: use correct type

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes num_rules was defined u16 but it should be u8 as it is passed to function ice_aq_sw_rules which expects u8. Signed-off-by: Fabio Pricoco Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_switch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers

[PATCH v2 076/148] net/ice/base: fix handling recipes when reusing is not supported

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Switch recipe reuse feature caused issues on older FW which does not support this feature. Finding matching recipes was working incorrectly, what lead to resource starvation after multiple adding and removing recipes. Signed-off-by: Julianx Grajkowski Signed-off-by: Ian Stokes

[PATCH v2 075/148] net/ice/base: check if recipe buffer was already allocated

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Check if recipe buffer was already allocated before allocating new one. Without such check it is possible to get memory leak when overwriting pointer address. Signed-off-by: NorbertX Ciosek Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_switch.c | 3 +++ 1 file change

[PATCH v2 074/148] net/ice/base: improve read retry value calculation

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes Previous implementation of PHY timestamp retry value was set to a static value that had no meaning. Change it to calculate it based on a set of meaningfully named macros, as well as adjust data type to avoid overflows. Signed-off-by: Bartosz Staszewski Signed-off-by: Ian Stokes

[PATCH v2 073/148] net/ice/base: remove unused define

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes In a previous patch a define was added that is not used. This is causing issues with CI builds. Signed-off-by: Dave Ertman Signed-off-by: Ian Stokes --- drivers/net/ice/base/ice_sched.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ice/base/ice_sched.c b/driv

[PATCH v2 072/148] net/ice/base: update strict status when assigning BW limits

2024-06-12 Thread Anatoly Burakov
From: Ian Stokes In the BW configuration performed by DCF functions, the strict/WFQ and priority field (referred to as Generic in the EAS) is not updated in the FW. This needs to be updated so as to not incorrectly allocate BW credits in the traffic shaping Tx scheduler. Call the function "ice_

  1   2   3   >