On 31/01/2024 4:52 pm, Simon Horman wrote:
On Fri, Jan 26, 2024 at 02:54:50PM +0100, Alexander Lobakin wrote:
Some platforms do have DMA, but DMA there is always direct and coherent.
Currently, even on such platforms DMA sync operations are compiled and
called.
Add a new hidden Kconfig symbol, DMA_NEED_SYNC, and set it only when
either sync operations are needed or there is DMA ops or swiotlb
enabled. Set dma_need_sync() and dma_skip_sync() (stub for now)
depending on this symbol state and don't call sync ops when
dma_skip_sync() is true.
The change allows for future optimizations of DMA sync calls depending
on compile-time or runtime conditions.
Signed-off-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>
Hi Alexander,
This seems to cause x86_64 allmodconfig builds to fail:
Oh yeah, the sync_single_range definitions shouldn't need touching at
all, since they're unconditional wrappers around regular sync_single
invocations (which already may or may not do anything).
Thanks,
Robin.
../drivers/media/platform/ti/omap3isp/ispstat.c:82:35: error: ‘dma_sync_single_range_for_device’ undeclared (first use in this function); did you mean ‘dma_sync_sgtable_for_device’?
82 | dma_sync_single_range_for_device);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| dma_sync_sgtable_for_device
../drivers/media/platform/ti/omap3isp/ispstat.c:82:35: note: each undeclared identifier is reported only once for each function it appears in
../drivers/media/platform/ti/omap3isp/ispstat.c: In function ‘isp_stat_buf_sync_magic_for_cpu’:
../drivers/media/platform/ti/omap3isp/ispstat.c:94:35: error: ‘dma_sync_single_range_for_cpu’ undeclared (first use in this function); did you mean ‘dma_sync_sgtable_for_cpu’?
94 | dma_sync_single_range_for_cpu);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| dma_sync_sgtable_for_cpu