From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761499AbbA3LUx (ORCPT ); Fri, 30 Jan 2015 06:20:53 -0500 Received: from mail-la0-f49.google.com ([209.85.215.49]:45942 "EHLO mail-la0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754319AbbA3LUv (ORCPT ); Fri, 30 Jan 2015 06:20:51 -0500 Message-ID: <54CB6910.4040907@cogentembedded.com> Date: Fri, 30 Jan 2015 14:20:48 +0300 From: Sergei Shtylyov User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: "Yang, Wenyou" , "Ferre, Nicolas" , "linux@arm.linux.org.uk" CC: "linux-arm-kernel@lists.infradead.org" , "linux-kernel@vger.kernel.org" , "alexandre.belloni@free-electrons.com" , "sylvain.rochet@finsecur.com" , "peda@axentia.se" , "linux@maxim.org.za" Subject: Re: [PATCH v5 05/13] pm: at91: move the copying the sram function to the sram initializationi phase References: <1422513316-21509-1-git-send-email-wenyou.yang@atmel.com> <1422513535-23885-1-git-send-email-wenyou.yang@atmel.com> <54CA0739.2030101@cogentembedded.com> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello. On 1/30/2015 9:54 AM, Yang, Wenyou wrote: > Thank you for your review and suggestion. Not at all. >> -----Original Message----- >> From: Sergei Shtylyov [mailto:sergei.shtylyov@cogentembedded.com] >> Sent: Thursday, January 29, 2015 6:11 PM >> To: Yang, Wenyou; Ferre, Nicolas; linux@arm.linux.org.uk >> Cc: linux-arm-kernel@lists.infradead.org; linux-kernel@vger.kernel.org; >> alexandre.belloni@free-electrons.com; sylvain.rochet@finsecur.com; >> peda@axentia.se; linux@maxim.org.za >> Subject: Re: [PATCH v5 05/13] pm: at91: move the copying the sram function to >> the sram initializationi phase >> Hello. >> On 1/29/2015 9:38 AM, Wenyou Yang wrote: >>> To decrease the suspend time, move the copying the sram function to >>> the sram initialization phase, instead of every time go to suspend. >>> In the meanwhile, if there is no sram allocated for PM, the PM is not supported. >>> Signed-off-by: Wenyou Yang >>> Acked-by: Alexandre Belloni >>> --- >>> arch/arm/mach-at91/pm.c | 12 +++++++----- >>> 1 file changed, 7 insertions(+), 5 deletions(-) >>> diff --git a/arch/arm/mach-at91/pm.c b/arch/arm/mach-at91/pm.c index >>> daa998d..6df0152 100644 >>> --- a/arch/arm/mach-at91/pm.c >>> +++ b/arch/arm/mach-at91/pm.c >>> @@ -163,10 +163,6 @@ static int at91_pm_enter(suspend_state_t state) >>> * turning off the main oscillator; reverse on wakeup. >>> */ >>> if (slow_clock) { >>> -#ifdef CONFIG_AT91_SLOW_CLOCK >>> - /* copy slow_clock handler to SRAM, and call it */ >>> - memcpy(slow_clock, at91_slow_clock, >>> at91_slow_clock_sz); >>> -#endif >>> slow_clock(at91_pmc_base, at91_ramc_base[0], >>> at91_ramc_base[1], >>> at91_pm_data.memctrl); >>> @@ -311,6 +307,9 @@ static void __init at91_pm_sram_init(void) >>> sram_pbase = gen_pool_virt_to_phys(sram_pool, sram_base); >>> slow_clock = __arm_ioremap_exec(sram_pbase, at91_slow_clock_sz, >>> false); >>> >>> + /* Copy the slow_clock handler to SRAM */ >>> + memcpy(slow_clock, at91_slow_clock, at91_slow_clock_sz); >> AFAIU (looking at the code above and below), __arm_ioremap_exec() can return >> NULL and in this case memcpy() will cause kernel oops. > Will add a condition before copying > if (sram_pbase) I rather meant *if* (slow_clock). [...] > Best Regards, > Wenyou Yang WBR, Sergei