linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Mundt <lethal@linux-sh.org>
To: linux-sh@vger.kernel.org
Subject: Re: SDHI polling
Date: Sun, 26 Dec 2010 23:24:04 +0000	[thread overview]
Message-ID: <20101226232404.GA16946@linux-sh.org> (raw)
In-Reply-To: <20101226224506.GD21535@verge.net.au>

On Mon, Dec 27, 2010 at 07:59:15AM +0900, Magnus Damm wrote:
> On Mon, Dec 27, 2010 at 7:45 AM, Simon Horman <horms@verge.net.au> wrote:
> > I have it in mind to run the SDHI hardware block in some sort of
> > polling mode - that is, with interrupts disabled - during early
> > boot. Does this make any sense?
> 
> I guess it depends on how early you mean. =)
> 
> Usually you want to make use of interrupts if they are available, but
> for really early code there is no interrupt support. So the in-kernel
> early printk support is implemented without any interrupts for
> instance. At least this is true for the SCIF driver used by SH and
> SH-Mobile / R-Mobile, pretty sure it applies to other hardware
> platforms as well.
> 
> As for the SDHI version of the MMC loader, I think you should do the
> same as the MMCIF loader that is present in
> include/linux/mmc/sh_mmcif.h. As you know it gets compiled into a
> separate image together with the rest of the zImage loader. No
> interrupt handling is available in that code, so just implementing
> things using polling mode is good enough.
> 
> I'm not 100% sure about U-boot these days, but I wouldn't be surprised
> if many boot loaders only implement polling.
> 
That's probably true, but note that most boot loaders do have rudimentary
interrupt stubs for the timer tick and so forth. I wouldn't classify a
boot loader as early code, it's more just half-assed. For true "early"
code polling is probably ok, particularly if you aren't able to continue
on without reading the image from the card. You will probably still want
to be able to track various state changes in order to ease debugging and
work out whether you get stuck or not. If the block raises an exception
for recoverable errors and so on then you're still going to have to deal
with an asynchronous code flow, too.

  parent reply	other threads:[~2010-12-26 23:24 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-26 22:45 SDHI polling Simon Horman
2010-12-26 22:59 ` Magnus Damm
2010-12-26 23:24 ` Paul Mundt [this message]
2010-12-26 23:34 ` Magnus Damm
2010-12-27  0:10 ` Paul Mundt
2010-12-27  0:23 ` Simon Horman
2010-12-27  0:57 ` Magnus Damm
2010-12-27  1:03 ` Magnus Damm
2010-12-27  1:13 ` Simon Horman
2010-12-27  1:36 ` Paul Mundt
2010-12-27  1:44 ` Simon Horman
2010-12-27  1:47 ` Magnus Damm

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=20101226232404.GA16946@linux-sh.org \
    --to=lethal@linux-sh.org \
    --cc=linux-sh@vger.kernel.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).