On Mon, Jan 9, 2017 at 11:38 PM, Peter Ujfalusi peter.ujfalusi@ti.com wrote:
On 01/10/2017 05:23 AM, Matt Ranostay wrote:
Yeah I can reproduce the issue you are mentioning. Anyone have a suggestion how on to resolve? Guessing the QoS function calls need to be in an atomic context and the omap_mcbsp_* functions can sleep
I think it is the other way around: we call a sleeping function from atomic context. pcm_trigger is atomic.
Most probably we should add the .prepare callback to mcbsp_dai_ops and do the QoS update which is done in omap_mcbsp_start() there. The things we do in omap_mcbsp_stop() then can be moved to omap_mcbsp_dai_shutdown().
Seems reasonable. Will rework patchset and retest.
Thanks,
Matt
I think the code would handle cases when user space stops the stream, re-configures it and starts it with different parameters w/o closing it.
-- Péter