Comment 184 for bug 53923

Revision history for this message
Id2ndR (id2ndr) wrote : Re: tifm: Texas Instruments Card reader not working

According to what I read above, there still is an issu with some Toshiba laptop.
I got the Toshiba U200 laptop
Paulo J. S. Silva got the Toshiba U205 laptop which is rather the same (comment 93)
Tom Dowden got the Toshiba A120-151 (comment 148)

These 3 laptop have an unusable SD card reader with 2.6.20-16.
I tried on gutsy tribe 5 but it doesn't work too.

On feisty (up-to-date) :

lspci -n :
03:0b.0 0607: 104c:8039
03:0b.1 0c00: 104c:803a
03:0b.2 0180: 104c:803b
03:0b.3 0805: 104c:803c

03:0b.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
03:0b.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
03:0b.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
03:0b.3 Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Controller

lshw :
           *-pcmcia
                description: CardBus bridge
                product: PCIxx12 Cardbus Controller
                vendor: Texas Instruments
                physical id: b
                bus info: pci@03:0b.0
                version: 00
                width: 32 bits
                clock: 33MHz
                capabilities: pcmcia bus_master cap_list
                configuration: driver=yenta_cardbus latency=176 maxlatency=5 mingnt=192
                resources: iomemory:ffa04000-ffa04fff irq:18
           *-firewire
                description: FireWire (IEEE 1394)
                product: PCIxx12 OHCI Compliant IEEE 1394 Host Controller
                vendor: Texas Instruments
                physical id: b.1
                bus info: pci@03:0b.1
                version: 00
                width: 32 bits
                clock: 33MHz
                capabilities: ohci bus_master cap_list
                configuration: driver=ohci1394 latency=64 maxlatency=4 mingnt=2
                resources: iomemory:ffa06000-ffa067ff iomemory:ffa00000-ffa03fff irq:22
           *-storage
                description: Mass storage controller
                product: 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
                vendor: Texas Instruments
                physical id: b.2
                bus info: pci@03:0b.2
                version: 00
                width: 32 bits
                clock: 33MHz
                capabilities: storage bus_master cap_list
                configuration: driver=tifm_7xx1 latency=64 maxlatency=4 mingnt=7
                resources: iomemory:ffa05000-ffa05fff irq:19
           *-system
                description: Generic system peripheral
                product: PCIxx12 SDA Standard Compliant SD Host Controller
                vendor: Texas Instruments
                physical id: b.3
                bus info: pci@03:0b.3
                version: 00
                width: 32 bits
                clock: 33MHz
                capabilities: bus_master cap_list
                configuration: driver=sdhci latency=64 maxlatency=4 mingnt=7
                resources: iomemory:ffa06800-ffa068ff irq:19

lsmod :
tifm_7xx1 8704 0
tifm_core 11140 1 tifm_7xx1
sdhci 18700 0
mmc_core 26756 1 sdhci
(tifm_sd isn't loaded)

dmesg :
[ 31.048000] sdhci: Secure Digital Host Controller Interface driver
[ 31.048000] sdhci: Copyright(c) Pierre Ossman
[ 31.048000] sdhci: SDHCI controller found at 0000:03:0b.3 [104c:803c] (rev 0)
[ 31.048000] PCI: Enabling device 0000:03:0b.3 (0000 -> 0002)
[ 31.048000] ACPI: PCI Interrupt 0000:03:0b.3[D] -> GSI 23 (level, low) -> IRQ
 19
[ 31.048000] mmc0: SDHCI at 0xffa06800 irq 19 DMA
(There isn't any mmcblk0 anywhere)

I recently do a suspend-resume and get strange result in dmesg (I'm quite sure I got an sd card in the carder reader) :
[19873.332000] tifm_7xx1 0000:03:0b.2: resuming
[19873.348000] PM: Writing back config space on device 0000:03:0b.2 at offset 1
(was 2100002, writing 2100006)
[19873.348000] ACPI: PCI Interrupt 0000:03:0b.2[D] -> GSI 23 (level, low) -> IRQ
 19
[19873.348000] sdhci 0000:03:0b.3: resuming
[19873.364000] PM: Writing back config space on device 0000:03:0b.3 at offset 1
(was 2100002, writing 2100006)
[19873.364000] ACPI: PCI Interrupt 0000:03:0b.3[D] -> GSI 23 (level, low) -> IRQ
 19
[19883.696000] mmc0: Timeout waiting for hardware interrupt.
[19883.696000] sdhci: ============== REGISTER DUMP ==============
[19883.696000] sdhci: Sys addr: 0x00000000 | Version: 0x00008900
[19883.696000] sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[19883.696000] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[19883.696000] sdhci: Present: 0x000f0000 | Host ctl: 0x00000000
[19883.696000] sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[19883.696000] sdhci: Wake-up: 0x00000000 | Clock: 0x00004000
[19883.696000] sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
[19883.696000] sdhci: Int enab: 0x00f0004a | Sig enab: 0x00000000
[19883.696000] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[19883.696000] sdhci: Caps: 0x01c030b0 | Max curr: 0x00000000
[19883.696000] sdhci: ===========================================
[19883.696000] mmc0: Reset 0x2 never completed.
[19883.696000] sdhci: ============== REGISTER DUMP ==============
[19883.696000] sdhci: Sys addr: 0x00000000 | Version: 0x00008900
[19883.696000] sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[19883.696000] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[19883.696000] sdhci: Present: 0x000f0000 | Host ctl: 0x00000000
[19883.696000] sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[19883.696000] sdhci: Wake-up: 0x00000000 | Clock: 0x00004000
[19883.696000] sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
[19883.696000] sdhci: Int enab: 0x00f0004a | Sig enab: 0x00000000
[19883.696000] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[19883.696000] sdhci: Caps: 0x01c030b0 | Max curr: 0x00000000
[19883.696000] sdhci: ===========================================
[19883.696000] mmc0: Reset 0x4 never completed.
[19883.696000] sdhci: ============== REGISTER DUMP ==============
[19883.696000] sdhci: Sys addr: 0x00000000 | Version: 0x00008900
[19883.696000] sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[19883.696000] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[19883.696000] sdhci: Present: 0x000f0000 | Host ctl: 0x00000000
[19883.696000] sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[19883.696000] sdhci: Wake-up: 0x00000000 | Clock: 0x00004000
[19883.696000] sdhci: Timeout: 0x0000000e | Int stat: 0x00000000
[19883.696000] sdhci: Int enab: 0x00f0004a | Sig enab: 0x00000000
[19883.696000] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[19883.696000] sdhci: Caps: 0x01c030b0 | Max curr: 0x00000000
[19883.696000] sdhci: ===========================================
[19893.700000] mmc0: Timeout waiting for hardware interrupt.
(And the same that above a second time)

I don't know if there is a conflict between sdhci and tifm when they are loaded at the same time (I didn't "modprobe" one or the other).

Ben, should we open a new bug for these toshiba laptops (not all but some) ?