Hi Steve,
Steve Sakoman wrote:
On Tue, Oct 5, 2010 at 11:17 PM, Mike Rapoport <mike@xxxxxxxxxxxxxx> wrote:
I've tried to update the patches on top of 2.6.36-rc3 and I've got stuck.
The changes Adrian has made to the interrupt synchronization affect the way
the
SDIO irq should be implemented and I haven't found a way to resolve it :-(
I tried my hand at making the patch apply on 2.6.35:
http://www.sakoman.com/cgi-bin/gitweb.cgi?p=linux-omap-2.6.git;a=commitdiff;h=51b802d73191c306618cddefbd63379c839589f5
This one fails to build:
CC drivers/mmc/host/omap_hsmmc.o
drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_start_command':
drivers/mmc/host/omap_hsmmc.c:791: warning: unused variable 'int_en_mask'
drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_do_irq':
drivers/mmc/host/omap_hsmmc.c:1023: error: label 'out' used but not defined
drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_irq':
drivers/mmc/host/omap_hsmmc.c:1101: warning: label 'out' defined but not used
drivers/mmc/host/omap_hsmmc.c: In function 'omap_hsmmc_suspend':
drivers/mmc/host/omap_hsmmc.c:2346: warning: unused variable 'state'
make[4]: *** [drivers/mmc/host/omap_hsmmc.o] Error 1
Moving the 'out' label where I believe it should live I get:
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas: command 0x0003 timed out
libertas: Timeout submitting command 0x0003
libertas: PREP_CMD: command 0x0003 failed: -110
libertas_sdio: probe of mmc1:0001:1 failed with error -110
It seems to work, but I'm pretty sure I must have messed something up
because I get error messages every once in a while:
libertas: tx watch dog timeout
I don't recall seeing these with the original version of the patch :-(
Suggestions as to where I went wrong are welcome!
I've "applied" the patch almost the same way you did and I was not able to get
any further than the point above (command 0x0003 timed out). As far as I
understand, what we have now is that omap_hsmmc_request_done() calls
omap_hsmmc_disable_irq() and the interrupts that come from the 8686 _between_
requests are simply missed. Whatever I've tried to keep the SDIO interrupts on
didn't help... :(
Steve
--
Sincerely yours,
Mike.
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html