[PATCH v2] ASoC: mediatek: mt8192: skip first time data at the beginning of DMIC recording

Jiaxin Yu jiaxin.yu at mediatek.com
Tue Nov 10 21:45:22 EST 2020


We can choose to drop away any length of data from the beginning according
to project needs. Some projects don't want to throw away any data, because
they want to use recorded data to do echo cancellation, so they have to
make sure that they are aligned with the reference data as much as
possible. Or there are other algorithms in the upper layer to eliminate
this noise. Or some projects want to eliminate this noise form the kernel
layer. However, the minimum recommended value is 50ms to skip pop noise.

Signed-off-by: Jiaxin Yu <jiaxin.yu at mediatek.com>
---
 This seems like something that would apply equally to all DMICs so should
 be done at a more general level, so we implement it in the DMIC driver.

 sound/soc/mediatek/Kconfig                              | 1 +
 sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/sound/soc/mediatek/Kconfig b/sound/soc/mediatek/Kconfig
index dc628fb6c1025..31f1431bf5792 100644
--- a/sound/soc/mediatek/Kconfig
+++ b/sound/soc/mediatek/Kconfig
@@ -175,6 +175,7 @@ config SND_SOC_MT8192_MT6359_RT1015_RT5682
 	select SND_SOC_MT6359
 	select SND_SOC_RT1015
 	select SND_SOC_RT5682_I2C
+	select SND_SOC_DMIC
 	help
 	  This adds ASoC driver for Mediatek MT8192 boards
 	  with the MT6359 RT1015 RT5682 audio codec.
diff --git a/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c b/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c
index 41d8a8567bb38..b7f42a530d069 100644
--- a/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c
+++ b/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c
@@ -540,7 +540,9 @@ SND_SOC_DAILINK_DEFS(playback_hdmi,
 SND_SOC_DAILINK_DEFS(primary_codec,
 		     DAILINK_COMP_ARRAY(COMP_CPU("ADDA")),
 		     DAILINK_COMP_ARRAY(COMP_CODEC("mt6359-sound",
-						   "mt6359-snd-codec-aif1")),
+						   "mt6359-snd-codec-aif1"),
+					COMP_CODEC("dmic-codec",
+						   "dmic-hifi")),
 		     DAILINK_COMP_ARRAY(COMP_EMPTY()));
 
 SND_SOC_DAILINK_DEFS(primary_codec_ch34,
-- 
2.18.0


More information about the linux-arm-kernel mailing list