ASoC: nau8825: lock longer to avoid playback pop upon resume
authorJohn Hsu <KCHSU0@nuvoton.com>
Tue, 29 Nov 2016 02:05:16 +0000 (10:05 +0800)
committerMark Brown <broonie@kernel.org>
Wed, 30 Nov 2016 17:42:52 +0000 (17:42 +0000)
commit2263fddcd0ba9d8e75a90b1359f92d3b9d0b78b3
treec18b94ca0dc743eec05d742c8d587b3290b89e1c
parentaee02c75a5fb3b3583780bb7b298cb0d0d6647e2
ASoC: nau8825: lock longer to avoid playback pop upon resume

There is an issue about pop noise in NAU88L25 as follows.
Issue 54078: Chell_headphone pop back from S3
(1)Play directly to hw, bypassing CRAS:
sox -b 16 -n -t alsa hw:0,0 synth sine 200 sine 200
(2)Close lid or powerd_dbus_suspend, then press a key to resume.
(3)no audio after resume
(4)Audio will be back after close then reopen the pcm device.

After verification, we find one defect is that semaphone lock is not
long enough and expired. In this situation, the playback comes back
early but pauses a while to wait for the crosstalk detection done.
But the detection spends too much time and lock time is up. Therefore,
the playback and jack detection sequence interfere to each other.
That breaks sequence and makes noise. The driver extends the lock
time for the issue.

Signed-off-by: John Hsu <KCHSU0@nuvoton.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/nau8825.c