At Tue, 28 Oct 2014 17:39:13 +0100, Lars-Peter Clausen wrote: > > On 10/28/2014 05:04 PM, Mark Brown wrote: > > On Tue, Oct 28, 2014 at 04:58:24PM +0100, Lars-Peter Clausen wrote: > >> On 10/27/2014 08:07 PM, Max Filippov wrote: > > > >>> + if (tx_active) { > >>> + if (i2s->tx_fifo_high < 256) > >>> + xtfpga_i2s_refill_fifo(i2s); > >>> + else > >>> + tasklet_hi_schedule(&i2s->refill_fifo); > > > >> Maybe use threaded IRQs instead of IRQ + tasklet. > > > > Is that going to play nicely with the fact that the interrupt can be > > shared and the desire to (AFAICT) do NAPI style stuff with the interrupt > > disabled for long periods? > > > > Threaded interrupts got support for interrupt sharing a while ago, so I > guess yes. I think it will even work better than the tasklet approach. You > can configure the IRQ to disable itself as long as the thread is running. Yes, I tested the threaded irq with PCI drivers using shared irqs and worked well. Takashi -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html