LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Farbod Nejati <farbodn@g2microsystems.com>
To: Pierre Ossman <drzeus-list@drzeus.cx>,
Pierre Ossman <drzeus-list@drzeus.cx>
Cc: Philip Ryan <Philip.Ryan@g2microsystems.com>,
linux-kernel@vger.kernel.org,
"Chad O'Neill" <chad@g2microsystems.com>,
Tom McDermott <tom.mcdermott@g2microsystems.com>
Subject: SDIO driver not receiving responses
Date: Thu, 31 Jan 2008 17:35:51 +1100 [thread overview]
Message-ID: <47A16C47.5090703@g2microsystems.com> (raw)
In-Reply-To: <1201630213-31900-3-git-send-email-hskinnemoen@atmel.com>
Hi Pierre,
I'm having problems with the latest mmc_core.ko and sdhci.ko for 2.6.24.
I've used both my development SDIO client and an off-the-shelf SDIO WIFI
card. I have a Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
(rev 21).
The mmc_send_io_op_cond() function call in core.c::mmc_rescan() is
returning with a -110 (a timeout error). I traced this deeper and
noticed that CMD5 is being sent out via sdhci.c::sdhci_send_command() (I
verified this using a logic analyser, the host *is* transmitting a CMD5
[IO_SEND_OP_COND] packet in the correct format). However, when the
client responds with the IO_SEND_OP_COND Response R4 (SD mode), it does
not seem to be received by the host. Again, I verified using the logic
analyser that the response is as would be expected. An IRQ *is*
triggered, however it is 0x00018000 (SDHCI_INT_TIMEOUT|SDHCI_INT_ERROR).
I'm not too familiar with Linux kernel programming but I suspect that
whatever is waiting for a valid response is giving up instead and
triggering the above-mentioned interrupt instead.
# lspci -v -s 15:00.2 -xxx
15:00.2 Generic system peripheral [0805]: Ricoh Co Ltd R5C822
SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
Subsystem: Lenovo Unknown device 20c8
Flags: medium devsel, IRQ 23
Memory at f8101800 (32-bit, non-prefetchable) [size=256]
Capabilities: [80] Power Management version 2
00: 80 11 22 08 02 00 10 02 21 00 05 08 00 40 80 00
10: 00 18 10 f8 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 c8 20
30: 00 00 00 00 80 00 00 00 00 00 00 00 0b 03 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 00 02 fe 00 40 00 48 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 aa 17 c8 20
b0: 04 00 02 00 00 00 00 00 00 00 00 00 a0 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: a1 21 e0 01 00 00 00 00 40 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 d0 00 20 02 00 00 00 00
*** An interesting thing is, when I try to printk() values in the above
table through the driver, I don't get identical values. I do this using
the following code:
for (i = 0; i < 16; i++)
{
for (k = 0; k < 16; k++)
{
printk("%02x ", readb(host->ioaddr + (i*16) + k));
}
printk("\n");
}
Why would the output of the above code differ from the one produced by
lspci -xxx. Could this have something to do with this issue???
host->ioaddr is set to 0xF8A84800 (which is the output of
ioremap_nocache(0xF8101800, 256)
Sections of /var/log/messages:
sdhci: SDHCI controller found at 0000:15:00.2 [1180:0822] (rev 21)
sdhci [sdhci_probe()]: found 1 slot(s)
ACPI: PCI Interrupt 0000:15:00.2[C] -> GSI 18 (level, low) -> IRQ 22
sdhci [sdhci_probe_slot()]: slot 0 at 0xf8101800, irq 22
I'm fresh out of ideas on this one and would greatly appreciate some
hints or assistance. I'm happy to provide any further information if needed.
Regards
Farbod Nejati
next prev parent reply other threads:[~2008-01-31 6:51 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-29 18:10 [RFC v2 0/5] dmaengine: Slave DMA interface and example users Haavard Skinnemoen
2008-01-29 18:10 ` [RFC v2 1/5] dmaengine: Add dma_client parameter to device_alloc_chan_resources Haavard Skinnemoen
2008-01-29 18:10 ` [RFC v2 2/5] dmaengine: Add slave DMA interface Haavard Skinnemoen
2008-01-29 18:10 ` [RFC v2 3/5] dmaengine: Make DMA Engine menu visible for AVR32 users Haavard Skinnemoen
2008-01-29 18:10 ` [RFC v2 4/5] dmaengine: Driver for the Synopsys DesignWare DMA controller Haavard Skinnemoen
2008-01-29 18:10 ` [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC controllers Haavard Skinnemoen
2008-02-13 18:30 ` Pierre Ossman
2008-02-13 18:47 ` Haavard Skinnemoen
2008-02-14 14:00 ` MMC core debugfs support (was Re: [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC controllers) Haavard Skinnemoen
2008-02-25 17:12 ` Pierre Ossman
2008-02-13 19:11 ` [RFC v2 5/5] Atmel MCI: Driver for Atmel on-chip MMC controllers Dan Williams
2008-02-13 21:06 ` Haavard Skinnemoen
2008-02-13 23:55 ` Dan Williams
2008-02-14 8:36 ` Haavard Skinnemoen
2008-02-14 18:34 ` Dan Williams
2008-02-14 19:21 ` Haavard Skinnemoen
2008-01-30 18:53 ` [RFC v2 4/5] dmaengine: Driver for the Synopsys DesignWare DMA controller Dan Williams
2008-01-30 7:30 ` [RFC v2 2/5] dmaengine: Add slave DMA interface David Brownell
2008-01-30 9:27 ` Haavard Skinnemoen
2008-01-30 10:52 ` David Brownell
2008-01-30 12:26 ` Haavard Skinnemoen
2008-01-31 8:27 ` David Brownell
2008-01-31 8:44 ` Paul Mundt
2008-01-31 12:51 ` David Brownell
2008-01-31 14:12 ` Haavard Skinnemoen
2008-01-31 13:52 ` Haavard Skinnemoen
2008-02-06 21:08 ` Dan Williams
2008-02-07 17:56 ` Haavard Skinnemoen
2008-01-30 18:28 ` Dan Williams
2008-01-30 20:45 ` David Brownell
2008-01-31 6:35 ` Farbod Nejati [this message]
2008-02-07 19:51 ` SDIO driver not receiving responses Pierre Ossman
2008-01-29 20:54 ` [RFC v2 0/5] dmaengine: Slave DMA interface and example users Haavard Skinnemoen
2008-01-30 6:56 ` David Brownell
2008-01-30 8:56 ` Haavard Skinnemoen
2008-01-30 17:39 ` Dan Williams
2008-02-04 15:32 ` Haavard Skinnemoen
2008-02-06 18:46 ` Dan Williams
2008-02-07 17:52 ` Haavard Skinnemoen
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=47A16C47.5090703@g2microsystems.com \
--to=farbodn@g2microsystems.com \
--cc=Philip.Ryan@g2microsystems.com \
--cc=chad@g2microsystems.com \
--cc=drzeus-list@drzeus.cx \
--cc=linux-kernel@vger.kernel.org \
--cc=tom.mcdermott@g2microsystems.com \
--subject='Re: SDIO driver not receiving responses' \
/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
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).