summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/max98090.h
diff options
context:
space:
mode:
authorFang, Yang A <yang.a.fang@intel.com>2015-08-07 23:08:15 +0200
committerMark Brown <broonie@kernel.org>2015-08-10 13:57:35 +0200
commite5b94083d0996b4c69674c8a5563c2eb272557ba (patch)
treefb1ef32a6bba9452a552b1c3c88511297b04ab2f /sound/soc/codecs/max98090.h
parentLinux 4.2-rc2 (diff)
downloadlinux-e5b94083d0996b4c69674c8a5563c2eb272557ba.tar.xz
linux-e5b94083d0996b4c69674c8a5563c2eb272557ba.zip
ASoC: max98090: Fix sequencing when starting additional routes
Enforce correct device sequencing when configuring a new audio route when there is an existing active audio route(s). This patch fixed recording noise issue while playback is active. We have some registers which require the device to be in full shutdown or to enter full shutdown before the register settings will take effect. Currently the driver is not shutting down the device when a new audio route is created. If a new audio route is made active while there is already an active audio route, then the required register sequencing is violated. A hardware shutdown toggle when creating a new audio route corrects the sequencing error. The device must remain in hardware shutdown for 40ms to allow the internal hardware core to fully shutdown. Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com> Acked-by: Anish Kumar <anish.kumar@maximintegrated.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/max98090.h')
-rw-r--r--sound/soc/codecs/max98090.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/codecs/max98090.h b/sound/soc/codecs/max98090.h
index 21ff743f5af2..bc610d9a9ecb 100644
--- a/sound/soc/codecs/max98090.h
+++ b/sound/soc/codecs/max98090.h
@@ -1543,6 +1543,7 @@ struct max98090_priv {
unsigned int pa2en;
unsigned int sidetone;
bool master;
+ bool shdn_pending;
};
int max98090_mic_detect(struct snd_soc_codec *codec,