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@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