[BUG] ARM: socfpga: L2 cache init

Dinh Nguyen dinh.linux at gmail.com
Wed Feb 25 08:30:32 PST 2015


On Wed, Feb 25, 2015 at 3:26 AM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Tue, Feb 24, 2015 at 05:55:05PM -0600, Dinh Nguyen wrote:
>> Do you have a recommendation on what should be done?
>
> Please try this:
>
>  arch/arm/mach-socfpga/socfpga.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c
> index 383d61e138af..f5e597c207b9 100644
> --- a/arch/arm/mach-socfpga/socfpga.c
> +++ b/arch/arm/mach-socfpga/socfpga.c
> @@ -23,6 +23,7 @@
>  #include <asm/hardware/cache-l2x0.h>
>  #include <asm/mach/arch.h>
>  #include <asm/mach/map.h>
> +#include <asm/cacheflush.h>
>
>  #include "core.h"
>
> @@ -73,6 +74,10 @@ void __init socfpga_sysmgr_init(void)
>                         (u32 *) &socfpga_cpu1start_addr))
>                 pr_err("SMP: Need cpu1-start-addr in device tree.\n");
>
> +       /* Ensure that socfpga_cpu1start_addr is visible to other CPUs */
> +       smp_wmb();
> +       sync_cache_w(&socfpga_cpu1start_addr);
> +
>         sys_manager_base_addr = of_iomap(np, 0);
>
>         np = of_find_compatible_node(NULL, NULL, "altr,rst-mgr");
>
> --


Thanks Russell! I have been able to run the test for > 30 minutes now
with both cores coming up just fine.

Do you mind taking this patch for 4.0-rc? If so,

Tested-by: Dinh Nguyen <dinguyen at opensource.altera.com>

Steffen, if you don't mind, do you want to test on your setup as well?

Thanks,
Dinh



More information about the linux-arm-kernel mailing list