Re: Problem about the new sdhci driver

Alexander Motin <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Message-ID <[email protected]>
Henry Hu wrote:
> I'm using FreeBSD 7-STABLE, with sdhci driver
> sdhci.20081029.tgz
> mmc.20081029.tgz
> 
> I've found that if I load sdhci driver with card inserted, everything
> works fine.
> But if I load sdhci driver first, and then insert card, the card is
> not detected.Additionally, there is no interrupt.
> After I've load sdhci driver without card, the controller seems to be
> in a problematic state. The register dump outputed when the driver
> loaded showed that Present is 0x01f20000 which is correct since the
> card is not inserted then. But cards is not detected.
> Even if I unload the driver and reload with card inserted, the card
> still cannot be detected, and there's no interrupt. But the Present
> register changed to 0x01fa0000 which is strange.
> 
> So I guess there's something wrong with the driver when the card is not present.
> 
> sdhci0: <RICOH R5C822 SD> mem 0xf0401000-0xf04010ff irq 18 at device 9.1 on pci5
> sdhci0-slot0: 33MHz 4bits 3.3V DMA
> sdhci0-slot0: ============== REGISTER DUMP ==============
> sdhci0-slot0: Sys addr: 0x00000000 | Version:  0x00000200
> sdhci0-slot0: Blk size: 0x00000000 | Blk cnt:  0x00000000
> sdhci0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
> sdhci0-slot0: Present:  0x01f20000 | Host ctl: 0x00000000
> sdhci0-slot0: Power:    0x00000000 | Blk gap:  0x00000000
> sdhci0-slot0: Wake-up:  0x00000000 | Clock:    0x00000000
> sdhci0-slot0: Timeout:  0x0000000c | Int stat: 0x00000000
> sdhci0-slot0: Int enab: 0x01ff00fb | Sig enab: 0x01ff00fb
> sdhci0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000
> sdhci0-slot0: Caps:     0x01c021a1 | Max curr: 0x00000040
> sdhci0-slot0: ===========================================

Try this patch please:
--- sdhci.c.prev        2009-01-29 00:53:41.000000000 +0200
+++ sdhci.c     2009-02-01 11:58:42.000000000 +0200
@@ -82,7 +82,8 @@ static const struct sdhci_device {
         u_int           quirks;
  } sdhci_devices[] = {
         { 0x08221180,   0xffff, "RICOH R5C822 SD",
-           SDHCI_QUIRK_FORCE_DMA },
+           SDHCI_QUIRK_FORCE_DMA |
+           SDHCI_QUIRK_NO_CARD_NO_RESET },
         { 0x8034104c,   0xffff, "TI XX21/XX11 SD",
             SDHCI_QUIRK_FORCE_DMA },
         { 0x05501524,   0xffff, "ENE CB712 SD",


Could everybody having this controller send me pciconf and Version 
register from their controller and report me is this bug present on 
their system? I would like to collect some statistics.

-- 
Alexander Motin
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.