[PATCH v6 19/21] net/ntnic: add QSFP28 support

2024-07-11 Thread Serhii Iliushyk
Includes support for QSFP28 Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h| 21 ++ drivers/net/ntnic/link_mgmt/nt4ga_link.c | 25 +++ drivers/net/ntnic/nim/i2c_nim.c | 267 ++- drivers/net/ntnic/nim/nim_defines.h | 1 + 4 files

[PATCH v6 20/21] net/ntnic: add GPIO communication for NIMs

2024-07-11 Thread Serhii Iliushyk
For NIM reset sequence GPIO communication is used. After this commit the NIMs supported by ntnic is able to start up and be controlled fully by the adapter. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling --- drivers/net/ntnic/include/nt4ga_link.h| 1 + .../link_mgmt

[PATCH v6 17/21] net/ntnic: add generic NIM and I2C modules

2024-07-11 Thread Serhii Iliushyk
for such a module is added as well. Additionally a thread is added to control the NIM stat machines. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 34 +++ drivers/net/ntnic/include/nt4ga_adapter.h | 3 + drivers/net

[PATCH v6 21/21] net/ntnic: add physical layer control module

2024-07-11 Thread Serhii Iliushyk
Adds functionality to control the physical layer of the OSI model. This takes the form of the module MAC PCS (Media Access Control Physical Coding Sublayer). The functionality is used by the 100G link functionality to establish link. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include

[PATCH v6 14/21] net/ntnic: add clock profile for the NT200A0X smartNIC

2024-07-11 Thread Serhii Iliushyk
. Signed-off-by: Serhii Iliushyk --- v6 * EOF comment was removed --- .../ntnic/include/clock_profiles_structs.h| 33 + .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 1 + drivers/net/ntnic/meson.build | 2 + .../net/ntnic/nthw/core/include/nthw_core.h | 2 + .../net

[PATCH v7 03/21] net/ntnic: add minimal initialization for PCI device

2024-07-12 Thread Serhii Iliushyk
add implementation for probe/init and remove/deinit of the PCI device Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/ntnic_ethdev.c | 109 +-- 1 file changed, 104 insertions(+), 5 deletions(-) diff --git a/drivers/net/ntnic/ntnic_ethdev.c b/drivers/net/ntnic

[PATCH v7 05/21] net/ntnic: add VFIO module

2024-07-12 Thread Serhii Iliushyk
Adds VFIO functionality and the DMA it requires. The VFIO context is initialized during ntnic ethdev startup. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/meson.build | 1 + drivers/net/ntnic/ntnic_ethdev.c | 23 +++ drivers/net/ntnic/ntnic_vfio.c | 235

[PATCH v7 04/21] net/ntnic: add NT utilities implementation

2024-07-12 Thread Serhii Iliushyk
Add ntnic utilities. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/meson.build | 2 ++ drivers/net/ntnic/ntnic_ethdev.c | 2 ++ drivers/net/ntnic/ntutil/nt_util.c | 33 +++ drivers/net/ntnic/ntutil/nt_util.h | 43 ++ 4 files

[PATCH v7 02/21] net/ntnic: add logging implementation

2024-07-12 Thread Serhii Iliushyk
Adds ntnic specific implementation for logging. NT NIC uses this logging abstraction layer to ensure that FPGA module implementations function both within and outside in DPDK environment Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/meson.build| 2 ++ drivers/net/ntnic/ntlog/ntlog.c

[PATCH v7 07/21] net/ntnic: add core platform structures

2024-07-12 Thread Serhii Iliushyk
Adds many of the high level structures needed by the ntnic FPGA modules and adapter control. This is considered the first part of the skeleton of ntnic FPGA support Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntos_drv.h | 2 + drivers/net/ntnic/meson.build

[PATCH v7 06/21] net/ntnic: add basic eth dev ops to ntnic

2024-07-12 Thread Serhii Iliushyk
Adds support for eth_dev configure, start, stop, close, and infos_get. The internal structs of ntnic is also added and initialized. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntdrv_4ga.h | 17 ++ drivers/net/ntnic/include/ntos_drv.h| 32 drivers/net/ntnic/include

[PATCH v7 08/21] net/ntnic: add adapter initialization

2024-07-12 Thread Serhii Iliushyk
Add interfaces for initialize the adapter Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 148 ++ drivers/net/ntnic/include/nt4ga_adapter.h | 40 ++ drivers/net/ntnic/include/ntdrv_4ga.h | 2 + drivers/net/ntnic/meson.build

[PATCH v7 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-12 Thread Serhii Iliushyk
Add initial ntnic ethdev skeleton and register PCI probe functions Update documentation: Device description and feature list Signed-off-by: Serhii Iliushyk --- .mailmap | 1 + MAINTAINERS| 7 doc/guides/nics/features/ntnic.ini

[PATCH v7 11/21] net/ntnic: add FPGA initialization functionality

2024-07-12 Thread Serhii Iliushyk
Enable FPGA initialization and adds ethdev fw_version_get. Signed-off-by: Serhii Iliushyk --- doc/guides/nics/features/ntnic.ini| 1 + doc/guides/nics/ntnic.rst | 5 + drivers/net/ntnic/adapter/nt4ga_adapter.c | 52 +++- drivers/net/ntnic/meson.build

[PATCH v7 16/21] net/ntnic: add link 100G module ops

2024-07-12 Thread Serhii Iliushyk
As the ntnic can support different speeds, an abstraction layer for 100G speed is needed. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 12 - .../link_mgmt/link_100g/nt4ga_link_100g.c | 49 +++ drivers/net/ntnic/meson.build

[PATCH v7 15/21] net/ntnic: add link management skeleton

2024-07-12 Thread Serhii Iliushyk
Add functionality to read and control the link-state of the ntnic. Note that must functions are not implemented yet. Adds the following eth_dev_ops: - dev_set_link_up - dev_set_link_down - link_update - mac_addr_add - mac_addr_set - set_mc_addr_list - promiscuous_enable Signed-off-by: Serhii

[PATCH v7 13/21] net/ntnic: add startup and reset sequence for NT200A0X

2024-07-12 Thread Serhii Iliushyk
Adds reset (RST) module for FW 9563. Also adds SDRAM Controller (SDC) module, as it is part of the startup and reset sequence. Signed-off-by: Serhii Iliushyk --- .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 81 +++ drivers/net/ntnic/meson.build | 3 + .../net/ntnic/nthw

[PATCH v7 10/21] net/ntnic: add FPGA modules for initialization

2024-07-12 Thread Serhii Iliushyk
tests, and configuration. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 2 - drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_core.h | 16 + .../net/ntnic/nthw/core/include/nthw_hif.h| 151 .../net/ntnic

[PATCH v7 17/21] net/ntnic: add generic NIM and I2C modules

2024-07-12 Thread Serhii Iliushyk
for such a module is added as well. Additionally a thread is added to control the NIM stat machines. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 34 +++ drivers/net/ntnic/include/nt4ga_adapter.h | 3 + drivers/net/ntnic/include/nt4ga_link.h

[PATCH v7 18/21] net/ntnic: add QSFP support

2024-07-12 Thread Serhii Iliushyk
Includes support for QSFP and QSFP+. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h | 10 + .../link_mgmt/link_100g/nt4ga_link_100g.c | 12 +- drivers/net/ntnic/nim/i2c_nim.c | 310 +- drivers/net/ntnic/nim/i2c_nim.h

[PATCH v7 19/21] net/ntnic: add QSFP28 support

2024-07-12 Thread Serhii Iliushyk
Includes support for QSFP28 Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h| 21 ++ drivers/net/ntnic/link_mgmt/nt4ga_link.c | 25 +++ drivers/net/ntnic/nim/i2c_nim.c | 267 ++- drivers/net/ntnic/nim/nim_defines.h | 1 + 4 files

[PATCH v7 12/21] net/ntnic: add support of the NT200A0X smartNIC

2024-07-12 Thread Serhii Iliushyk
Add ntnic support for NT200A0X NIC Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 6 +++ drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_fpga.h | 7 +++ .../nthw/core/nt200a0x/nthw_fpga_nt200a0x.c | 54

[PATCH v7 21/21] net/ntnic: add physical layer control module

2024-07-12 Thread Serhii Iliushyk
Adds functionality to control the physical layer of the OSI model. This takes the form of the module MAC PCS (Media Access Control Physical Coding Sublayer). The functionality is used by the 100G link functionality to establish link. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include

[PATCH v7 20/21] net/ntnic: add GPIO communication for NIMs

2024-07-12 Thread Serhii Iliushyk
For NIM reset sequence GPIO communication is used. After this commit the NIMs supported by ntnic is able to start up and be controlled fully by the adapter. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/nt4ga_link.h| 1 + .../link_mgmt/link_100g/nt4ga_link_100g.c

[PATCH v7 14/21] net/ntnic: add clock profile for the NT200A0X smartNIC

2024-07-12 Thread Serhii Iliushyk
. Signed-off-by: Serhii Iliushyk --- .../ntnic/include/clock_profiles_structs.h| 33 + .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 1 + drivers/net/ntnic/meson.build | 2 + .../net/ntnic/nthw/core/include/nthw_core.h | 2 + .../net/ntnic/nthw/core/include/nthw_fpga.h

[PATCH v8 02/21] net/ntnic: add logging implementation

2024-07-12 Thread Serhii Iliushyk
Adds ntnic specific implementation for logging. NT NIC uses this logging abstraction layer to ensure that FPGA module implementations function both within and outside in DPDK environment Signed-off-by: Serhii Iliushyk --- v6 * Logging header file was moved * Default log type was set to NOTICE

[PATCH v8 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-12 Thread Serhii Iliushyk
Add initial ntnic ethdev skeleton and register PCI probe functions Update documentation: Device description and feature list Signed-off-by: Serhii Iliushyk --- v6 * Remove unused includes * Remove EOF markers * Remove unnecesarry commpiller flags * Update documentation INI and RST files

[PATCH v8 03/21] net/ntnic: add minimal initialization for PCI device

2024-07-12 Thread Serhii Iliushyk
add implementation for probe/init and remove/deinit of the PCI device Signed-off-by: Serhii Iliushyk --- v6 * Add driver deinitialization * Add API rte_eth_dev_probing_finish * Add correct API for finishing probing the device * Remove duplicated calling 'rte_eth_copy_pci

[PATCH v8 04/21] net/ntnic: add NT utilities implementation

2024-07-12 Thread Serhii Iliushyk
Add ntnic utilities. Signed-off-by: Serhii Iliushyk --- v6 * NT utils header file was moved --- drivers/net/ntnic/meson.build | 2 ++ drivers/net/ntnic/ntnic_ethdev.c | 2 ++ drivers/net/ntnic/ntutil/nt_util.c | 33 +++ drivers/net/ntnic/ntutil/nt_util.h | 43

[PATCH v8 06/21] net/ntnic: add basic eth dev ops to ntnic

2024-07-12 Thread Serhii Iliushyk
Adds support for eth_dev configure, start, stop, close, and infos_get. The internal structs of ntnic is also added and initialized. Signed-off-by: Serhii Iliushyk --- v6 * Replace if_index with n_intf_no * Unnecessry resources free was fixed * Fix typo * Useless vars were removed --- drivers

[PATCH v8 07/21] net/ntnic: add core platform structures

2024-07-12 Thread Serhii Iliushyk
Adds many of the high level structures needed by the ntnic FPGA modules and adapter control. This is considered the first part of the skeleton of ntnic FPGA support Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntos_drv.h | 2 + drivers/net/ntnic/meson.build

[PATCH v8 08/21] net/ntnic: add adapter initialization

2024-07-12 Thread Serhii Iliushyk
Add interfaces for initialize the adapter Signed-off-by: Serhii Iliushyk --- v6 * Function for global var clearing was removed --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 148 ++ drivers/net/ntnic/include/nt4ga_adapter.h | 40 ++ drivers/net/ntnic/include

[PATCH v8 05/21] net/ntnic: add VFIO module

2024-07-12 Thread Serhii Iliushyk
Adds VFIO functionality and the DMA it requires. The VFIO context is initialized during ntnic ethdev startup. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/meson.build | 1 + drivers/net/ntnic/ntnic_ethdev.c | 23 +++ drivers/net/ntnic/ntnic_vfio.c | 235

[PATCH v8 11/21] net/ntnic: add FPGA initialization functionality

2024-07-12 Thread Serhii Iliushyk
Enable FPGA initialization and adds ethdev fw_version_get. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling v7 * Add FW update feature to documentation - INI and RST files --- doc/guides/nics/features/ntnic.ini| 1 + doc/guides/nics/ntnic.rst | 5

[PATCH v8 12/21] net/ntnic: add support of the NT200A0X smartNIC

2024-07-12 Thread Serhii Iliushyk
Add ntnic support for NT200A0X NIC Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 6 +++ drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_fpga.h | 7 +++ .../nthw/core/nt200a0x/nthw_fpga_nt200a0x.c | 54

[PATCH v8 13/21] net/ntnic: add startup and reset sequence for NT200A0X

2024-07-12 Thread Serhii Iliushyk
Adds reset (RST) module for FW 9563. Also adds SDRAM Controller (SDC) module, as it is part of the startup and reset sequence. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling --- .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 81 +++ drivers/net/ntnic/meson.build

[PATCH v8 15/21] net/ntnic: add link management skeleton

2024-07-12 Thread Serhii Iliushyk
Add functionality to read and control the link-state of the ntnic. Note that must functions are not implemented yet. Adds the following eth_dev_ops: - dev_set_link_up - dev_set_link_down - link_update - mac_addr_add - mac_addr_set - set_mc_addr_list - promiscuous_enable Signed-off-by: Serhii

[PATCH v8 16/21] net/ntnic: add link 100G module ops

2024-07-12 Thread Serhii Iliushyk
As the ntnic can support different speeds, an abstraction layer for 100G speed is needed. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 12 - .../link_mgmt/link_100g/nt4ga_link_100g.c | 49 +++ drivers/net/ntnic/meson.build

[PATCH v8 17/21] net/ntnic: add generic NIM and I2C modules

2024-07-12 Thread Serhii Iliushyk
for such a module is added as well. Additionally a thread is added to control the NIM stat machines. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 34 +++ drivers/net/ntnic/include/nt4ga_adapter.h | 3 + drivers/net

[PATCH v8 14/21] net/ntnic: add clock profile for the NT200A0X smartNIC

2024-07-12 Thread Serhii Iliushyk
. Signed-off-by: Serhii Iliushyk --- v6 * EOF comment was removed --- .../ntnic/include/clock_profiles_structs.h| 33 + .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 1 + drivers/net/ntnic/meson.build | 2 + .../net/ntnic/nthw/core/include/nthw_core.h | 2 + .../net

[PATCH v8 10/21] net/ntnic: add FPGA modules for initialization

2024-07-12 Thread Serhii Iliushyk
tests, and configuration. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments DVO: Remove unnecessary comments --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 2 - drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_core.h | 16

[PATCH v8 18/21] net/ntnic: add QSFP support

2024-07-12 Thread Serhii Iliushyk
Includes support for QSFP and QSFP+. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h | 10 + .../link_mgmt/link_100g/nt4ga_link_100g.c | 12 +- drivers/net/ntnic/nim/i2c_nim.c | 310 +- drivers/net/ntnic/nim/i2c_nim.h

[PATCH v8 19/21] net/ntnic: add QSFP28 support

2024-07-12 Thread Serhii Iliushyk
Includes support for QSFP28 Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h| 21 ++ drivers/net/ntnic/link_mgmt/nt4ga_link.c | 25 +++ drivers/net/ntnic/nim/i2c_nim.c | 267 ++- drivers/net/ntnic/nim/nim_defines.h | 1 + 4 files

[PATCH v8 20/21] net/ntnic: add GPIO communication for NIMs

2024-07-12 Thread Serhii Iliushyk
For NIM reset sequence GPIO communication is used. After this commit the NIMs supported by ntnic is able to start up and be controlled fully by the adapter. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling --- drivers/net/ntnic/include/nt4ga_link.h| 1 + .../link_mgmt

[PATCH v8 21/21] net/ntnic: add physical layer control module

2024-07-12 Thread Serhii Iliushyk
Adds functionality to control the physical layer of the OSI model. This takes the form of the module MAC PCS (Media Access Control Physical Coding Sublayer). The functionality is used by the 100G link functionality to establish link. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include

[PATCH v9 04/21] net/ntnic: add NT utilities implementation

2024-07-16 Thread Serhii Iliushyk
Add ntnic utilities. Signed-off-by: Serhii Iliushyk --- v6 * NT utils header file was moved --- drivers/net/ntnic/meson.build | 2 ++ drivers/net/ntnic/ntnic_ethdev.c | 2 ++ drivers/net/ntnic/ntutil/nt_util.c | 33 +++ drivers/net/ntnic/ntutil/nt_util.h | 43

[PATCH v9 03/21] net/ntnic: add minimal initialization for PCI device

2024-07-16 Thread Serhii Iliushyk
add implementation for probe/init and remove/deinit of the PCI device. proper device deinitialization will be added letter. Signed-off-by: Serhii Iliushyk --- v6 * Add driver deinitialization * Add API rte_eth_dev_probing_finish * Add correct API for finishing probing the device

[PATCH v9 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-16 Thread Serhii Iliushyk
Add initial ntnic ethdev skeleton and register PCI probe functions Update documentation: Device description and feature list Signed-off-by: Serhii Iliushyk --- v6 * Remove unused includes * Remove EOF markers * Remove unnecesarry commpiller flags * Update documentation INI and RST files

[PATCH v9 02/21] net/ntnic: add logging implementation

2024-07-16 Thread Serhii Iliushyk
Adds ntnic specific implementation for logging. NT NIC uses this logging abstraction layer to ensure that FPGA module implementations function both within and outside in DPDK environment Signed-off-by: Serhii Iliushyk --- v6 * Logging header file was moved * Default log type was set to NOTICE

[PATCH v9 06/21] net/ntnic: add basic eth dev ops to ntnic

2024-07-16 Thread Serhii Iliushyk
Adds support for eth_dev configure, start, stop, close, and infos_get. The internal structs of ntnic is also added and initialized. Signed-off-by: Serhii Iliushyk --- v6 * Replace if_index with n_intf_no * Unnecessry resources free was fixed * Fix typo * Useless vars were removed v9 * Remove

[PATCH v9 07/21] net/ntnic: add core platform structures

2024-07-16 Thread Serhii Iliushyk
Adds many of the high level structures needed by the ntnic FPGA modules and adapter control. This is considered the first part of the skeleton of ntnic FPGA support Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntos_drv.h | 2 + drivers/net/ntnic/meson.build

[PATCH v9 05/21] net/ntnic: add VFIO module

2024-07-16 Thread Serhii Iliushyk
Adds VFIO functionality and the DMA it requires. The VFIO context is initialized during ntnic ethdev startup. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/meson.build | 1 + drivers/net/ntnic/ntnic_ethdev.c | 22 +++ drivers/net/ntnic/ntnic_vfio.c | 235

[PATCH v9 12/21] net/ntnic: add support of the NT200A0X smartNIC

2024-07-16 Thread Serhii Iliushyk
Add ntnic support for NT200A0X NIC Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 6 +++ drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_fpga.h | 7 +++ .../nthw/core/nt200a0x/nthw_fpga_nt200a0x.c | 54

[PATCH v9 11/21] net/ntnic: add FPGA initialization functionality

2024-07-16 Thread Serhii Iliushyk
Enable FPGA initialization and adds ethdev fw_version_get. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling v7 * Add FW update feature to documentation - INI and RST files --- doc/guides/nics/features/ntnic.ini| 1 + doc/guides/nics/ntnic.rst | 5

[PATCH v9 08/21] net/ntnic: add adapter initialization

2024-07-16 Thread Serhii Iliushyk
Add interfaces for initialize the adapter Add proper PCI device deinitialization Signed-off-by: Serhii Iliushyk --- v6 * Function for global var clearing was removed v9 * Fix PCI devide deinitialization * Fix p_hw_info usage --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 145

[PATCH v9 16/21] net/ntnic: add link 100G module ops

2024-07-16 Thread Serhii Iliushyk
As the ntnic can support different speeds, an abstraction layer for 100G speed is needed. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 12 - .../link_mgmt/link_100g/nt4ga_link_100g.c | 49 +++ drivers/net/ntnic/meson.build

[PATCH v9 15/21] net/ntnic: add link management skeleton

2024-07-16 Thread Serhii Iliushyk
Add functionality to read and control the link-state of the ntnic. Note that must functions are not implemented yet. Adds the following eth_dev_ops: - dev_set_link_up - dev_set_link_down - link_update - mac_addr_add - mac_addr_set - set_mc_addr_list - promiscuous_enable Signed-off-by: Serhii

[PATCH v9 10/21] net/ntnic: add FPGA modules for initialization

2024-07-16 Thread Serhii Iliushyk
tests, and configuration. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments DVO: Remove unnecessary comments --- drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_core.h | 16 + .../net/ntnic/nthw/core/include/nthw_hif.h| 151

[PATCH v9 18/21] net/ntnic: add QSFP support

2024-07-16 Thread Serhii Iliushyk
Includes support for QSFP and QSFP+. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h | 10 + .../link_mgmt/link_100g/nt4ga_link_100g.c | 12 +- drivers/net/ntnic/nim/i2c_nim.c | 310 +- drivers/net/ntnic/nim/i2c_nim.h

[PATCH v9 14/21] net/ntnic: add clock profile for the NT200A0X smartNIC

2024-07-16 Thread Serhii Iliushyk
. Signed-off-by: Serhii Iliushyk --- v6 * EOF comment was removed --- .../ntnic/include/clock_profiles_structs.h| 33 + .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 1 + drivers/net/ntnic/meson.build | 2 + .../net/ntnic/nthw/core/include/nthw_core.h | 2 + .../net

[PATCH v9 13/21] net/ntnic: add startup and reset sequence for NT200A0X

2024-07-16 Thread Serhii Iliushyk
Adds reset (RST) module for FW 9563. Also adds SDRAM Controller (SDC) module, as it is part of the startup and reset sequence. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling --- .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 81 +++ drivers/net/ntnic/meson.build

[PATCH v9 17/21] net/ntnic: add generic NIM and I2C modules

2024-07-16 Thread Serhii Iliushyk
for such a module is added as well. Additionally a thread is added to control the NIM stat machines. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 34 +++ drivers/net/ntnic/include/nt4ga_adapter.h | 3 + drivers/net

[PATCH v9 20/21] net/ntnic: add GPIO communication for NIMs

2024-07-16 Thread Serhii Iliushyk
For NIM reset sequence GPIO communication is used. After this commit the NIMs supported by ntnic is able to start up and be controlled fully by the adapter. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling --- drivers/net/ntnic/include/nt4ga_link.h| 1 + .../link_mgmt

[PATCH v9 19/21] net/ntnic: add QSFP28 support

2024-07-16 Thread Serhii Iliushyk
Includes support for QSFP28 Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h| 21 ++ drivers/net/ntnic/link_mgmt/nt4ga_link.c | 25 +++ drivers/net/ntnic/nim/i2c_nim.c | 267 ++- drivers/net/ntnic/nim/nim_defines.h | 1 + 4 files

[PATCH v9 21/21] net/ntnic: add physical layer control module

2024-07-16 Thread Serhii Iliushyk
Adds functionality to control the physical layer of the OSI model. This takes the form of the module MAC PCS (Media Access Control Physical Coding Sublayer). The functionality is used by the 100G link functionality to establish link. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include

[PATCH v10 03/21] net/ntnic: add minimal initialization for PCI device

2024-07-17 Thread Serhii Iliushyk
add implementation for probe/init and remove/deinit of the PCI device. proper device deinitialization will be added letter. Signed-off-by: Serhii Iliushyk --- v6 * Add driver deinitialization * Add API rte_eth_dev_probing_finish * Add correct API for finishing probing the device

[PATCH v10 02/21] net/ntnic: add logging implementation

2024-07-17 Thread Serhii Iliushyk
Adds ntnic specific implementation for logging. NT NIC uses this logging abstraction layer to ensure that FPGA module implementations function both within and outside in DPDK environment Signed-off-by: Serhii Iliushyk --- v6 * Logging header file was moved * Default log type was set to NOTICE

[PATCH v10 04/21] net/ntnic: add utilities implementation

2024-07-17 Thread Serhii Iliushyk
Add ntnic utilities. Signed-off-by: Serhii Iliushyk --- v6 * NT utils header file was moved v10 * Remove "NT" from the commit message title * Use 8 spaces as indentation in meson --- drivers/net/ntnic/meson.build | 2 ++ drivers/net/ntnic/ntnic_ethdev.c | 2 ++ drivers/net/nt

[PATCH v10 06/21] net/ntnic: add basic eth dev ops

2024-07-17 Thread Serhii Iliushyk
Adds support for eth_dev configure, start, stop, close, and infos_get. The internal structs of ntnic is also added and initialized. Signed-off-by: Serhii Iliushyk --- v6 * Replace if_index with n_intf_no * Unnecessry resources free was fixed * Fix typo * Useless vars were removed v9 * Remove

[PATCH v10 07/21] net/ntnic: add core platform structures

2024-07-17 Thread Serhii Iliushyk
Adds many of the high level structures needed by the ntnic FPGA modules and adapter control. This is considered the first part of the skeleton of ntnic FPGA support Signed-off-by: Serhii Iliushyk --- v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic/include/ntos_drv.h | 2

[PATCH v10 08/21] net/ntnic: add adapter initialization

2024-07-17 Thread Serhii Iliushyk
Add interfaces for initialize the adapter Add proper PCI device deinitialization Signed-off-by: Serhii Iliushyk --- v6 * Function for global var clearing was removed v9 * Fix PCI devide deinitialization * Fix p_hw_info usage v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic

[PATCH v10 05/21] net/ntnic: add VFIO module

2024-07-17 Thread Serhii Iliushyk
Adds VFIO functionality and the DMA it requires. The VFIO context is initialized during ntnic ethdev startup. Signed-off-by: Serhii Iliushyk --- v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic/meson.build | 1 + drivers/net/ntnic/ntnic_ethdev.c | 22 +++ drivers/net

[PATCH v10 12/21] net/ntnic: add support of the NT200A0X smartNIC

2024-07-17 Thread Serhii Iliushyk
Add ntnic support for NT200A0X NIC Signed-off-by: Serhii Iliushyk --- v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 6 +++ drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_fpga.h | 7 +++ .../nthw

[PATCH v10 16/21] net/ntnic: add link 100G module ops

2024-07-17 Thread Serhii Iliushyk
As the ntnic can support different speeds, an abstraction layer for 100G speed is needed. Signed-off-by: Serhii Iliushyk --- v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 12 - .../link_mgmt/link_100g/nt4ga_link_100g.c | 49

[PATCH v10 10/21] net/ntnic: add FPGA modules for initialization

2024-07-17 Thread Serhii Iliushyk
tests, and configuration. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments v10 * Use 8 spaces as indentation in meson DVO: Remove unnecessary comments --- drivers/net/ntnic/meson.build | 1 + .../net/ntnic/nthw/core/include/nthw_core.h | 16 + .../net/ntnic

[PATCH v10 13/21] net/ntnic: add startup and reset sequence for NT200A0X

2024-07-17 Thread Serhii Iliushyk
Adds reset (RST) module for FW 9563. Also adds SDRAM Controller (SDC) module, as it is part of the startup and reset sequence. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling v10 * Use 8 spaces as indentation in meson --- .../include/ntnic_nthw_fpga_rst_nt200a0x.h| 81

[PATCH v10 15/21] net/ntnic: add link management skeleton

2024-07-17 Thread Serhii Iliushyk
Add functionality to read and control the link-state of the ntnic. Note that must functions are not implemented yet. Adds the following eth_dev_ops: - dev_set_link_up - dev_set_link_down - link_update - mac_addr_add - mac_addr_set - set_mc_addr_list - promiscuous_enable Signed-off-by: Serhii

[PATCH v10 14/21] net/ntnic: add clock profile for the NT200A0X smartNIC

2024-07-17 Thread Serhii Iliushyk
. Signed-off-by: Serhii Iliushyk --- v6 * EOF comment was removed v10 * Remove "#ifdef __cplusplus" and "#endif" around static_assert * Use 8 spaces as indentation in meson --- .../ntnic/include/clock_profiles_structs.h| 33 + .../include/ntnic_nthw_fpga_rst_nt200a0x.h

[PATCH v10 19/21] net/ntnic: add QSFP28 support

2024-07-17 Thread Serhii Iliushyk
Includes support for QSFP28 Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h| 21 ++ drivers/net/ntnic/link_mgmt/nt4ga_link.c | 25 +++ drivers/net/ntnic/nim/i2c_nim.c | 267 ++- drivers/net/ntnic/nim/nim_defines.h | 1 + 4 files

[PATCH v10 11/21] net/ntnic: add FPGA initialization functionality

2024-07-17 Thread Serhii Iliushyk
Enable FPGA initialization and adds ethdev fw_version_get. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling v7 * Add FW update feature to documentation - INI and RST files v10 * Use 8 spaces as indentation in meson --- doc/guides/nics/features/ntnic.ini| 1 + doc/guides

[PATCH v10 17/21] net/ntnic: add generic NIM and I2C modules

2024-07-17 Thread Serhii Iliushyk
for such a module is added as well. Additionally a thread is added to control the NIM stat machines. Signed-off-by: Serhii Iliushyk --- v6 * Remove unnecessary comments v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 34 +++ drivers/net/ntnic

[PATCH v10 18/21] net/ntnic: add QSFP support

2024-07-17 Thread Serhii Iliushyk
Includes support for QSFP and QSFP+. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/ntnic_nim.h | 10 + .../link_mgmt/link_100g/nt4ga_link_100g.c | 12 +- drivers/net/ntnic/nim/i2c_nim.c | 310 +- drivers/net/ntnic/nim/i2c_nim.h

[PATCH v10 01/21] net/ntnic: add ethdev and makes PMD available

2024-07-17 Thread Serhii Iliushyk
Add initial ntnic ethdev skeleton and register PCI probe functions Update documentation: Device description and feature list Signed-off-by: Serhii Iliushyk --- v6 * Remove unused includes * Remove EOF markers * Remove unnecesarry commpiller flags * Update documentation INI and RST files

[PATCH v10 21/21] net/ntnic: add physical layer control module

2024-07-17 Thread Serhii Iliushyk
Adds functionality to control the physical layer of the OSI model. This takes the form of the module MAC PCS (Media Access Control Physical Coding Sublayer). The functionality is used by the 100G link functionality to establish link. Signed-off-by: Serhii Iliushyk --- v10 * Remove

[PATCH v10 20/21] net/ntnic: add GPIO communication for NIMs

2024-07-17 Thread Serhii Iliushyk
For NIM reset sequence GPIO communication is used. After this commit the NIMs supported by ntnic is able to start up and be controlled fully by the adapter. Signed-off-by: Serhii Iliushyk --- v5 * Fix Typo/Spelling v10 * Use 8 spaces as indentation in meson --- drivers/net/ntnic/include

[PATCH v1 02/17] net/ntnic: add core platform functionality

2024-05-30 Thread Serhii Iliushyk
Add ntnic platform interfaces for FPGA registers Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/nthw/nthw_drv.h | 94 +++ drivers/net/ntnic/nthw/nthw_epp.c | 226 ++ drivers/net/ntnic/nthw/nthw_epp.h | 92 +++ drivers/net/ntnic/nthw/nthw_helper.h

[PATCH v1 06/17] net/ntnic: add interfaces for PMD driver modules

2024-05-30 Thread Serhii Iliushyk
Add ntnic base interfaces for: link, NIM, sensors, statistics. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/nt4ga_link.h| 132 + drivers/net/ntnic/include/ntnic_dbs.h | 356 drivers/net/ntnic/include/ntnic_nim.h | 160 ++ .../include

[PATCH v1 07/17] net/ntnic: add API for PMD driver modules

2024-05-30 Thread Serhii Iliushyk
Add API for ntnic PMD driver modules, thus allow modules to be enabled/disabled. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/dpdk_mod_reg.c | 64 drivers/net/ntnic/dpdk_mod_reg.h | 167 ++ drivers/net/ntnic/ntnic_mod_reg.c | 382 ++ drivers/net/ntnic

[PATCH v1 09/17] net/ntnic: add VFIO module

2024-05-30 Thread Serhii Iliushyk
Add ntnic VFIO functionality. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/ntnic_vfio.c | 232 + drivers/net/ntnic/ntnic_vfio.h | 21 +++ 2 files changed, 253 insertions(+) create mode 100644 drivers/net/ntnic/ntnic_vfio.c create mode 100644 drivers

[PATCH v1 03/17] net/ntnic: add interfaces for platform functionality

2024-05-30 Thread Serhii Iliushyk
Add ntnic structures and prototypes for platform interfaces. Signed-off-by: Serhii Iliushyk --- .../nthw/core/include/nthw_clock_profiles.h | 20 ++ .../net/ntnic/nthw/core/include/nthw_core.h | 32 +++ .../net/ntnic/nthw/core/include/nthw_fpga.h | 54 + .../ntnic/nthw/core/include

[PATCH v1 10/17] net/ntnic: add Logs and utilities implementation

2024-05-30 Thread Serhii Iliushyk
Add ntnic logging API and utilities. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/ntlog/include/ntlog.h| 162 + drivers/net/ntnic/ntlog/ntlog.c| 108 ++ drivers/net/ntnic/ntutil/include/nt_util.h | 51 +++ drivers/net/ntnic/ntutil

[PATCH v1 08/17] net/ntnic: add interfaces for flow API engine

2024-05-30 Thread Serhii Iliushyk
Add ntnic basic flow filter functionality. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/flow_api.h | 89 ++ drivers/net/ntnic/include/flow_api_actions.h | 13 + drivers/net/ntnic/include/flow_api_engine.h | 46 + drivers/net/ntnic/include/flow_filter.h | 15

[PATCH v1 05/17] net/ntnic: add NTNIC adapter interfaces

2024-05-30 Thread Serhii Iliushyk
Add ntnic adapter interfaces structures. Signed-off-by: Serhii Iliushyk --- .../ntnic/include/clock_profiles_structs.h| 69 +++ .../net/ntnic/include/common_adapter_defs.h | 15 ++ drivers/net/ntnic/include/fpga_model.h| 153 +++ drivers/net/ntnic/include

[PATCH v1 04/17] net/ntnic: add FPGA model implementation

2024-05-30 Thread Serhii Iliushyk
Add ntnic query FPGA functionality. Signed-off-by: Serhii Iliushyk --- .../net/ntnic/nthw/model/nthw_fpga_model.c| 1218 + .../net/ntnic/nthw/model/nthw_fpga_model.h| 247 2 files changed, 1465 insertions(+) create mode 100644 drivers/net/ntnic/nthw/model

[PATCH v1 13/17] net/ntnic: add adapter initialization

2024-05-30 Thread Serhii Iliushyk
Add ntnic HW interfaces (PCIe, I2C) API. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_pci_ta_tg.c | 550 ++ drivers/net/ntnic/adapter/nt4ga_tfg.c | 69 +++ drivers/net/ntnic/include/nt4ga_tfg.h | 2 + drivers/net/ntnic/include

[PATCH v1 17/17] net/ntnic: add NIM module

2024-05-30 Thread Serhii Iliushyk
Includes support for NIM QSFP and QSFP+. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/meson.build | 20 +- drivers/net/ntnic/nim/i2c_nim.c | 1359 + drivers/net/ntnic/nim/i2c_nim.h | 77 + .../net/ntnic/nim/include

[PATCH v1 15/17] net/ntnic: add link management module

2024-05-30 Thread Serhii Iliushyk
Add ntnic link control. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/link_mgmt/nt4ga_link.c | 264 +++ 1 file changed, 264 insertions(+) create mode 100644 drivers/net/ntnic/link_mgmt/nt4ga_link.c diff --git a/drivers/net/ntnic/link_mgmt/nt4ga_link.c b/drivers/net

[PATCH v1 14/17] net/ntnic: add adapter initialization API

2024-05-30 Thread Serhii Iliushyk
Add ntnic adapter initialization API. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/adapter/nt4ga_adapter.c | 496 ++ drivers/net/ntnic/meson.build | 1 + 2 files changed, 497 insertions(+) create mode 100644 drivers/net/ntnic/adapter/nt4ga_adapter.c

[PATCH v1 11/17] net/ntnic: add ethdev and makes PMD available

2024-05-30 Thread Serhii Iliushyk
Add ethdev to ntnic. Signed-off-by: Serhii Iliushyk --- .mailmap |1 + MAINTAINERS|6 + doc/guides/nics/features/ntnic.ini |9 + doc/guides/nics/index.rst |1 + doc/guides/nics/ntnic.rst | 115 +++ drivers/net

[PATCH v1 16/17] net/ntnic: add link 100G module

2024-05-30 Thread Serhii Iliushyk
Add ntnic 100G link support. Signed-off-by: Serhii Iliushyk --- drivers/net/ntnic/include/nt4ga_link.h| 8 + .../link_mgmt/link_100g/nt4ga_link_100g.c | 840 .../link_mgmt/link_100g/nt4ga_link_100g.h | 11 + .../net/ntnic/nthw/core/include/nthw_core.h | 2

  1   2   3   4   5   6   7   8   9   10   >