diff mbox series

[5.17,162/225] ASoC: Intel: sof_es8336: Add a quirk for Huawei Matebook D15

Message ID 20220504153124.439720094@linuxfoundation.org
State New
Headers show
Series None | expand

Commit Message

Greg Kroah-Hartman May 4, 2022, 4:46 p.m. UTC
From: Mauro Carvalho Chehab <mchehab@kernel.org>

[ Upstream commit c7cb4717f641db68e8117635bfcf62a9c27dc8d3 ]

Based on experimental tests, Huawei Matebook D15 actually uses
both gpio0 and gpio1: the first one controls the speaker, while
the other one controls the headphone.

Also, the headset is mapped as MIC1, instead of MIC2.

So, add a quirk for it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/d678aef9fc9a07aced611aa7cb8c9b800c649e5a.1649357263.git.mchehab@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 sound/soc/intel/boards/sof_es8336.c | 9 +++++++++
 1 file changed, 9 insertions(+)

Comments

Justin Forbes May 4, 2022, 8:41 p.m. UTC | #1
On Wed, May 04, 2022 at 06:46:40PM +0200, Greg Kroah-Hartman wrote:
> From: Mauro Carvalho Chehab <mchehab@kernel.org>
> 
> [ Upstream commit c7cb4717f641db68e8117635bfcf62a9c27dc8d3 ]
> 
> Based on experimental tests, Huawei Matebook D15 actually uses
> both gpio0 and gpio1: the first one controls the speaker, while
> the other one controls the headphone.
> 
> Also, the headset is mapped as MIC1, instead of MIC2.
> 
> So, add a quirk for it.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
> Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
> Link: https://lore.kernel.org/r/d678aef9fc9a07aced611aa7cb8c9b800c649e5a.1649357263.git.mchehab@kernel.org
> Signed-off-by: Mark Brown <broonie@kernel.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---

This patch is missing some dependencies and fails to build:

sound/soc/intel/boards/sof_es8336.c:261:41: error: 'SOF_ES8336_HEADPHONE_GPIO' undeclared here (not in a function)
  261 |                 .driver_data = (void *)(SOF_ES8336_HEADPHONE_GPIO |

SOF_ES8336_HEADPHONE_GPIO was defined in upstream commit:
6e1ff1459e008 ASoC: Intel: sof_es8336: support a separate gpio to control headphone
which appeared with 5.18-rc4

sound/soc/intel/boards/sof_es8336.c:262:41: error: 'SOC_ES8336_HEADSET_MIC1' undeclared here (not in a function)
  262 |                                         SOC_ES8336_HEADSET_MIC1)

SOC_ES8336_HEADSET_MIC1 was defined in upstream commit: 
7c7bb2a059b22 ASoC: Intel: sof_es8336: add a quirk for headset at mic1 port
which also appeared with 5.18-rc4

We either need to bring in these 2 commits or drop this one from the
stable queue.

Justin

>  sound/soc/intel/boards/sof_es8336.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c
> index 28d7670b8f8f..b18951a8f309 100644
> --- a/sound/soc/intel/boards/sof_es8336.c
> +++ b/sound/soc/intel/boards/sof_es8336.c
> @@ -252,6 +252,15 @@ static const struct dmi_system_id sof_es8336_quirk_table[] = {
>  					SOF_ES8336_TGL_GPIO_QUIRK |
>  					SOF_ES8336_ENABLE_DMIC)
>  	},
> +	{
> +		.callback = sof_es8336_quirk_cb,
> +		.matches = {
> +			DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
> +			DMI_MATCH(DMI_BOARD_NAME, "BOHB-WAX9-PCB-B2"),
> +		},
> +		.driver_data = (void *)(SOF_ES8336_HEADPHONE_GPIO |
> +					SOC_ES8336_HEADSET_MIC1)
> +	},
>  	{}
>  };
>  
> -- 
> 2.35.1
> 
> 
>
diff mbox series

Patch

diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c
index 28d7670b8f8f..b18951a8f309 100644
--- a/sound/soc/intel/boards/sof_es8336.c
+++ b/sound/soc/intel/boards/sof_es8336.c
@@ -252,6 +252,15 @@  static const struct dmi_system_id sof_es8336_quirk_table[] = {
 					SOF_ES8336_TGL_GPIO_QUIRK |
 					SOF_ES8336_ENABLE_DMIC)
 	},
+	{
+		.callback = sof_es8336_quirk_cb,
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "HUAWEI"),
+			DMI_MATCH(DMI_BOARD_NAME, "BOHB-WAX9-PCB-B2"),
+		},
+		.driver_data = (void *)(SOF_ES8336_HEADPHONE_GPIO |
+					SOC_ES8336_HEADSET_MIC1)
+	},
 	{}
 };