[PATCH] ARM: EXYNOS5: Fix kernel dump in AFTR idle mode

Chander Kashyap chander.kashyap at linaro.org
Mon Apr 29 07:54:34 EDT 2013


On 29 April 2013 17:01, Inderpal Singh <inderpal.singh at linaro.org> wrote:
>
> The kernel crashes while resuming from AFTR idle mode. It happens
> because L2 cache was not going into retention state.
>
> This patch configures the USE_RETENTION bit of ARM_L2_OPTION register
> so that it does not depend on MANUAL_L2RSTDISABLE_CONTROL of
> ARM_COMMON_OPTION register for L2RSTDISABLE signal.
>
> Signed-off-by: Inderpal Singh <inderpal.singh at linaro.org>
> ---
>
> Tested on arndale board on arm-soc next/soc branch.
>
>  arch/arm/mach-exynos/include/mach/regs-pmu.h |    1 +
>  arch/arm/mach-exynos/pmu.c                   |    5 ++---
>  2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/include/mach/regs-pmu.h b/arch/arm/mach-exynos/include/mach/regs-pmu.h
> index 3f30aa1..57344b7 100644
> --- a/arch/arm/mach-exynos/include/mach/regs-pmu.h
> +++ b/arch/arm/mach-exynos/include/mach/regs-pmu.h
> @@ -344,6 +344,7 @@
>  #define EXYNOS5_FSYS_ARM_OPTION                                        S5P_PMUREG(0x2208)
>  #define EXYNOS5_ISP_ARM_OPTION                                 S5P_PMUREG(0x2288)
>  #define EXYNOS5_ARM_COMMON_OPTION                              S5P_PMUREG(0x2408)
> +#define EXYNOS5_ARM_L2_OPTION                                  S5P_PMUREG(0x2608)
>  #define EXYNOS5_TOP_PWR_OPTION                                 S5P_PMUREG(0x2C48)
>  #define EXYNOS5_TOP_PWR_SYSMEM_OPTION                          S5P_PMUREG(0x2CC8)
>  #define EXYNOS5_JPEG_MEM_OPTION                                        S5P_PMUREG(0x2F48)
> diff --git a/arch/arm/mach-exynos/pmu.c b/arch/arm/mach-exynos/pmu.c
> index daebc1a..97d6885 100644
> --- a/arch/arm/mach-exynos/pmu.c
> +++ b/arch/arm/mach-exynos/pmu.c
> @@ -228,6 +228,7 @@ static struct exynos_pmu_conf exynos5250_pmu_config[] = {
>         { EXYNOS5_DIS_IRQ_ISP_ARM_CENTRAL_SYS_PWR_REG,  { 0x0, 0x0, 0x0} },
>         { EXYNOS5_ARM_COMMON_SYS_PWR_REG,               { 0x0, 0x0, 0x2} },
>         { EXYNOS5_ARM_L2_SYS_PWR_REG,                   { 0x3, 0x3, 0x3} },
> +       { EXYNOS5_ARM_L2_OPTION,                        { 0x10, 0x10, 0x0 } },
>         { EXYNOS5_CMU_ACLKSTOP_SYS_PWR_REG,             { 0x1, 0x0, 0x1} },
>         { EXYNOS5_CMU_SCLKSTOP_SYS_PWR_REG,             { 0x1, 0x0, 0x1} },
>         { EXYNOS5_CMU_RESET_SYS_PWR_REG,                { 0x1, 0x1, 0x0} },
> @@ -353,11 +354,9 @@ static void exynos5_init_pmu(void)
>
>         /*
>          * SKIP_DEACTIVATE_ACEACP_IN_PWDN_BITFIELD Enable
> -        * MANUAL_L2RSTDISABLE_CONTROL_BITFIELD Enable
>          */
>         tmp = __raw_readl(EXYNOS5_ARM_COMMON_OPTION);
> -       tmp |= (EXYNOS5_MANUAL_L2RSTDISABLE_CONTROL |
> -               EXYNOS5_SKIP_DEACTIVATE_ACEACP_IN_PWDN);
> +       tmp |= EXYNOS5_SKIP_DEACTIVATE_ACEACP_IN_PWDN;
>         __raw_writel(tmp, EXYNOS5_ARM_COMMON_OPTION);
>
>         /*
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

working fine.
Tested-by: Chander Kashyap <chander.kashyap at linaro.org>



--
with warm regards,
Chander Kashyap



More information about the linux-arm-kernel mailing list