All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Mundt <lethal@linux-sh.org>
To: linux-sh@vger.kernel.org
Subject: Re: SDHI polling
Date: Mon, 27 Dec 2010 00:10:24 +0000	[thread overview]
Message-ID: <20101227001024.GB16946@linux-sh.org> (raw)
In-Reply-To: <20101226224506.GD21535@verge.net.au>

On Mon, Dec 27, 2010 at 08:34:10AM +0900, Magnus Damm wrote:
> On Mon, Dec 27, 2010 at 8:24 AM, Paul Mundt <lethal@linux-sh.org> wrote:
> > 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.
> 
> http://git.denx.de/?p=u-boot.git;a=blob;f=arch/sh/cpu/sh4/interrupts.c;hi88ecc7c28d1f345ee9d0b904c8e8b4e3eb8ccb;hbÍc51c294ad33879c4e57edf4c9d2155381b1d59

Wow, that's really taking half-assed to a whole new level. If only it
were possible to unsee bootloader code.

In any event, just because the boot loader people are useless doesn't
mean you can't set the bar a bit higher for yourself when designing new
features.

  parent reply	other threads:[~2010-12-27  0:10 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
2010-12-26 23:34 ` Magnus Damm
2010-12-27  0:10 ` Paul Mundt [this message]
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=20101227001024.GB16946@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.