linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* OLPC XO-1 sdhci regression
@ 2009-02-20 17:43 Andres Salomon
  2009-02-21  3:03 ` Andres Salomon
  0 siblings, 1 reply; 2+ messages in thread
From: Andres Salomon @ 2009-02-20 17:43 UTC (permalink / raw)
  To: drzeus-sdhci; +Cc: sdhci-devel, linux-kernel, cjb

Hi Pierre,

With the current Linus git tree, the sdhci driver fails to find the partition
table on cards during bootup on OLPC XO-1 machines.  This makes booting off of
SD impossible.  The errors go something like this:

 mmcblk0:
mmc0: Timeout waiting for hardware interrupt.
mmcblk0: error -110 sending stop command
end_request: I/O error, dev mmcblk0, sector 0
Buffer I/O error on device mmcblk0, logical block 0
[repeat a bunch of times]
  unable to read partition table

No oopses or anything, the SD controller just fails to read the partition
table off the card.

I bisected a bit, and that led me to this commit:

 commit e809517f6fa5803a5a1cd56026f0e2190fc13d5c
 Author: Pierre Ossman <drzeus@drzeus.cx>
 Date:   Fri Jul 25 01:09:08 2008 +0200

     sdhci: let the controller wait for busy state to end
    
     The sdhci controllers can interrupt us when the busy state from the
     card has ended, saving CPU cycles and power.
    
     Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>

Reverting that commit allows the driver to read the partition table.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: OLPC XO-1 sdhci regression
  2009-02-20 17:43 OLPC XO-1 sdhci regression Andres Salomon
@ 2009-02-21  3:03 ` Andres Salomon
  0 siblings, 0 replies; 2+ messages in thread
From: Andres Salomon @ 2009-02-21  3:03 UTC (permalink / raw)
  To: drzeus-sdhci; +Cc: sdhci-devel, linux-kernel, cjb

On Fri, 20 Feb 2009 12:43:43 -0500
Andres Salomon <dilinger@queued.net> wrote:

> Hi Pierre,
> 
> With the current Linus git tree, the sdhci driver fails to find the
> partition table on cards during bootup on OLPC XO-1 machines.  This
> makes booting off of SD impossible.  The errors go something like
> this:
> 
[...]


A quirk proposed by Anton fixes the issue.  The attached patch adds the
quirk for the Marvell CAFE controller.



Subject: [PATCH] SDHCI: Add NO_BUSY_IRQ quirk for Marvell CAFE host chip

As described here: http://lkml.org/lkml/2009/2/20/265

The CAFE chip is broken due to commit e809517f6fa5803a5a1cd56026f0e2190fc13d5c.
Anton added a quirk here: http://lkml.org/lkml/2009/2/20/279 that fixes
CAFE's problem.  This adds the quirk for CAFE.

Obviously, this depends upon Anton's patch.

Signed-off-by: Andres Salomon <dilinger@debian.org>
---
 drivers/mmc/host/sdhci-pci.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c
index 8cff5f5..406da9a 100644
--- a/drivers/mmc/host/sdhci-pci.c
+++ b/drivers/mmc/host/sdhci-pci.c
@@ -107,6 +107,7 @@ static const struct sdhci_pci_fixes sdhci_ene_714 = {
 
 static const struct sdhci_pci_fixes sdhci_cafe = {
 	.quirks		= SDHCI_QUIRK_NO_SIMULT_VDD_AND_POWER |
+			  SDHCI_QUIRK_NO_BUSY_IRQ |
 			  SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
 };
 
-- 
1.5.6.5




^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-02-21  3:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-20 17:43 OLPC XO-1 sdhci regression Andres Salomon
2009-02-21  3:03 ` Andres Salomon

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).