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.