summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorZidan Wang <zidan.wang@freescale.com>2015-10-29 17:26:14 +0800
committerNitin Garg <nitin.garg@nxp.com>2016-01-14 11:02:10 -0600
commit2e3239ad8b98660d2d68336d4c8b1b0853ec60e6 (patch)
treeeacfc8b2f33fa88b1c5a6decdd404fabbfc642d6 /sound
parentc5efd37adb72770637a7da41305cecce9eae9074 (diff)
MLK-10183 ASoC: wm8962: separate ALC Coefficients to four reigsters
Attempt to read volatile register when cache_only is set will return EBUSY. After playback/record, wm8962_runtime_suspend function will set cache_only flag, so the volitale register ALC2 can't be read from cache. Separate ALC Coefficients to four reigsters, the volatile register ALC2 will be read from hardware instead of cache. Signed-off-by: Zidan Wang <zidan.wang@freescale.com> (cherry picked from commit 5ec8878be12530517b4c8ae307441a0ac16071a3)
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8962.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index d24eca40a128..5e9be530340c 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -1784,8 +1784,11 @@ SND_SOC_BYTES("HD Bass Coefficients", WM8962_HDBASS_AI_1, 30),
SOC_DOUBLE("ALC Switch", WM8962_ALC1, WM8962_ALCL_ENA_SHIFT,
WM8962_ALCR_ENA_SHIFT, 1, 0),
-SND_SOC_BYTES_MASK("ALC Coefficients", WM8962_ALC1, 4,
+SND_SOC_BYTES_MASK("ALC1", WM8962_ALC1, 1,
WM8962_ALCL_ENA_MASK | WM8962_ALCR_ENA_MASK),
+SND_SOC_BYTES("ALC2", WM8962_ALC2, 1),
+SND_SOC_BYTES("ALC3", WM8962_ALC3, 1),
+SND_SOC_BYTES("Noise Gate", WM8962_NOISE_GATE, 1),
};
static const struct snd_kcontrol_new wm8962_spk_mono_controls[] = {