Skip to content

Commit

Permalink
ASoC: SOF: Intel: don't check number of sdw links when set dmic_fixup
Browse files Browse the repository at this point in the history
Currently, we assume that the PCH DMIC pins are pin-muxed with SoundWire
links. However, we do see a HW design that use PCH DMIC along with 3
SoundWire links. Remove the check now.
With this change BIOS should only report the presence of PCH DMI when it
is truly exist.

Signed-off-by: Bard Liao <[email protected]>
  • Loading branch information
bardliao committed Jan 9, 2025
1 parent e774004 commit 308ae70
Showing 1 changed file with 2 additions and 16 deletions.
18 changes: 2 additions & 16 deletions sound/soc/sof/intel/hda.c
Original file line number Diff line number Diff line change
Expand Up @@ -1321,22 +1321,8 @@ struct snd_soc_acpi_mach *hda_machine_select(struct snd_sof_dev *sdev)
/* report to machine driver if any DMICs are found */
mach->mach_params.dmic_num = check_dmic_num(sdev);

if (sdw_mach_found) {
/*
* DMICs use up to 4 pins and are typically pin-muxed with SoundWire
* link 2 and 3, or link 1 and 2, thus we only try to enable dmics
* if all conditions are true:
* a) 2 or fewer links are used by SoundWire
* b) the NHLT table reports the presence of microphones
*/
if (hweight_long(mach->link_mask) <= 2)
dmic_fixup = true;
else
mach->mach_params.dmic_num = 0;
} else {
if (mach->tplg_quirk_mask & SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER)
dmic_fixup = true;
}
if (sdw_mach_found || mach->tplg_quirk_mask & SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER)
dmic_fixup = true;

if (tplg_fixup &&
dmic_fixup &&
Expand Down

0 comments on commit 308ae70

Please sign in to comment.