Re: [PATCH net-next v4 1/7] queue_api: add support for fetching per queue DMA dev
From: Jakub Kicinski <kuba@kernel.org>
Date: 2025-08-21 01:01:01
Also in:
lkml
On Wed, 20 Aug 2025 20:11:52 +0300 Dragos Tatulea wrote:
+ * @ndo_queue_get_dma_dev: Get dma device for zero-copy operations to be used + * for this queue. When such device is not available, + * the function will return NULL.
nit: I think you're using a different tense/grammar than the doc for other callbacks (which is admittedly somewhat unusual :$) Also should we indicate that "not available" is an error? Maybe just: Get dma device for zero-copy operations to be used for this queue. Return NULL on error.
* Note that @ndo_queue_mem_alloc and @ndo_queue_mem_free may be called while * the interface is closed. @ndo_queue_start and @ndo_queue_stop will only * be called for an interface which is open.
+/** + * netdev_queue_get_dma_dev() - get dma device for zero-copy operations + * @dev: net_device + * @idx: queue index + * + * Get dma device for zero-copy operations to be used for this queue. + * When such device is not available or valid, the function will return NULL.
Unfortunately kdoc really wants us to add Return: statements to all functions...
+ */
+struct device *netdev_queue_get_dma_dev(struct net_device *dev, int idx)
+{
+ const struct netdev_queue_mgmt_ops *queue_ops = dev->queue_mgmt_ops;
+ struct device *dma_dev;
+
+ if (queue_ops && queue_ops->ndo_queue_get_dma_dev)
+ dma_dev = queue_ops->ndo_queue_get_dma_dev(dev, idx);
+ else
+ dma_dev = dev->dev.parent;
+
+ return dma_dev && dma_dev->dma_mask ? dma_dev : NULL;
+}
+EXPORT_SYMBOL(netdev_queue_get_dma_dev);
\ No newline at end of fileThis is in desperate need of a terminating new line. But also -- why the export? iouring and devmem can't be modules.