lkml.org 
[lkml]   [2022]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH -next] ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 Gen 4+ ARA to the Quirks List
Date
[Public]

Cc:
Mark Pearson
Vijendar
Syed
Renjith

> -----Original Message-----
> From: linkt <xazrael@hotmail.com>
> Sent: Monday, October 10, 2022 21:52
> To: lgirdwood@gmail.com; broonie@kernel.org; perex@perex.cz;
> tiwai@suse.com; Limonciello, Mario <Mario.Limonciello@amd.com>
> Cc: alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linkt
> <xazrael@hotmail.com>
> Subject: [PATCH -next] ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+
> ARA and Lenovo ThinkBook 16 Gen 4+ ARA to the Quirks List
>
> Lenovo ThinkBook 14 Gen 4+ ARA and ThinkBook 16 Gen 4+ ARA
> need to be added to the list of quirks for the microphone to work properly.
>
> Signed-off-by: linkt <xazrael@hotmail.com>

This patch alone makes sense to me.

Cc: stable@vger.kernel.org
Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>

I think it should go in as is, but it prompts another idea to me I want to run by
Mark specifically..

Should we just drop this whole file down to a much simpler DMI match prefix like this:

> + {
> + .driver_data = &acp6x_card,
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "21"),
> + }
> + },

That would allow it to match all the Lenovo Rembrandt systems presumably and
can stop touching the file. This only makes sense if every single Lenovo Rembrandt design
uses a DMIC from ACP. I don't know if that's a valid assumption and I think we need Mark
to confirm it.

The DMI match "technically" would match some of the Intel systems from this generation
but this driver is only "loaded" on AMD Rembrandt systems, so I don't think it's a problem.

> ---
> sound/soc/amd/yc/acp6x-mach.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-
> mach.c
> index 2cb50d5cf1a9..09a8aceff22f 100644
> --- a/sound/soc/amd/yc/acp6x-mach.c
> +++ b/sound/soc/amd/yc/acp6x-mach.c
> @@ -45,6 +45,20 @@ static struct snd_soc_card acp6x_card = {
> };
>
> static const struct dmi_system_id yc_acp_quirk_table[] = {
> + {
> + .driver_data = &acp6x_card,
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "21D0"),
> + }
> + },
> + {
> + .driver_data = &acp6x_card,
> + .matches = {
> + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
> + DMI_MATCH(DMI_PRODUCT_NAME, "21D1"),
> + }
> + },
> {
> .driver_data = &acp6x_card,
> .matches = {
> --
> 2.37.3

\
 
 \ /
  Last update: 2022-10-11 19:09    [W:0.052 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site