Thread (8 messages) 8 messages, 2 authors, 21d ago

Re: [PATCH net-next 1/5] net/mlx5: nodnic: Introduce the mlx5_nodnic driver

flat view

From: Simon Horman <horms@kernel.org>
Date: 2026-10-02 17:16:14
Also in: lkml

On Wed, Sep 30, 2026 at 03:57:04PM +0300, Tariq Toukan wrote:
From: Shahar Shitrit <redacted>

Introduce mlx5_nodnic, a driver for DRAM-less NVIDIA Mellanox NIC
functions.

It defines a lightweight NIC function intended for contexts where local
DRAM is unavailable or too costly: embedded controllers, management
planes, pre-boot environments, or any resource-constrained instantiation
of a ConnectX NIC. The hardware sends and receives ordinary Ethernet
frames via SQs, RQs and CQs. There is no encapsulation, no private
protocol, and no FW interposition: packets are forwarded as standard
Ethernet between whatever peers are connected to the function. The
interface is documented in the HW spec and has been in production in
non-Linux OS drivers for over a decade.

This patch implements the PCI probe and remove flows, including FLR,
firmware readiness, interface negotiation and capability discovery,
followed by port and ring configuration.

It also adds the VSC access layer for PCI configuration-space accesses
to the initialization segment and to the NODNIC configuration registers.
Set up the event IRQ for link-state notifications, retrieve the port MAC
address, and implement the netdev lifecycle, including ndo_open and
ndo_stop.

Signed-off-by: Shahar Shitrit <redacted>
Reviewed-by: Carolina Jubran <redacted>
Signed-off-by: Tariq Toukan <tariqt@nvidia.com>
Unfortunately this patch introduces a number of Sparse warnings.
Which other than looking like they should be addressed
also appears to have gated sashiko-nipa from running.

.../nodnic/nodnic_pci_vsc.c:336:16: warning: cast to restricted __le32
.../nodnic/nodnic_pci_vsc.c:336:16: warning: incorrect type in return expression (different base types)
.../nodnic/nodnic_pci_vsc.c:336:16:    expected unsigned int
.../nodnic/nodnic_pci_vsc.c:336:16:    got restricted __be32 [usertype]
.../nodnic/nodnic_pci_vsc.c:341:16: warning: cast to restricted __be32
.../nodnic/nodnic_pci_vsc.c:341:16: warning: incorrect type in return expression (different base types)
.../nodnic/nodnic_pci_vsc.c:341:16:    expected unsigned int
.../nodnic/nodnic_pci_vsc.c:341:16:    got restricted __le32 [usertype]
.../nodnic/nodnic_pci_vsc.c:363:25: warning: cast to restricted __le32
.../nodnic/nodnic_pci_vsc.c:407:17: warning: cast to restricted __le32
.../nodnic/nodnic_pci_vsc.c:415:14: warning: incorrect type in assignment (different base types)
.../nodnic/nodnic_pci_vsc.c:415:14:    expected unsigned int [usertype] data
.../nodnic/nodnic_pci_vsc.c:415:14:    got restricted __le32 [usertype]
.../nodnic/en_cfg.c:28:16: warning: incorrect type in assignment (different base types)
.../nodnic/en_cfg.c:28:16:    expected unsigned int [usertype] addr_h
.../nodnic/en_cfg.c:28:16:    got restricted __be32 [usertype]
.../nodnic/en_cfg.c:117:15: warning: incorrect type in assignment (different base types)
.../nodnic/en_cfg.c:117:15:    expected unsigned int [usertype] dbr_h
.../nodnic/en_cfg.c:117:15:    got restricted __be32 [usertype]
.../nodnic/en_cfg.c:237:15: warning: incorrect type in assignment (different base types)
.../nodnic/en_cfg.c:237:15:    expected unsigned int [usertype] dbr_l
.../nodnic/en_cfg.c:237:15:    got restricted __be32 [usertype]
.../nodnic/en_cfg.c:248:15: warning: incorrect type in assignment (different base types)
.../nodnic/en_cfg.c:248:15:    expected unsigned int [usertype] dbr_h
.../nodnic/en_cfg.c:248:15:    got restricted __be32 [usertype]

-- 
pw-bot: changes-requested
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help