From: Ben Dooks <ben-linux@fluff.org>
To: Pierre Ossman <drzeus-mmc@drzeus.cx>
Cc: Ben Dooks <ben-linux@fluff.org>,
linux-kernel@vger.kernel.org, sdhci-devel@list.drzeus.cx
Subject: Re: [patch 4/7] SDHCI: Add quirk for controller with no end-of-busy IRQ
Date: Sat, 15 Nov 2008 23:58:49 +0000 [thread overview]
Message-ID: <20081115235849.GC9161@fluff.org.uk> (raw)
In-Reply-To: <20081114224114.5b5932a0@mjolnir.drzeus.cx>
On Fri, Nov 14, 2008 at 10:41:14PM +0100, Pierre Ossman wrote:
> On Mon, 03 Nov 2008 20:09:48 +0000
> Ben Dooks <ben-linux@fluff.org> wrote:
>
> > The Samsung SDHCI controller block seems to fail to generate an
> > INT_DATA_END after the transfer has completed and the bus busy
> > state finished.
> >
> > Changes in e809517f6fa5803a5a1cd56026f0e2190fc13d5c to use the
> > new busy method are the cause of the behaviour change.
> >
> > Signed-off-by: Ben Dooks <ben-linux@fluff.org>
> >
> > Index: linux.git/drivers/mmc/host/sdhci.c
> > ===================================================================
> > --- linux.git.orig/drivers/mmc/host/sdhci.c 2008-11-03 10:01:03.000000000 +0000
> > +++ linux.git/drivers/mmc/host/sdhci.c 2008-11-03 12:20:40.000000000 +0000
> > @@ -1291,11 +1291,24 @@ static void sdhci_cmd_irq(struct sdhci_h
> > * controllers.
> > */
> > if (host->cmd->flags & MMC_RSP_BUSY) {
> > + u32 present;
> > +
> > if (host->cmd->data)
> > DBG("Cannot wait for busy signal when also "
> > "doing a data transfer");
> > - else
> > + else if (!(host->quirks & SDHCI_QUIRK_NO_TCIRQ_ON_NOT_BUSY))
> > return;
>
> Not the clearest naming I've ever seen. :)
> How about NO_BUSY_IRQ?
ok, will change.
> > +
> > + /* The Samsung SDHCI does not seem to provide an INT_DATA_END
> > + * when the system goes non-busy, so check the state of the
> > + * transfer by reading SDHCI_PRESENT_STATE to see if the
> > + * controller is ready
> > + */
>
> There is already a note about this being a problem earlier up, so I
> don't think we need another.
right.
> > +
> > + present = readl(host->ioaddr + SDHCI_PRESENT_STATE);
> > + DBG("busy? present %08x, intstat %08x\n", present, intmask);
> > +
>
> And what does this add really? Controllers not being able to wait for
> the busy state to end is so common that we can just ignore the problem
> here.
>
that was debug.
> > +#define SDHCI_DATA_BIT(x) (1 << ((x) + 20))
>
> This was not supposed to be included I suppose :)
was with teh debug.
--
Ben (ben@fluff.org, http://www.fluff.org/)
'a smiley only costs 4 bytes'
next prev parent reply other threads:[~2008-11-15 23:59 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-03 20:09 [patch 0/7] SDHCI support for Samsung SoC Ben Dooks
2008-11-03 20:09 ` [patch 1/7] SDHCI: Add timeout hooks Ben Dooks
2008-11-14 21:29 ` Pierre Ossman
2008-11-03 20:09 ` [patch 2/7] SDHCI: Print ADMA status and pointer on debug Ben Dooks
2008-11-14 21:29 ` Pierre Ossman
2008-11-03 20:09 ` [patch 3/7] SDHCI: Add set_ios hook Ben Dooks
2008-11-14 21:32 ` Pierre Ossman
2008-11-03 20:09 ` [patch 4/7] SDHCI: Add quirk for controller with no end-of-busy IRQ Ben Dooks
2008-11-14 21:41 ` Pierre Ossman
2008-11-15 23:58 ` Ben Dooks [this message]
2008-11-03 20:09 ` [patch 5/7] SDHCI: Samsung SDHCI (HSMMC) driver Ben Dooks
2008-11-14 21:48 ` Pierre Ossman
2008-11-16 0:03 ` Ben Dooks
2008-11-19 18:38 ` Pierre Ossman
2008-11-03 20:09 ` [patch 6/7] SDHCI: Check DMA for overruns at end of transfer Ben Dooks
2008-11-03 21:12 ` Henrique de Moraes Holschuh
2008-11-03 21:16 ` Ben Dooks
2008-11-04 1:28 ` Henrique de Moraes Holschuh
2008-11-10 9:58 ` Ben Dooks
2008-11-14 22:00 ` Pierre Ossman
2008-11-16 0:05 ` Ben Dooks
2008-11-19 18:41 ` Pierre Ossman
2008-11-03 20:09 ` [patch 7/7] SDHCI: Add change_clock callback for glue drivers Ben Dooks
2008-11-14 22:20 ` Pierre Ossman
2008-11-15 23:57 ` Ben Dooks
2008-11-19 18:43 ` Pierre Ossman
2008-11-10 10:57 ` [patch 0/7] SDHCI support for Samsung SoC Ben Dooks
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=20081115235849.GC9161@fluff.org.uk \
--to=ben-linux@fluff.org \
--cc=drzeus-mmc@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
--cc=sdhci-devel@list.drzeus.cx \
/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.