[PATCH 1/1] riscv: set ARCH_DMA_DEFAULT_COHERENT if RISCV_DMA_NONCOHERENT is not set

Maxim Kochetkov fido_max at inbox.ru
Fri Dec 22 07:38:22 PST 2023



On 22.12.2023 17:54, Conor Dooley wrote:

>> etc..) do not have this feature. These devices will use value from
>> device_initialize(). And we have no possibility to change
>> dma_default_coherent value by disabling ARCH_DMA_DEFAULT_COHERENT.
>> Moreover, changing dma_default_coherent from false to true may cause
>> regression for other devices.
> 
> How can there be a regression when dma has been coherent by default for
> the RISC-V kernel from day 1?

Before ARCH_DMA_DEFAULT_COHERENT patch dma_default_coherent was used 
unassigned as "false" in device_initialize():
..........
#if defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE) || \
     defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU) || \
     defined(CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU_ALL)
	dev->dma_coherent = dma_default_coherent;
#endif
..........
And now it becomes "true". It may change behavior of other non-DT drivers.



More information about the linux-riscv mailing list