Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ASOC: max98090/91: fix for filter configuration: AHPF removed DMIC2_HPF added

The filter configuration register(0x26) has AHPF(bit6) for primary record
path, which is common in max98090 and max98091 and has been defined as
DAPM suppy widget as "AHPF" in
"struct snd_soc_dapm_widget max98090_dapm_widget[]".
It is the DC-Blocking filter for the primary record path.
But the same functionality for secondary record path in the configuration
register(0x26) is DMIC2_HPF(bit2). It is not present as a DAPM supply
widget in the current code. With this patch adding it as a DAPM supply
widget. In the current code, the mics on secondary record path in
code are named as "DMIC3" and "DMIC4", so accordingly naming
DMIC2_HPF(bit2) as "DMIC34_HPF", and declaring it as a DAPM supply
widget in "struct snd_soc_dapm_widget max98091_dapm_widget[]". Also it
is specific to max98091, and should be visible or working only when
max98091 codec chip is used. Therefore, written in
"max98091_dapm_widget[]". As "AHPF" is not part
of secondary record path, replacing it with "DMIC34_HPF" in the
ALSA routes to "DMIC3" and "DMIC4" in "max98091_dapm_routes[]".

Signed-off-by: Sharique Mohammad <sharq0406@gmail.com>
Link: https://patch.msgid.link/20251016151152.1107083-1-sharq0406@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Sharique Mohammad and committed by
Mark Brown
bf6fb4a2 ef30cb13

+4 -2
+4 -2
sound/soc/codecs/max98090.c
··· 1239 1239 SND_SOC_DAPM_SUPPLY("DMIC4_ENA", M98090_REG_DIGITAL_MIC_ENABLE, 1240 1240 M98090_DIGMIC4_SHIFT, 0, max98090_shdn_event, 1241 1241 SND_SOC_DAPM_POST_PMU), 1242 + SND_SOC_DAPM_SUPPLY("DMIC34_HPF", M98090_REG_FILTER_CONFIG, 1243 + M98090_FLT_DMIC34HPF_SHIFT, 0, NULL, 0), 1242 1244 }; 1243 1245 1244 1246 static const struct snd_soc_dapm_route max98090_dapm_routes[] = { ··· 1429 1427 /* DMIC inputs */ 1430 1428 {"DMIC3", NULL, "DMIC3_ENA"}, 1431 1429 {"DMIC4", NULL, "DMIC4_ENA"}, 1432 - {"DMIC3", NULL, "AHPF"}, 1433 - {"DMIC4", NULL, "AHPF"}, 1430 + {"DMIC3", NULL, "DMIC34_HPF"}, 1431 + {"DMIC4", NULL, "DMIC34_HPF"}, 1434 1432 }; 1435 1433 1436 1434 static int max98090_add_widgets(struct snd_soc_component *component)