[alsa-devel] Alsa triggering methods
Hi,
I am working on a ALSA card driver that handles a DSP instance. The problem I have is that the triggering mechanism in ALSA to start a PCM has the interrupts disabled, and my dsp framework is actually acknowledging the start trigger with an event after 50 microseconds time that I can't handle because the IRQs are disabled.
Is there any way when the trigger mechanism goes down to the card to be able to handle any acknowledgements what will happen within a sort period of time.
I have seen bespoke triggering method but not sure if everyone is using it.
Any ideas would be helpful.
Best regards, Andreas
On Wed, Apr 29, 2015 at 04:24:09PM +0100, Andy Ng wrote:
Hi,
I am working on a ALSA card driver that handles a DSP instance. The problem I have is that the triggering mechanism in ALSA to start a PCM has the interrupts disabled, and my dsp framework is actually acknowledging the start trigger with an event after 50 microseconds time that I can't handle because the IRQs are disabled.
Is there any way when the trigger mechanism goes down to the card to be able to handle any acknowledgements what will happen within a sort period of time.
I have seen bespoke triggering method but not sure if everyone is using it.
Any ideas would be helpful.
trigger can be nonatomic too, you can set nonatomic = true for your pcms
Andy Ng wrote:
I am working on a ALSA card driver that handles a DSP instance. The problem I have is that the triggering mechanism in ALSA to start a PCM has the interrupts disabled, and my dsp framework is actually acknowledging the start trigger with an event after 50 microseconds time that I can't handle because the IRQs are disabled.
Why must you handle the ACK interrupt from inside the trigger?
Regards, Clemens
participants (3)
-
Andy Ng
-
Clemens Ladisch
-
Vinod Koul