On Wednesday 14 October 2009 16:24:02 ext Mark Brown wrote:
The interrupt is self cleaning on dac33 side (in the mode, which we are using it, there is a mode, where additional write is needed to clear the interrupt status).
That should be OK, someone can always add level triggering in future if they want to.
Than on trigger STOP, I set the state to FLUSH and schedule the work, if an interrupt comes, it is ignored, since the work has been scheduled.
Actually, you should just be able to queue the work since the state check will be done again in the workqueue and duplicate insertions don't hurt. That'd also avoid the need to mask IRQs while fiddling with the state (which you're not doing at the minute but probably need to).
Yes... I have some plans for revisiting the nSample mode (or burst mode) handling, but first I want to make sure, that the current implementation is correct from ASoC point of view. Since the code is in it's third iteration, I think it is getting better day-by- day ;)