Fix detecting jack connection on Aquarius

It works correctly with such file:
$ cat /etc/modprobe.d/sof-essx8336.conf
options snd_soc_sof_es8336 quirk=0x40

Otherwise it thinks that headsphones and microphone are connected.
This commit is contained in:
Mikhail Novosyolov 2022-09-08 10:48:44 +03:00
parent 1c8af1cc2e
commit ef608f72b9
4 changed files with 64 additions and 53 deletions

View file

@ -1,42 +0,0 @@
From 9e9cf05832f8a3afe35e45ea6bb9a808052b4122 Mon Sep 17 00:00:00 2001
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date: Wed, 7 Sep 2022 14:17:35 +0300
Subject: [PATCH 424/424] ASoC: Intel: sof_es8336: Add a quirk for Aquarius
NS685U R11
Sound worked with such a trick (+ changes in ALSA UCM configs):
echo "options snd_soc_sof_es8336 quirk=0x40" > /etc/modprobe.d/sof-essx8336.conf
More information about this notebook:
https://linux-hardware.org/?probe=339dc3db60&log=dmidecode
See also:
https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=commitdiff;h=740693f7fc02612bef2036426449c575ec4f4161
---
sound/soc/intel/boards/sof_es8336.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c
index fd43fd773..4a66d502c 100644
--- a/sound/soc/intel/boards/sof_es8336.c
+++ b/sound/soc/intel/boards/sof_es8336.c
@@ -311,6 +311,16 @@ static const struct dmi_system_id sof_es8336_quirk_table[] = {
},
.driver_data = (void *)(SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK)
},
+ /* Aquarius NS685U R11 (https://linux-hardware.org/?probe=339dc3db60) */
+ {
+ .callback = sof_es8336_quirk_cb,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "AQUARIUS"),
+ DMI_MATCH(DMI_BOARD_NAME, "NS685Uv3"),
+ },
+ .driver_data = (void *)(SOF_ES8336_SSP_CODEC(0) |
+ SOF_ES8336_JD_INVERTED)
+ },
{
.callback = sof_es8336_quirk_cb,
.matches = {
--
2.35.2

View file

@ -1,14 +1,17 @@
From 515a24183cc54328bddca9a3101572b6d0dd2d42 Mon Sep 17 00:00:00 2001
From fb8811fd75612859fcd59f750e5aff64ec79e3fa Mon Sep 17 00:00:00 2001
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date: Wed, 7 Sep 2022 15:13:53 +0300
Subject: [PATCH] ASoC: Intel: sof_es8336: Add more quirks for Russian hardware
Subject: [PATCH 424/425] ASoC: Intel: sof_es8336: Add more quirks for Russian
hardware
Ported from:
https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=blob_plain;f=sound/soc/intel/boards/sof_es8336.c;h=d2a8309c3d520d97fb3e9a1747fa374dd7786beb;hb=882bb4ce852b88412e92bf6d508b19acdcee29e3
Except hardware added by commit https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=commitdiff;h=5de44dd5ed0c6fa97f7142bad3157d6a897686b9
Except:
1) hardware added by commit https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=commitdiff;h=5de44dd5ed0c6fa97f7142bad3157d6a897686b9
(see: https://github.com/thesofproject/linux/issues/3412)
because that is a complex patch and I currently do not have such hardware for tests.
because that is a complex patch and I currently do not have such hardware for tests
2) Aquarius which is added by another patch in a bit different form (board name instead of notebook model).
Original authors:
Nikolai Kostrigin <nickel@altlinux.org>
@ -18,12 +21,12 @@ Vasiliy Kovalev <kovalev@altlinux.org>
1 file changed, 59 insertions(+)
diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c
index 4a66d502c..f1a2a4af1 100644
index fd43fd773..b7903e9b5 100644
--- a/sound/soc/intel/boards/sof_es8336.c
+++ b/sound/soc/intel/boards/sof_es8336.c
@@ -321,6 +321,65 @@ static const struct dmi_system_id sof_es8336_quirk_table[] = {
.driver_data = (void *)(SOF_ES8336_SSP_CODEC(0) |
SOF_ES8336_JD_INVERTED)
@@ -311,6 +311,65 @@ static const struct dmi_system_id sof_es8336_quirk_table[] = {
},
.driver_data = (void *)(SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK)
},
+ {
+ .callback = sof_es8336_quirk_cb,

View file

@ -0,0 +1,50 @@
From 00ba4607f2385a3c5cc27f3d627e454363ea61cc Mon Sep 17 00:00:00 2001
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date: Wed, 7 Sep 2022 14:17:35 +0300
Subject: [PATCH] ASoC: Intel: sof_es8336: Add a quirk for Aquarius NS685U R11
Sound worked with such a trick (+ changes in ALSA UCM configs):
echo "options snd_soc_sof_es8336 quirk=0x40" > /etc/modprobe.d/sof-essx8336.conf
More information about this notebook:
https://linux-hardware.org/?probe=339dc3db60&log=dmidecode
See also:
https://git.altlinux.org/gears/k/kernel-image-std-def.git?p=kernel-image-std-def.git;a=commitdiff;h=740693f7fc02612bef2036426449c575ec4f4161
---
sound/soc/intel/boards/sof_es8336.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/sound/soc/intel/boards/sof_es8336.c b/sound/soc/intel/boards/sof_es8336.c
index b7903e9b5..0a350c07d 100644
--- a/sound/soc/intel/boards/sof_es8336.c
+++ b/sound/soc/intel/boards/sof_es8336.c
@@ -303,6 +303,25 @@ static int sof_es8336_quirk_cb(const struct dmi_system_id *id)
* if the topology file is modified as well.
*/
static const struct dmi_system_id sof_es8336_quirk_table[] = {
+ /* Aquarius NS685U R11 (https://linux-hardware.org/?probe=339dc3db60) */
+ {
+ .callback = sof_es8336_quirk_cb,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Aquarius"),
+ DMI_MATCH(DMI_PRODUCT_NAME, "NS685U R11"),
+ },
+ .driver_data = (void *)(SOF_ES8336_JD_INVERTED)
+ },
+ /* Aquarius NS685U (https://linux-hardware.org/?probe=988e1b3035) */
+ {
+ .callback = sof_es8336_quirk_cb,
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "Aquarius"),
+ /* it is not a typo! see dmidecode by the link above */
+ DMI_MATCH(DMI_PRODUCT_NAME, "win10 HOME rs10"),
+ },
+ .driver_data = (void *)(SOF_ES8336_JD_INVERTED)
+ },
{
.callback = sof_es8336_quirk_cb,
.matches = {
--
2.35.2

View file

@ -32,7 +32,7 @@
%define sublevel 65
# Release number. Increase this before a rebuild.
%define rpmrel 1
%define rpmrel 8
%define fullrpmrel %{rpmrel}
%define rpmtag %{disttag}
@ -382,8 +382,8 @@ Patch0421: 0421-ASoC-Intel-sof_es8336-remove-hard-coded-SSP-selectio.patch
Patch0422: 0422-ASoC-Intel-fix-sof_es8336-probe.patch
Patch0423: 0423-sound-backport-firmware-matches.patch
# TODO: upstreamize quirks and fixes in alsa ucm2
Patch0424: 0424-ASoC-Intel-sof_es8336-Add-a-quirk-for-Aquarius-NS685.patch
Patch0425: 0425-ASoC-Intel-sof_es8336-Add-more-quirks-for-Russian-ha.patch
Patch0424: 0424-ASoC-Intel-sof_es8336-Add-more-quirks-for-Russian-ha.patch
Patch0425: 0425-ASoC-Intel-sof_es8336-Add-a-quirk-for-Aquarius-NS685.patch
# Additional backports to make previous patches work/compile
Patch0426: 0426-ASoC-SOF-Intel-hda-report-SSP-link-mask-to-machine-d.patch
Patch0427: 0427-ASoC-Intel-soc-acpi-quirk-topology-filename-dynamica.patch