[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <B256D81BAE5131468A838E5D7A243641BFD3A07F@penmbx01>
Date: Fri, 30 Jan 2015 06:54:01 +0000
From: "Yang, Wenyou" <Wenyou.Yang@...el.com>
To: Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
"Ferre, Nicolas" <Nicolas.FERRE@...el.com>,
"linux@....linux.org.uk" <linux@....linux.org.uk>
CC: "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"alexandre.belloni@...e-electrons.com"
<alexandre.belloni@...e-electrons.com>,
"sylvain.rochet@...secur.com" <sylvain.rochet@...secur.com>,
"peda@...ntia.se" <peda@...ntia.se>,
"linux@...im.org.za" <linux@...im.org.za>
Subject: RE: [PATCH v5 05/13] pm: at91: move the copying the sram function
to the sram initializationi phase
Hi Sergei,
Thank you for your review and suggestion.
> -----Original Message-----
> From: Sergei Shtylyov [mailto:sergei.shtylyov@...entembedded.com]
> Sent: Thursday, January 29, 2015 6:11 PM
> To: Yang, Wenyou; Ferre, Nicolas; linux@....linux.org.uk
> Cc: linux-arm-kernel@...ts.infradead.org; linux-kernel@...r.kernel.org;
> alexandre.belloni@...e-electrons.com; sylvain.rochet@...secur.com;
> peda@...ntia.se; linux@...im.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 <wenyou.yang@...el.com>
> > Acked-by: Alexandre Belloni <alexandre.belloni@...e-electrons.com>
> > ---
> > 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)
>
> > @@ -328,7 +327,10 @@ static void __init at91_pm_init(void)
> > if (at91_cpuidle_device.dev.platform_data)
> > platform_device_register(&at91_cpuidle_device);
> >
> > - suspend_set_ops(&at91_pm_ops);
> > + if (slow_clock)
> > + suspend_set_ops(&at91_pm_ops);
> > + else
> > + pr_info("AT91: PM : Not supported, due to no sram allocated\n");
>
> I'd suggest upper-casing "sram". And removing of colon after "PM".
Will change.
>
> [...]
>
> WBR, Sergei
Best Regards,
Wenyou Yang
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists