Thread (20 messages) 20 messages, 3 authors, 2025-08-21

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 file
This is in desperate need of a terminating new line.

But also -- why the export? iouring and devmem can't be modules.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help