
On Wed, 06 Sep 2017 06:30:03 +0200, Takashi Sakamoto wrote:
On Sep 6 2017 01:18, Sebastian Andrzej Siewior wrote:
From: Thomas Gleixner tglx@linutronix.de
The tasklet is used to defer the execution of snd_pcm_period_elapsed() to the softirq context. Using the CLOCK_MONOTONIC_SOFT base invokes the timer callback in softirq context as well which renders the tasklet useless.
Signed-off-by: Thomas Gleixner tglx@linutronix.de Signed-off-by: Anna-Maria Gleixner anna-maria@linutronix.de Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: Takashi Sakamoto o-takashi@sakamocchi.jp Cc: alsa-devel@alsa-project.org [o-takashi: avoid stall due to a call of hrtimer_cancel() on a callback of hrtimer] Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp Signed-off-by: Sebastian Andrzej Siewior bigeasy@linutronix.de
On 2017-09-06 01:05:43 [+0900], Takashi Sakamoto wrote:
As Iwai-san mentioned, in this function, .trigger can be called in two cases; XRUN occurs and draining is done. Thus, let you change the comment as 'In cases of XRUN and draining, this calls .trigger to stop PCM substream.'. I'm sorry to trouble you.
snd_pcm_period_elapsed() ->snd_pcm_update_hw_ptr0() ->snd_pcm_update_state() ->snd_pcm_drain_done() ... ->.trigger(TRIGGER_STOP) ->xrun() ->snd_pcm_stop() ... ->.trigger(TRIGGER_STOP)
I think you asked me just to update the comment. Did I do it right?
v2…v3: updated the comment as per Takashi Sakamoto's suggestion. v1…v2: merged Takashi Sakamoto fixup of the original patch into v2.
sound/drivers/dummy.c | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-)
This Looks good to me. I did quick test and confirmed that it brings no stalls.
Tested-by: Takashi Sakamoto o-takashi@sakamocchi.jp
I suppose you'd apply all together in some tree like tip or whatever? In anyway, feel free to take my ack for this patch: Reviewed-by: Takashi Iwai tiwai@suse.de
Thanks!
Takashi