[RFC net-next 0/4] devmem/io_uring: Allow devices without parent PCI device

Dragos Tatulea posted 4 patches 3 months, 1 week ago
drivers/net/ethernet/mellanox/mlx5/core/en_main.c |  3 +++
include/linux/netdevice.h                         | 13 +++++++++++++
io_uring/zcrx.c                                   |  2 +-
net/core/devmem.c                                 | 10 +++++++++-
4 files changed, 26 insertions(+), 2 deletions(-)
[RFC net-next 0/4] devmem/io_uring: Allow devices without parent PCI device
Posted by Dragos Tatulea 3 months, 1 week ago
The io_uring and devmem code is assuming that the parent device of the
netdev is a DMA capable device. This is not always the case.

Some devices do have a DMA capable device that can be used, but not as
parent: mlx5 SFs have an auxdev as parent, but they do have an
associated PCI device.

Also, if DMA is not supported the operation should be blocked. Otherwise
the mapping will return success with 0 mapped entries and the caller
will consider the mapping as succesful.

This RFC is supposed to start the discussion on the best way to:
- Block the binding operation early if not supported.
- Allow devices that support this usecase but don't have a
  parent device as a PCI device.

Dragos Tatulea (4):
  net: Allow non parent devices to be used for ZC DMA
  io_uring/zcrx: Use the new netdev_get_dma_dev() API
  net: devmem: Use the new netdev_get_dma_dev() API
  net/mlx5e: Enable HDS zerocopy flows for SFs

 drivers/net/ethernet/mellanox/mlx5/core/en_main.c |  3 +++
 include/linux/netdevice.h                         | 13 +++++++++++++
 io_uring/zcrx.c                                   |  2 +-
 net/core/devmem.c                                 | 10 +++++++++-
 4 files changed, 26 insertions(+), 2 deletions(-)

-- 
2.50.0