On Tuesday 27 January 2009, Hugo Villeneuve wrote: > > > > So if I am using the latest davinci git kernel, should I apply your > > > patch? If so where is it located? > > > > I just resent that. > > I tried your patch but it actually prevents the driver from being > loaded correctly (command 0x0003 timed out):
That's from the libertas driver ... unclear what MMC protocol command is involved. Better to see the whole trace with the MMC and/or davinci_mmc debug messages. And maybe trace the SDIO irq enable/disable. It's possible this is just the issue noted in the code: the IRQ from the SDIO device may already be pending (active low) when the IRQ is enabled (edge detect) in the controller. See the errata documentation for a bit more information about how SDIO IRQs need handling. (DM355 errata covered it, I've not checked DM6446; it's more of an "incomplete documentation" erratum than a hardware bug.) > $> modprobe libertas_sdio helper_name=sd8686_helper.bin > fw_name=sd86 86.bin > libertas_sdio: Libertas SDIO driver > libertas_sdio: Copyright Pierre Ossman > r...@das-04:~# modprobe davinci_mmc > davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode > $> mmc0: new SDIO card at address 0001 > libertas_sdio mmc0:0001:1: firmware: requesting sd8686_helper.bin > libertas_sdio mmc0:0001:1: firmware: requesting sd8686.bin > libertas: command 0x0003 timed out > libertas: requeueing command 0x0003 due to timeout (#1) > libertas: Received result 0 to command 3 after 1 retries > libertas: 00:13:e0:ab:e0:17, fw 9.70.3p14, cap 0x00000303 > libertas: unidentified region code; using the default (USA) Did this get further than without the SDIO IRQ patch? > > What's odd here is that the DMA should already have been > > cleanly shut down. > > > > Also: I'm suspecting that "host" itself is NULL, which > > should never happen ... what are the arguments provided > > to that DMA error callback? > > No, I tested it and host is not NULL, here is the line I added: > dev_warn(mmc_dev(host->mmc), "host->data is NULL\n"); Suggesting that maybe the issue is just a problem in the IRQ deliver sequence. Like maybe IRQs are not properly disabled after the CMD53 READ completes. - Dave > > CMD53 is SD_IO_RW_EXTENDED ... I suspect the current code > > is making an assumption that CMD53 doesn't follow, which > > explains both the errors observed here. It might relate > > to SDIO IRQs, since <linux/mmc/sdio.h> refers to various > > cases where they appear during CMD53. _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
