]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Merge branch 'devmem-io_uring-allow-more-flexibility-for-zc-dma-devices'
authorJakub Kicinski <kuba@kernel.org>
Thu, 28 Aug 2025 23:05:34 +0000 (16:05 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 Aug 2025 23:05:34 +0000 (16:05 -0700)
commitbbf02c318425e362c88dc3da49da6f95193551c5
treea9aea0f5b229492569e5fe410807413cf16f29dc
parent14cd01c28fb1e77d9bb55bd43fd8df6d584e284a
parentb8aab4bb9585078012f5b6020454337a47081501
Merge branch 'devmem-io_uring-allow-more-flexibility-for-zc-dma-devices'

Dragos Tatulea says:

====================
devmem/io_uring: allow more flexibility for ZC DMA devices

For TCP zerocopy rx (io_uring, devmem), there is an assumption that the
parent device can do DMA. However that is not always the case:
- Scalable Function netdevs [1] have the DMA device in the grandparent.
- For Multi-PF netdevs [2] queues can be associated to different DMA
  devices.

The series adds an API for getting the DMA device for a netdev queue.
Drivers that have special requirements can implement the newly added
queue management op. Otherwise the parent will still be used as before.

This series continues with switching to this API for io_uring zcrx and
devmem and adds a ndo_queue_dma_dev op for mlx5.

The last part of the series changes devmem rx bind to get the DMA device
per queue and blocks the case when multiple queues use different DMA
devices. The tx bind is left as is.

[1] Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst
[2] Documentation/networking/multi-pf-netdev.rst
====================

Link: https://patch.msgid.link/20250827144017.1529208-2-dtatulea@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>