Re: [PATCH net-next v3 2/7] dma: avoid redundant calls for sync operations

From: Robin Murphy
Date: Mon Feb 26 2024 - 10:46:20 EST


On 19/02/2024 12:49 pm, Alexander Lobakin wrote:
From: Robin Murphy <robin.murphy@xxxxxxx>
Date: Wed, 14 Feb 2024 17:55:23 +0000

On 2024-02-14 4:21 pm, Alexander Lobakin wrote:

[...]

+        /*
+         * Synchronization is not possible when none of DMA sync ops
+         * is set. This check precedes the below one as it disables
+         * the synchronization unconditionally.
+         */
+        dev->dma_skip_sync = true;
+    else if (ops->flags & DMA_F_CAN_SKIP_SYNC)

Personally I'd combine this into the dma-direct condition.

Please read the code comment a couple lines above :D

And my point is that that logic is not actually useful, since it would be nonsensical for ops to set DMA_F_CAN_SKIP_SYNC if they don't even implement sync ops anyway.

If the intent of DMA_F_CAN_SKIP_SYNC is to mean "behaves like dma-direct", then "if (dma_map_direct(...) || ops->flags & DMA_F_CAN_SKIP_SYNC)" is an entirely logical and expected condition.

Thanks,
Robin.