28 Oct
2014
28 Oct
'14
5:47 p.m.
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