Problem about the new sdhci driver
Alexander Motin
mav at FreeBSD.org
Sun Feb 1 02:07:59 PST 2009
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
More information about the freebsd-mobile
mailing list