From: alexandre.belloni@free-electrons.com (Alexandre Belloni)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 5/8] power: reset: at91-reset: use at91_ramc_shutdown
Date: Wed, 22 Oct 2014 09:18:45 +0200 [thread overview]
Message-ID: <20141022071845.GM10616@piout.net> (raw)
In-Reply-To: <20141022090810.167c470f@free-electrons.com>
On 22/10/2014 at 09:08:10 +0200, Thomas Petazzoni wrote :
> Dear Alexandre Belloni,
>
> On Tue, 21 Oct 2014 23:55:37 +0200, Alexandre Belloni wrote:
>
> > /*
> > * unless the SDRAM is cleanly shutdown before we hit the
> > * reset register it can be left driving the data bus and
> > * killing the chance of a subsequent boot from NAND
> > */
> > -static void at91sam9260_restart(enum reboot_mode mode, const char *cmd)
> > +static void at91_restart(enum reboot_mode mode, const char *cmd)
> > {
> > - asm volatile(
> > - /* Align to cache lines */
> > - ".balign 32\n\t"
> > -
> > - /* Disable SDRAM accesses */
> > - "str %2, [%0, #" __stringify(AT91_SDRAMC_TR) "]\n\t"
> > -
> > - /* Power down SDRAM */
> > - "str %3, [%0, #" __stringify(AT91_SDRAMC_LPR) "]\n\t"
> > + if (at91_ramc_shutdown)
> > + at91_ramc_shutdown();
> >
> > + asm volatile(
> > /* Reset CPU */
> > - "str %4, [%1, #" __stringify(AT91_RSTC_CR) "]\n\t"
> > + "str %1, [%0, #" __stringify(AT91_RSTC_CR) "]\n\t"
> >
> > "b .\n\t"
>
> Are you sure this is working properly? There was a reason to have the
> SDRAM controller shutdown right before resetting the CPU: the code was
> ensuring that all those assembly instructions fitted in one cache line,
> so that even if the SDRAM controller gets shutdown, the rest of the
> code can properly execute until resetting the CPU. Now, the SDRAM
> controller shutdown code and the code resetting the CPU are in
> completely separate places, which break this assumption.
>
It it still working properly, I believe it is still fitting the cache
line.
> And also, you forgot to Cc: Maxime Ripard who did the initial work on
> this at91-reset controller.
>
Yeah, I realized after sending the patches.
--
Alexandre Belloni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2014-10-22 7:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 21:55 [PATCH 0/8] ARM: at91: Remove mach/ includes from the reset driver Alexandre Belloni
2014-10-21 21:55 ` [PATCH 1/8] memory: atmel-sdramc: export a shutdown function Alexandre Belloni
2014-10-21 21:55 ` [PATCH 2/8] memory: atmel-sdramc: allow probing from pdata Alexandre Belloni
2014-10-21 21:55 ` [PATCH 3/8] ARM: at91: sam9: probe the RAMC driver " Alexandre Belloni
2014-10-21 21:55 ` [PATCH 4/8] ARM: at91: sam9g45/sam9rl: probe the ramc driver Alexandre Belloni
2014-10-21 21:55 ` [PATCH 5/8] power: reset: at91-reset: use at91_ramc_shutdown Alexandre Belloni
2014-10-22 7:08 ` Thomas Petazzoni
2014-10-22 7:18 ` Alexandre Belloni [this message]
2014-10-21 21:55 ` [PATCH 6/8] ARM: at91: sam9: remove useless resource for rstc Alexandre Belloni
2014-10-21 21:55 ` [PATCH 7/8] ARM: at91: sam9g45/sam9rl: remove useless resources " Alexandre Belloni
2014-10-21 21:55 ` [PATCH 8/8] MAINTAINERS: add at91 power and memory entries Alexandre Belloni
2014-10-22 6:56 ` Ludovic Desroches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141022071845.GM10616@piout.net \
--to=alexandre.belloni@free-electrons.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).