All of lore.kernel.org
 help / color / mirror / Atom feed
From: Olivier Sobrie <olivier@sobrie.be>
To: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: linux-mmc@vger.kernel.org
Subject: at91sam9263 sdio + wlan ti wl1271
Date: Tue, 3 Dec 2013 10:59:28 +0100	[thread overview]
Message-ID: <20131203095652.GA1329@hposo> (raw)

Hi Ludovic,

I'm trying to use a wlan sdio TI wl1271 module with an at91sam9263
processor. The wlan card is correctly recognized by the kernel but
once the driver tries to initialize the card, then I observe sdio
timeouts.

I enabled the traces in the atmel-mci driver and here is what I see
when the problem occurs (kernel v3.11):

[   31.690000] atmel_mci fff84000.mmc: FSM: state=0
[   31.900000] atmel_mci fff84000.mmc: MRQ: cmd 53
[   31.900000] atmel_mci fff84000.mmc: start request: cmd 53
[   31.900000] atmel_mci fff84000.mmc: IRQ: tx buffer empty
[   31.900000] atmel_mci fff84000.mmc: (atmci_pdc_complete) set pending xfer complete
[   31.900000] atmel_mci fff84000.mmc: IRQ: cmd ready
[   31.900000] atmel_mci fff84000.mmc: set pending cmd rdy
[   31.900000] atmel_mci fff84000.mmc: FSM: state=1
[   31.900000] atmel_mci fff84000.mmc: FSM: cmd ready?
[   31.900000] atmel_mci fff84000.mmc: set completed cmd ready
[   31.900000] atmel_mci fff84000.mmc: command with data transfer
[   31.900000] atmel_mci fff84000.mmc: FSM: state=2
[   31.900000] atmel_mci fff84000.mmc: FSM: xfer complete?
[   31.900000] atmel_mci fff84000.mmc: (atmci_tasklet_func) set completed xfer complete
[   31.900000] atmel_mci fff84000.mmc: FSM: state=3
[   31.900000] atmel_mci fff84000.mmc: FSM: not busy?
[   33.900000] atmel_mci fff84000.mmc: software timeout
[   33.900000] atmel_mci fff84000.mmc: FSM: state=5
[   33.900000] atmel_mci fff84000.mmc: FSM: state=0

The driver uses PDC mode to perform the transfers, the chip version is
0x210. The data transferred in cmd53 is 4 bytes long.

It looks like the chip never sets the 'ATMCI_BLKE' flag.
After the problem occured I observe this trace:
[   37.650000] mmc_host mmc0: WARNING: IMR=0x00000008

The same wlan module on an at91sam9g45 (mci version: 0x410) in DMA mode
works without problem.

I also tested a Marvell 8385 (which uses the libertas driver) on
at91sam9263 and it looks to work, I don't see any SDIO timeout.
For this chip, the datasize sent is always >= 16 bytes.

I'm wondering if the Errata "MMC data write operation with less than 12
bytes is impossible.", mentionned in the sources (see function
atmci_prepare_data()), also applies for this version of the chip?
I didn't find this errata in the at91sam9263 datasheet...

If anyone has info or suggestions to make it work, please let me know.

Thanks,

-- 
Olivier

             reply	other threads:[~2013-12-03  9:59 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03  9:59 Olivier Sobrie [this message]
2013-12-04  8:09 ` at91sam9263 sdio + wlan ti wl1271 Ludovic Desroches
2013-12-05  9:45   ` [PATCH] atmel-mci: fix transfers < 16 bytes problem in PDC mode Olivier Sobrie
2013-12-06 11:10     ` Ludovic Desroches
2013-12-13 11:09     ` Ludovic Desroches
2013-12-18  8:09       ` Olivier Sobrie
2013-12-19 20:48         ` Ludovic Desroches

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=20131203095652.GA1329@hposo \
    --to=olivier@sobrie.be \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ludovic.desroches@atmel.com \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.