Kalle Valo wrote: > "ext Siarhei Siamashka" <[EMAIL PROTECTED]> writes: > >> A while ago I looked for various kernel docs to see what's happening in the >> wlan driver and what can be done to reduce cpu load. My impression was that >> tasklet can be only preempted by hardware interrupts, so it is impossible to
Thanks for enlightement to both of you, that was the part I was missing. >> sleep in it and give cpu resources to userland applications. If that is true, >> no matter if n800 driver looks nicer, it must end up busylooping too. > > Nope, on N800 cx3110x and omap2_mcspi do not busyloop during the DMA > transfer. They use workqueues to allow sleeping, and completions for > signalling. > How is it so when you cannot sleep inside cx3110x_spi_dma_read and cx3110x_spi_dma_write? There appears to be same code for N800 too just the body of those functions does not use McBSP but SPI API: spi_message_add_tail(&t[1], &m); spi_sync(lp->spi_device, &m); Does it mean we can wrap McBSP usage into similar api and leave cx3110x otherwise alone without restructuring it? But still I don't get it, either spi_sync bysyloops or the semantics of cx3110x_spi_dma_write changed and it can return when the transfer is not yet done (??). Frantisek BTW, let's remove maemo-developers@maemo.org and move just to [EMAIL PROTECTED] _______________________________________________ maemo-developers mailing list maemo-developers@maemo.org https://lists.maemo.org/mailman/listinfo/maemo-developers