[alsa-devel] [PATCH 1/3] ALSA: hda - jack poll once if jackpoll_interval==0
David Henningsson
david.henningsson at canonical.com
Wed Jul 24 12:31:51 CEST 2013
On 07/24/2013 12:08 PM, Takashi Iwai wrote:
> At Mon, 22 Jul 2013 03:19:16 -0400,
> Wang Xingchao wrote:
>>
>> jackpoll_interval used to poll jack event periodically, if it's 0,
>> give the caller one chance to probe jack status.
>
> Why? I miss the background...
>
> jackpoll_interval=0 means that the polling is disabled. So, there
> should be no polling at all.
I wondered that too, but figured it's to make the next patch work. I
asked why one couldn't just call snd_hda_jack_set_dirty/poll_all from
runtime_resume, but xingchao said it lead to a loop of some sort.
Reference:
http://mailman.alsa-project.org/pipermail/alsa-devel/2013-July/064348.html
>
>
> Takashi
>
>> Signed-off-by: Wang Xingchao <xingchao.wang at linux.intel.com>
>> ---
>> sound/pci/hda/hda_codec.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
>> index 8a005f0..74c11bc 100644
>> --- a/sound/pci/hda/hda_codec.c
>> +++ b/sound/pci/hda/hda_codec.c
>> @@ -1216,11 +1216,12 @@ static void hda_jackpoll_work(struct work_struct *work)
>> {
>> struct hda_codec *codec =
>> container_of(work, struct hda_codec, jackpoll_work.work);
>> - if (!codec->jackpoll_interval)
>> - return;
>>
>> snd_hda_jack_set_dirty_all(codec);
>> snd_hda_jack_poll_all(codec);
>> + if (!codec->jackpoll_interval)
>> + return;
>> +
>> queue_delayed_work(codec->bus->workq, &codec->jackpoll_work,
>> codec->jackpoll_interval);
>> }
>> --
>> 1.8.3.2
>>
>
--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
More information about the Alsa-devel
mailing list