On Monday 09 January 2017 20:22:01 Mark Brown wrote: > On Mon, Jan 09, 2017 at 02:13:17PM +0100, Pali Rohár wrote: > > So... can I call snd_soc_dapm_mutex_lock(dapm) at function startup, > > start doing cable detection and when needed call this? > > > > snd_soc_dapm_enable_pin_unlocked(dapm, "HS Mic"); > > snd_soc_dapm_sync_unlocked(dapm); > > > > And at the end of function revert back "HS Mic" pin status and call > > snd_soc_dapm_mutex_unlock(dapm)? > > You shouldn't need to lock I'd expect, and you'll want to sync at any > point where you need an actual change. Note that if something holds > the microphone bias on (like something using the microphone) > separately then that'll take effect so if you really need things to > get turned off then that won't work but you probably have trouble > anyway in that situation. This is needed for cable/jack detection at time when jack is inserted. So before it there cannot be any user of (disconnected) microphone. What I need is to enable mic bias, measure ADC of some time period, check status of some GPIOs. Then disable mic bias, measure ADC again and check GPIOs. I in this detection procedure I need to ensure that nobody changes mic bias. So I though that locking the whole procedure could ensure that. -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.