|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2 |
|
| #
87181cd6 |
| 03-Dec-2024 |
Michal Swiatkowski <[email protected]> |
ice: enable_rdma devlink param
Implement enable_rdma devlink parameter to allow user to turn RDMA feature on and off.
It is useful when there is no enough interrupts and user doesn't need RDMA feat
ice: enable_rdma devlink param
Implement enable_rdma devlink parameter to allow user to turn RDMA feature on and off.
It is useful when there is no enough interrupts and user doesn't need RDMA feature.
Reviewed-by: Jacob Keller <[email protected]> Reviewed-by: Jan Sokolowski <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
b2657259 |
| 03-Dec-2024 |
Michal Swiatkowski <[email protected]> |
ice: devlink PF MSI-X max and min parameter
Use generic devlink PF MSI-X parameter to allow user to change MSI-X range.
Add notes about this parameters into ice devlink documentation.
Tested-by: P
ice: devlink PF MSI-X max and min parameter
Use generic devlink PF MSI-X parameter to allow user to change MSI-X range.
Add notes about this parameters into ice devlink documentation.
Tested-by: Pucha Himasekhar Reddy <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
a8aa6a6d |
| 31-Jan-2025 |
Jiasheng Jiang <[email protected]> |
ice: Add check for devm_kzalloc()
Add check for the return value of devm_kzalloc() to guarantee the success of allocation.
Fixes: 42c2eb6b1f43 ("ice: Implement devlink-rate API") Signed-off-by: Jia
ice: Add check for devm_kzalloc()
Add check for the return value of devm_kzalloc() to guarantee the success of allocation.
Fixes: 42c2eb6b1f43 ("ice: Implement devlink-rate API") Signed-off-by: Jiasheng Jiang <[email protected]> Reviewed-by: Michal Swiatkowski <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.13-rc1, v6.12, v6.12-rc7 |
|
| #
1de25c6b |
| 06-Nov-2024 |
Konrad Knitter <[email protected]> |
ice: support FW Recovery Mode
Recovery Mode is intended to recover from a fatal failure scenario in which the device is not accessible to the host, meaning the firmware is non-responsive.
The purpo
ice: support FW Recovery Mode
Recovery Mode is intended to recover from a fatal failure scenario in which the device is not accessible to the host, meaning the firmware is non-responsive.
The purpose of the Firmware Recovery Mode is to enable software tools to update firmware and/or device configuration so the fatal error can be resolved.
Recovery Mode Firmware supports a limited set of admin commands required for NVM update. Recovery Firmware does not support hardware interrupts so a polling mode is used.
The driver will expose only the minimum set of devlink commands required for the recovery of the adapter.
Using an appropriate NVM image, the user can recover the adapter using the devlink flash API.
Prior to 4.20 E810 Adapter Recovery Firmware supports only the update and erase of the "fw.mgmt" component.
E810 Adapter Recovery Firmware doesn't support selected preservation of cards settings or identifiers.
The following command can be used to recover the adapter:
$ devlink dev flash <pci-address> <update-image.bin> component fw.mgmt overwrite settings overwrite identifier
Newer FW versions (4.20 or newer) supports update of "fw.undi" and "fw.netlist" components.
$ devlink dev flash <pci-address> <update-image.bin>
Tested on Intel Corporation Ethernet Controller E810-C for SFP FW revision 3.20 and 4.30.
Reviewed-by: Przemek Kitszel <[email protected]> Signed-off-by: Konrad Knitter <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
|
Revision tags: v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2 |
|
| #
4d3f59bf |
| 02-Oct-2024 |
Przemek Kitszel <[email protected]> |
ice: split ice_init_hw() out from ice_init_dev()
Split ice_init_hw() call out from ice_init_dev(). Such move enables pulling the former to be even earlier on call path, what would enable moving ice_
ice: split ice_init_hw() out from ice_init_dev()
Split ice_init_hw() call out from ice_init_dev(). Such move enables pulling the former to be even earlier on call path, what would enable moving ice_adapter init to be between the two (in subsequent commit). Such move enables ice_adapter to know about number of PFs.
Do the same for ice_deinit_hw(), so the init and deinit calls could be easily mirrored. Next commit will rename unrelated goto labels to unroll prefix.
Reviewed-by: Marcin Szycik <[email protected]> Signed-off-by: Przemek Kitszel <[email protected]> Reviewed-by: Kalesh AP <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
2846fe56 |
| 16-Dec-2024 |
Przemek Kitszel <[email protected]> |
ice: rename devlink_port.[ch] to port.[ch]
Drop "devlink_" prefix from files that sit in devlink/. I'm going to add more files there, and repeating "devlink" does not feel good. This is also the sch
ice: rename devlink_port.[ch] to port.[ch]
Drop "devlink_" prefix from files that sit in devlink/. I'm going to add more files there, and repeating "devlink" does not feel good. This is also the scheme used in most other places, most notably the devlink core files are named like that.
devlink.[ch] stays as is.
Reviewed-by: Kalesh AP <[email protected]> Signed-off-by: Przemek Kitszel <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
|
Revision tags: v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5 |
|
| #
7cde4743 |
| 20-Aug-2024 |
Michal Swiatkowski <[email protected]> |
ice: support subfunction devlink Tx topology
Flow for creating Tx topology is the same as for VF port representors, but the devlink port is stored in different place (sf->devlink_port).
When creati
ice: support subfunction devlink Tx topology
Flow for creating Tx topology is the same as for VF port representors, but the devlink port is stored in different place (sf->devlink_port).
When creating VF devlink lock isn't taken, when creating subfunction it is. Setting Tx topology function needs to take this lock, check if it was taken before to not do it twice.
Reviewed-by: Simon Horman <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Reviewed-by: Wojciech Drewek <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Tested-by: Rafal Romanowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
f43e3be6 |
| 20-Aug-2024 |
Piotr Raczynski <[email protected]> |
ice: allocate devlink for subfunction
Allocate devlink for subfunction instance.
Create header file for subfunction device. Define subfunction device structure there as it is needed for devlink all
ice: allocate devlink for subfunction
Allocate devlink for subfunction instance.
Create header file for subfunction device. Define subfunction device structure there as it is needed for devlink allocation.
Reviewed-by: Przemek Kitszel <[email protected]> Reviewed-by: Jiri Pirko <[email protected]> Signed-off-by: Piotr Raczynski <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Tested-by: Rafal Romanowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
eda69d65 |
| 20-Aug-2024 |
Piotr Raczynski <[email protected]> |
ice: add basic devlink subfunctions support
Implement devlink port handlers responsible for ethernet type devlink subfunctions. Create subfunction devlink port and setup all resources needed for a s
ice: add basic devlink subfunctions support
Implement devlink port handlers responsible for ethernet type devlink subfunctions. Create subfunction devlink port and setup all resources needed for a subfunction netdev to operate. Configure new VSI for each new subfunction, initialize and configure interrupts and Tx/Rx resources. Set correct MAC filters and create new netdev.
For now, subfunction is limited to only one Tx/Rx queue pair.
Only allocate new subfunction VSI with devlink port new command. Allocate and free subfunction MSIX interrupt vectors using new API calls with pci_msix_alloc_irq_at and pci_msix_free_irq.
Support both automatic and manual subfunction numbers. If no subfunction number is provided, use xa_alloc to pick a number automatically. This will find the first free index and use that as the number. This reduces burden on users in the simple case where a specific number is not required. It may also be slightly faster to check that a number exists since xarray lookup should be faster than a linear scan of the dyn_ports xarray.
Co-developed-by: Jacob Keller <[email protected]> Signed-off-by: Jacob Keller <[email protected]> Signed-off-by: Piotr Raczynski <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Tested-by: Rafal Romanowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3 |
|
| #
a59618b9 |
| 07-Jun-2024 |
Pawel Kaminski <[email protected]> |
ice: Add support for devlink local_forwarding param
Add support for driver-specific devlink local_forwarding param. Supported values are "enabled", "disabled" and "prioritized". Default configuratio
ice: Add support for devlink local_forwarding param
Add support for driver-specific devlink local_forwarding param. Supported values are "enabled", "disabled" and "prioritized". Default configuration is set to "enabled".
Add documentation in networking/devlink/ice.rst.
In previous generations of Intel NICs the transmit scheduler was only limited by PCIe bandwidth when scheduling/assigning hairpin-bandwidth between VFs. Changes to E810 HW design introduced scheduler limitation, so that available hairpin-bandwidth is bound to external port speed. In order to address this limitation and enable NFV services such as "service chaining" a knob to adjust the scheduler config was created. Driver can send a configuration message to the FW over admin queue and internal FW logic will reconfigure HW to prioritize and add more BW to VF to VF traffic. An end result, for example, 10G port will no longer limit hairpin-bandwidth to 10G and much higher speeds can be achieved.
Devlink local_forwarding param set to "prioritized" enables higher hairpin-bandwitdh on related PFs. Configuration is applicable only to 8x10G and 4x25G cards.
Changing local_forwarding configuration will trigger CORER reset in order to take effect.
Example command to change current value: devlink dev param set pci/0000:b2:00.3 name local_forwarding \ value prioritized \ cmode runtime
Co-developed-by: Michal Wilczynski <[email protected]> Signed-off-by: Michal Wilczynski <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Signed-off-by: Pawel Kaminski <[email protected]> Signed-off-by: Wojciech Drewek <[email protected]> Tested-by: Rafal Romanowski <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
8d2f518c |
| 10-Jun-2024 |
Michal Swiatkowski <[email protected]> |
ice: move devlink locking outside the port creation
In case of subfunction lock will be taken for whole port creation and removing. Do the same in VF case.
Signed-off-by: Michal Swiatkowski <michal
ice: move devlink locking outside the port creation
In case of subfunction lock will be taken for whole port creation and removing. Do the same in VF case.
Signed-off-by: Michal Swiatkowski <[email protected]> Reviewed-by: Simon Horman <[email protected]> Tested-by: Sujai Buvaneswaran <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc2 |
|
| #
a51c9b1c |
| 28-May-2024 |
Dave Ertman <[email protected]> |
ice: check for unregistering correct number of devlink params
On module load, the ice driver checks for the lack of a specific PF capability to determine if it should reduce the number of devlink pa
ice: check for unregistering correct number of devlink params
On module load, the ice driver checks for the lack of a specific PF capability to determine if it should reduce the number of devlink params to register. One situation when this test returns true is when the driver loads in safe mode. The same check is not present on the unload path when devlink params are unregistered. This results in the driver triggering a WARN_ON in the kernel devlink code.
The current check and code path uses a reduction in the number of elements reported in the list of params. This is fragile and not good for future maintaining.
Change the parameters to be held in two lists, one always registered and one dependent on the check.
Add a symmetrical check in the unload path so that the correct parameters are unregistered as well.
Fixes: 109eb2917284 ("ice: Add tx_scheduling_layers devlink param") CC: Lukasz Czapnik <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Signed-off-by: Dave Ertman <[email protected]> Reviewed-by: Jacob Keller <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> Signed-off-by: Jacob Keller <[email protected]> Link: https://lore.kernel.org/r/20240528-net-2024-05-28-intel-net-fixes-v1-8-dc8593d2bbc6@intel.com Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5 |
|
| #
deea427f |
| 19-Apr-2024 |
Mateusz Polchlopek <[email protected]> |
ice: refactor struct ice_vsi_cfg_params to be inside of struct ice_vsi
Refactor struct ice_vsi_cfg_params to be embedded into struct ice_vsi. Prior to that the members of the struct were scattered a
ice: refactor struct ice_vsi_cfg_params to be inside of struct ice_vsi
Refactor struct ice_vsi_cfg_params to be embedded into struct ice_vsi. Prior to that the members of the struct were scattered around ice_vsi, and were copy-pasted for purposes of reinit. Now we have struct handy, and it is easier to have something sticky in the flags field.
Suggested-by: Przemek Kitszel <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Reviewed-by: Vaishnavi Tipireddy <[email protected]> Signed-off-by: Mateusz Polchlopek <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
109eb291 |
| 19-Apr-2024 |
Lukasz Czapnik <[email protected]> |
ice: Add tx_scheduling_layers devlink param
It was observed that Tx performance was inconsistent across all queues and/or VSIs and that it was directly connected to existing 9-layer topology of the
ice: Add tx_scheduling_layers devlink param
It was observed that Tx performance was inconsistent across all queues and/or VSIs and that it was directly connected to existing 9-layer topology of the Tx scheduler.
Introduce new private devlink param - tx_scheduling_layers. This parameter gives user flexibility to choose the 5-layer transmit scheduler topology which helps to smooth out the transmit performance.
Allowed parameter values are 5 and 9.
Example usage:
Show: devlink dev param show pci/0000:4b:00.0 name tx_scheduling_layers pci/0000:4b:00.0: name tx_scheduling_layers type driver-specific values: cmode permanent value 9
Set: devlink dev param set pci/0000:4b:00.0 name tx_scheduling_layers value 5 cmode permanent
devlink dev param set pci/0000:4b:00.0 name tx_scheduling_layers value 9 cmode permanent
Signed-off-by: Lukasz Czapnik <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Co-developed-by: Mateusz Polchlopek <[email protected]> Signed-off-by: Mateusz Polchlopek <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
5625ca56 |
| 19-Apr-2024 |
Mateusz Polchlopek <[email protected]> |
devlink: extend devlink_param *set pointer
Extend devlink_param *set function pointer to take extack as a param. Sometimes it is needed to pass information to the end user from set function. It is m
devlink: extend devlink_param *set pointer
Extend devlink_param *set function pointer to take extack as a param. Sometimes it is needed to pass information to the end user from set function. It is more proper to use for that netlink instead of passing message to dmesg.
Reviewed-by: Jiri Pirko <[email protected]> Reviewed-by: Przemek Kitszel <[email protected]> Signed-off-by: Mateusz Polchlopek <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc4, v6.9-rc3, v6.9-rc2 |
|
| #
118c6bde |
| 25-Mar-2024 |
Michal Swiatkowski <[email protected]> |
ice: hold devlink lock for whole init/cleanup
Simplify devlink lock code in driver by taking it for whole init/cleanup path. Instead of calling devlink functions that taking lock call the lockless v
ice: hold devlink lock for whole init/cleanup
Simplify devlink lock code in driver by taking it for whole init/cleanup path. Instead of calling devlink functions that taking lock call the lockless versions.
Suggested-by: Jiri Pirko <[email protected]> Reviewed-by: Jesse Brandeburg <[email protected]> Reviewed-by: Wojciech Drewek <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Reviewed-by: Simon Horman <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
4ebc5f25 |
| 25-Mar-2024 |
Piotr Raczynski <[email protected]> |
ice: move devlink port code to a separate file
Keep devlink related code in a separate file. More devlink port code and handlers will be added here for other port operations.
Remove no longer neede
ice: move devlink port code to a separate file
Keep devlink related code in a separate file. More devlink port code and handlers will be added here for other port operations.
Remove no longer needed include of our devlink.h in ice_lib.c.
Reviewed-by: Przemek Kitszel <[email protected]> Reviewed-by: Wojciech Drewek <[email protected]> Signed-off-by: Piotr Raczynski <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Reviewed-by: Simon Horman <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|
| #
0545cc86 |
| 25-Mar-2024 |
Michal Swiatkowski <[email protected]> |
ice: move ice_devlink.[ch] to devlink folder
Only moving whole files, fixing Makefile and bunch of includes.
Some changes to ice_devlink file was done even in representor part (Tx topology), so kee
ice: move ice_devlink.[ch] to devlink folder
Only moving whole files, fixing Makefile and bunch of includes.
Some changes to ice_devlink file was done even in representor part (Tx topology), so keep it as final patch to not mess up with rebasing.
After moving to devlink folder there is no need to have such long name for these files. Rename them to simple devlink.
Reviewed-by: Aleksandr Loktionov <[email protected]> Signed-off-by: Michal Swiatkowski <[email protected]> Reviewed-by: Simon Horman <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
show more ...
|