Re: [PATCH 5.17 0943/1126] ASoC: Intel: sof_es8336: use NHLT information to set dmic and SSP

From: Stefan Lippers-Hollmann
Date: Tue Apr 05 2022 - 16:28:03 EST


Hi

On 2022-04-05, Greg Kroah-Hartman wrote:
> From: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
>
> [ Upstream commit 651c304df7f6e3fbb4779527efa3eb128ef91329 ]
>
> Since we see a proliferation of devices with various configurations,
> we want to automatically set the DMIC and SSP information. This patch
> relies on the information extracted from NHLT and partially reverts
> existing DMI quirks added by commit a164137ce91a ("ASoC: Intel: add
> machine driver for SOF+ES8336")
>
> Note that NHLT can report multiple SSPs, choosing from the
> ssp_link_mask in an MSB-first manner was found experimentally to work
> fine.
>
> The only thing that cannot be detected is the GPIO type, and users may
> want to use the quirk override parameter if the 'wrong' solution is
> provided.
[...]

This patch, as part of v5.17.2-rc1 seems to introduce a build failure
on x86_64 (with CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m):

LD [M] sound/soc/intel/boards/snd-soc-sof_rt5682.o
LD [M] sound/soc/intel/boards/snd-soc-sof_cs42l42.o
CC [M] sound/soc/intel/boards/sof_es8336.o
/build/linux-5.17/sound/soc/intel/boards/sof_es8336.c: In function 'sof_es8336_probe':
/build/linux-5.17/sound/soc/intel/boards/sof_es8336.c:482:32: error: 'struct snd_soc_acpi_mach_params' has no member named 'i2s_link_mask'; did you mean 'link_mask'?
482 | if (!mach->mach_params.i2s_link_mask) {
| ^~~~~~~~~~~~~
| link_mask
/build/linux-5.17/sound/soc/intel/boards/sof_es8336.c:494:39: error: 'struct snd_soc_acpi_mach_params' has no member named 'i2s_link_mask'; did you mean 'link_mask'?
494 | if (mach->mach_params.i2s_link_mask & BIT(2))
| ^~~~~~~~~~~~~
| link_mask
/build/linux-5.17/sound/soc/intel/boards/sof_es8336.c:496:44: error: 'struct snd_soc_acpi_mach_params' has no member named 'i2s_link_mask'; did you mean 'link_mask'?
496 | else if (mach->mach_params.i2s_link_mask & BIT(1))
| ^~~~~~~~~~~~~
| link_mask
/build/linux-5.17/sound/soc/intel/boards/sof_es8336.c:498:45: error: 'struct snd_soc_acpi_mach_params' has no member named 'i2s_link_mask'; did you mean 'link_mask'?
498 | else if (mach->mach_params.i2s_link_mask & BIT(0))
| ^~~~~~~~~~~~~
| link_mask
make[4]: *** [/build/linux-5.17/scripts/Makefile.build:288: sound/soc/intel/boards/sof_es8336.o] Error 1

Reverting just this patch lets the build, using the same buildconfig,
succeed again.

Regards
Stefan Lippers-Hollmann