On 17:22, Anshul Dalal wrote:
> ARCH_K3 encompasses both 32 and 64-bit cores on the same SoC, though the
> DMA addresses are always 64-bit in size.
> 
> With the current implementation, the R5 SPL uses a u32 for dma_addr_t
> which leads to data overflow when functions such as k3_nav_*_pop_mem try
> to write a 64-bit address to dma_addr_t variable.
> 
> In certain cases it leads to stack corruption which manifest as boot
> failures on certain compilers, such as SPI boot on GCC 14.2 or 13.3.
> 
> Therefore this patch selects CONFIG_DMA_ADDR_T_64BIT for all ARCH_K3.
> 
> Fixes: ffcc66e8fec5 ("dma: ti: add driver to K3 UDMA")
> Signed-off-by: Anshul Dalal <ansh...@ti.com>
> ---
>  arch/arm/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 40368abc297..16db046f4b8 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -833,6 +833,7 @@ config ARCH_K3
>       select FIT
>       select REGEX
>       select FIT_SIGNATURE if ARM64
> +     select DMA_ADDR_T_64BIT
>       select LTO
>       imply TI_SECURE_DEVICE
>       imply DM_RNG if ARM64
> -- 
> 2.50.1
> 

Reviewed-by:  Prasanth Babu Mantena <p-mant...@ti.com>

Thanks
Prasanth

Reply via email to