[Armadillo:05876] Re: Armadillo-440で802.11 SDIO無線LANカードを使う
nakai
email@hidden
2010年 10月 1日 (金) 14:51:37 JST
nakaiです。
> Complete sending cmd, transfer mode would be 0x353a0002.
> *** mmc1 got interrupt: 0x00000011
> PIO writing
> PIO transfer complete.
> *** mmc1 got interrupt: 0x00000010 <---[★2]
> *** mmc1 got interrupt: 0x00000010
成功時と失敗時の違いは、"transfer complete"が発生するかですね。
ソースコードをみると、「blklen:1, blkcnt:1」の場合は、
データ書き込みをしていないように見えます。
以下のパッチをあててみてもらえますか?
diff --git a/drivers/mmc/host/mx_sdhci.c b/drivers/mmc/host/mx_sdhci.c
index a803426..f16eb1a 100644
--- a/drivers/mmc/host/mx_sdhci.c
+++ b/drivers/mmc/host/mx_sdhci.c
@@ -382,6 +382,8 @@ static void sdhci_write_block_pio(struct sdhci_host *host)
if (host->remain == 0) {
if (sdhci_next_sg(host) == 0) {
+ if (chunk_remain)
+ writel(data, host->ioaddr + SDHCI_BUFFER);
BUG_ON(blksize != 0);
return;
}
(2010/10/01 13:15), Kazunao Yokoo wrote:
> 横尾です。
> お世話になっております。
>
> # アドバイスありがとうございました。
>
>> デバッグを無効にすると挙動が変わったりしませんか?
>> ログを吐くため、タイミングが若干変わったりします。
> 挙動は変わりませんでした。
>
>> カード割り込みが入っているだけですよね?
>> athrosドライバが、割り込み要因のクリアをしていないのでは?
>
> 現在調査中です。
> atheros側でカード割込みをenable/disable部分にログを入れて
> 再度ログをとりました。(メール最後に抜粋して貼り付け)
>
>
> 症状は昨日と同様で、[★2]以降、割込みがあがりつづけます。
> 割込み要因は0x00000010(BWR)です。
> ただ、[★1]で同じBWRが上がったときにはクリアされています。
>
> 両者は共にCMD53(W)ですが、ARG値やblklenは異なります。
>
> 私の勉強不足、かつこの程度の情報で恐縮なのですが、
> 割込みがあがりつづける原因について、何かお気づきの点あれば、
> ご指摘いただけたらと思います。
>
> 以上、よろしくお願いいたします。
>
>
> ----- ログ抜粋 -----
> sdhci_send_command 0x34 is starting...
> Complete sending cmd, transfer mode would be 0x341a0000.
> *** mmc1 got interrupt: 0x00000001
> athsdio_configure:519 SDIO-IRQ enable
> [ARG:0x94083004 blklen:4 blkcnt:1]
> sdhci_send_command 0x35 is starting...
> mmc1: Too large timeout requested!
> Reverting to PIO in small data transfer.
> Complete sending cmd, transfer mode would be 0x353a0002.
> *** mmc1 got interrupt: 0x00000011<---[★1]
> PIO writing
> PIO transfer complete.
> *** mmc1 got interrupt: 0x00000002
> *** mmc1 got interrupt: 0x00000100
> athsdio_enable_irq:710 SDIO-IRQ disable
> sdhci_send_command 0x34 is starting...
> Complete sending cmd, transfer mode would be 0x341a0000.
> *** mmc1 got interrupt: 0x00000001
> [ARG:0x1408001c blklen:28 blkcnt:1]
> sdhci_send_command 0x35 is starting...
> mmc1: Too large timeout requested!
> Complete sending cmd, transfer mode would be 0x353a0012.
> *** mmc1 got interrupt: 0x00000021
> PIO reading
> PIO transfer complete.
> *** mmc1 got interrupt: 0x00000002
> [ARG:0x90083601 blklen:1 blkcnt:1]
> sdhci_send_command 0x35 is starting...
> mmc1: Too large timeout requested!
> Reverting to PIO in small data transfer.
> Complete sending cmd, transfer mode would be 0x353a0002.
> *** mmc1 got interrupt: 0x00000011
> PIO writing
> PIO transfer complete.
> *** mmc1 got interrupt: 0x00000010 <---[★2]
> *** mmc1 got interrupt: 0x00000010
> *** mmc1 got interrupt: 0x00000010
> *** mmc1 got interrupt: 0x00000010
> *** mmc1 got interrupt: 0x00000010
> *** mmc1 got interrupt: 0x00000010
> *** mmc1 got interrupt: 0x00000010
> *** mmc1 got interrupt: 0x00000010
> :
> :
> :
>
>
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
>
armadillo メーリングリストの案内