This patch looks very interesting and desirable. This is something have long been waiting for.
I wonder how this actually relates to snd_pcm_sw_params_set_period_event() though.
snd_pcm_sw_params_set_period_event() defines whether or not you will have poll wakeups when a period elapses. But if you decide not to have poll wakeups, you still end-up with interrupts that were generated for no good reason. You might think that this could be extended to disable interrupts as well, but this would be hard since this can only be done when the DMA linked list is created, ie when the hw_params are set. Plus the sw_params may be changed on-the-fly, which isn't the case for hw_params/interrupts. We would really need a flag used with snd_pcm_open or when hw_params are set.
Takashi, Jaroslav, Lennart, what do you think?
I am sold!
Good to hear. Cheers -Pierre