[PATCH] FIX:cache:exynos: Execute the cache reconfiguration unconditionally for Exynos4
Tomasz Figa
tomasz.figa at gmail.com
Thu May 15 14:02:42 PDT 2014
On 15.05.2014 22:55, Kukjin Kim wrote:
> On 05/15/14 20:34, Lukasz Majewski wrote:
>> The commit 2bf73dd61a84cdf27e49f48e08739af6ba70ace1 has made the cache
>> configuration depending on definition of CONFIG_S5P_SLEEP Kconfig flag.
>> It is enabled on various S5PV210 incarnations and not available at
>> Exynos4
>> family of SoCs.
>>
>> The problem emerges when one wants to disable/enable core via hotplug
>> - e.g:
>> echo 0> /sys/devices/system/cpu/cpu1/online.
>> When CONFIG_CPU_IDLE is enabled (it is not enabled at default
>> exynos_defconfig).
>>
>> On Exynos4 based targets (Exynos4412 and Exynos4210, namely trats2 and
>> trats) board locks up and consumes considerable power.
>>
>> This patch does nothing more than restoration of the state before the
>> offending commit.
>>
>> Tested on top of next-20140514 at Trats board.
>>
>> Signed-off-by: Lukasz Majewski<l.majewski at samsung.com>
>> ---
>> arch/arm/mach-exynos/exynos.c | 7 +++----
>> 1 file changed, 3 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/arm/mach-exynos/exynos.c
>> b/arch/arm/mach-exynos/exynos.c
>> index 1b97b93..5c8b334 100644
>> --- a/arch/arm/mach-exynos/exynos.c
>> +++ b/arch/arm/mach-exynos/exynos.c
>> @@ -254,10 +254,9 @@ static int __init exynos4_l2x0_cache_init(void)
>> if (ret)
>> return ret;
>>
>> - if (IS_ENABLED(CONFIG_S5P_SLEEP)) {
>> - l2x0_regs_phys = virt_to_phys(&l2x0_saved_regs);
>> - clean_dcache_area(&l2x0_regs_phys, sizeof(unsigned long));
>> - }
>
> Hmm...should be PM_SLEEP instead of removing check the S5P_SLEEP. This
> is missed when we stopped to use legacy Samsung PM(commit ID d710aa31)
Yes, should be. I have already discussed this with Lukasz and he was
supposed to send next version.
Best regards,
Tomasz
More information about the linux-arm-kernel
mailing list