summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYu-Hsuan Hsu <yuhsuan@chromium.org>2019-09-24 00:29:40 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-31 16:36:00 +0100
commit370f7e11c2d7ce76829c9bbe63b49c09b4a1d206 (patch)
treedbb8823509ab2bd67435f5ca9d0a24d6253873d7
parente6e50631793e5b85c2761a24cb4563c500b733ec (diff)
downloadlinux-stable-370f7e11c2d7ce76829c9bbe63b49c09b4a1d206.tar.gz
linux-stable-370f7e11c2d7ce76829c9bbe63b49c09b4a1d206.tar.bz2
linux-stable-370f7e11c2d7ce76829c9bbe63b49c09b4a1d206.zip
ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic format constraint
[ Upstream commit e2db787bdcb4f2722ecf410168f0583764634e45 ] On KBL platform, the microphone is attached to external codec(rt5514) instead of PCH. However, TDM slot between PCH and codec is 16 bits only. In order to avoid setting wrong format, we should add a constraint to force to use 16 bits format forever. Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Link: https://lore.kernel.org/r/20190923162940.199580-1-yuhsuan@chromium.org Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
index b8a03f58ac8c..f36e33a14728 100644
--- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
+++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
@@ -423,6 +423,9 @@ static int kabylake_dmic_startup(struct snd_pcm_substream *substream)
snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS,
dmic_constraints);
+ runtime->hw.formats = SNDRV_PCM_FMTBIT_S16_LE;
+ snd_pcm_hw_constraint_msbits(runtime, 0, 16, 16);
+
return snd_pcm_hw_constraint_list(substream->runtime, 0,
SNDRV_PCM_HW_PARAM_RATE, &constraints_rates);
}