[PATCH u-boot-marvell 1/5] arm: mvebu: Fix function enable_caches

Stefan Roese sr at denx.de
Mon Sep 12 08:57:19 CEST 2022


On 08.09.22 16:06, Marek Behún wrote:
> From: Pali Rohár <pali at kernel.org>
> 
> Commit 3308933d2fe9 ("arm: mvebu: Avoid reading MVEBU_REG_PCIE_DEVID
> register too many times") broke support for caches on all Armada SoCs.
> 
> Before that commit there was code:
> 
>      if (mvebu_soc_family() != MVEBU_SOC_A375) {
>          dcache_enable();
>      }
> 
> And after that commit there is code:
> 
>      if (IS_ENABLED(CONFIG_ARMADA_375)) {
>          dcache_enable();
>      }
> 
> Comment above this code says that d-cache should be disabled on Armada 375.
> But new code inverted logic and broke Armada 375 and slowed down all other
> Armada SoCs (including A38x).
> 
> Fix this issue by changing logic to:
> 
>      if (!IS_ENABLED(CONFIG_ARMADA_375)) {
>          dcache_enable();
>      }
> 
> Which matches behavior prior that commit.
> 
> Fixes: 3308933d2fe9 ("arm: mvebu: Avoid reading MVEBU_REG_PCIE_DEVID register too many times")
> Signed-off-by: Pali Rohár <pali at kernel.org>
> Signed-off-by: Marek Behún <kabel at kernel.org>

Reviewed-by: Stefan Roese <sr at denx.de>

Thanks,
Stefan

> ---
>   arch/arm/mach-mvebu/cpu.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-mvebu/cpu.c b/arch/arm/mach-mvebu/cpu.c
> index 1457af1d6a..b512ccc501 100644
> --- a/arch/arm/mach-mvebu/cpu.c
> +++ b/arch/arm/mach-mvebu/cpu.c
> @@ -663,7 +663,7 @@ void enable_caches(void)
>   	 * ethernet driver (mvpp2). So lets keep the d-cache disabled
>   	 * until this is solved.
>   	 */
> -	if (IS_ENABLED(CONFIG_ARMADA_375)) {
> +	if (!IS_ENABLED(CONFIG_ARMADA_375)) {
>   		/* Enable D-cache. I-cache is already enabled in start.S */
>   		dcache_enable();
>   	}

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list