summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorYu-Hsuan Hsu <yuhsuan@chromium.org>2019-09-23 19:29:40 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-12-31 18:45:21 +0300
commit187fb0e947d8ae89ca4ee96661acc54c94eba4f8 (patch)
tree2b67db9eda9ad7f7ffa99c5058d4864413bbf089 /sound
parent82846628c2c9923102804d056c5b103f6efcdad6 (diff)
downloadlinux-187fb0e947d8ae89ca4ee96661acc54c94eba4f8.tar.xz
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>
Diffstat (limited to 'sound')
-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 74dda8784f1a..67b276a65a8d 100644
--- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
+++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c
@@ -400,6 +400,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);
}