]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Dec 2021 14:18:00 +0000 (15:18 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Dec 2021 14:18:00 +0000 (15:18 +0100)
added patches:
asoc-rt5682-fix-the-wrong-jack-type-detected.patch
asoc-tas2770-fix-setting-of-high-sample-rates.patch
input-elants_i2c-do-not-check-remark-id-on-ekth3900-ekth5312.patch
input-goodix-add-id-model-mapping-for-the-9111-model.patch
input-i8042-enable-deferred-probe-quirk-for-asus-um325ua.patch

queue-5.10/asoc-rt5682-fix-the-wrong-jack-type-detected.patch [new file with mode: 0644]
queue-5.10/asoc-tas2770-fix-setting-of-high-sample-rates.patch [new file with mode: 0644]
queue-5.10/input-elants_i2c-do-not-check-remark-id-on-ekth3900-ekth5312.patch [new file with mode: 0644]
queue-5.10/input-goodix-add-id-model-mapping-for-the-9111-model.patch [new file with mode: 0644]
queue-5.10/input-i8042-enable-deferred-probe-quirk-for-asus-um325ua.patch [new file with mode: 0644]
queue-5.10/series

diff --git a/queue-5.10/asoc-rt5682-fix-the-wrong-jack-type-detected.patch b/queue-5.10/asoc-rt5682-fix-the-wrong-jack-type-detected.patch
new file mode 100644 (file)
index 0000000..32748c4
--- /dev/null
@@ -0,0 +1,42 @@
+From 8deb34a90f06374fd26f722c2a79e15160f66be7 Mon Sep 17 00:00:00 2001
+From: Derek Fang <derek.fang@realtek.com>
+Date: Tue, 14 Dec 2021 18:50:33 +0800
+Subject: ASoC: rt5682: fix the wrong jack type detected
+
+From: Derek Fang <derek.fang@realtek.com>
+
+commit 8deb34a90f06374fd26f722c2a79e15160f66be7 upstream.
+
+Some powers were changed during the jack insert detection
+and clk's enable/disable in CCF.
+If in parallel, the influence has a chance to detect
+the wrong jack type, so add a lock.
+
+Signed-off-by: Derek Fang <derek.fang@realtek.com>
+Link: https://lore.kernel.org/r/20211214105033.471-1-derek.fang@realtek.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/codecs/rt5682.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/sound/soc/codecs/rt5682.c
++++ b/sound/soc/codecs/rt5682.c
+@@ -924,6 +924,8 @@ int rt5682_headset_detect(struct snd_soc
+       unsigned int val, count;
+       if (jack_insert) {
++              snd_soc_dapm_mutex_lock(dapm);
++
+               snd_soc_component_update_bits(component, RT5682_PWR_ANLG_1,
+                       RT5682_PWR_VREF2 | RT5682_PWR_MB,
+                       RT5682_PWR_VREF2 | RT5682_PWR_MB);
+@@ -968,6 +970,8 @@ int rt5682_headset_detect(struct snd_soc
+               snd_soc_component_update_bits(component, RT5682_MICBIAS_2,
+                       RT5682_PWR_CLK25M_MASK | RT5682_PWR_CLK1M_MASK,
+                       RT5682_PWR_CLK25M_PU | RT5682_PWR_CLK1M_PU);
++
++              snd_soc_dapm_mutex_unlock(dapm);
+       } else {
+               rt5682_enable_push_button_irq(component, false);
+               snd_soc_component_update_bits(component, RT5682_CBJ_CTRL_1,
diff --git a/queue-5.10/asoc-tas2770-fix-setting-of-high-sample-rates.patch b/queue-5.10/asoc-tas2770-fix-setting-of-high-sample-rates.patch
new file mode 100644 (file)
index 0000000..b61d645
--- /dev/null
@@ -0,0 +1,39 @@
+From 80d5be1a057e05f01d66e986cfd34d71845e5190 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Povi=C5=A1er?= <povik@protonmail.com>
+Date: Mon, 6 Dec 2021 22:45:43 +0000
+Subject: ASoC: tas2770: Fix setting of high sample rates
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Martin Povišer <povik@protonmail.com>
+
+commit 80d5be1a057e05f01d66e986cfd34d71845e5190 upstream.
+
+Although the codec advertises support for 176.4 and 192 ksps, without
+this fix setting those sample rates fails with EINVAL at hw_params time.
+
+Signed-off-by: Martin Povišer <povik@protonmail.com>
+Link: https://lore.kernel.org/r/20211206224529.74656-1-povik@protonmail.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/codecs/tas2770.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/soc/codecs/tas2770.c
++++ b/sound/soc/codecs/tas2770.c
+@@ -291,11 +291,11 @@ static int tas2770_set_samplerate(struct
+               ramp_rate_val = TAS2770_TDM_CFG_REG0_SMP_44_1KHZ |
+                               TAS2770_TDM_CFG_REG0_31_88_2_96KHZ;
+               break;
+-      case 19200:
++      case 192000:
+               ramp_rate_val = TAS2770_TDM_CFG_REG0_SMP_48KHZ |
+                               TAS2770_TDM_CFG_REG0_31_176_4_192KHZ;
+               break;
+-      case 17640:
++      case 176400:
+               ramp_rate_val = TAS2770_TDM_CFG_REG0_SMP_44_1KHZ |
+                               TAS2770_TDM_CFG_REG0_31_176_4_192KHZ;
+               break;
diff --git a/queue-5.10/input-elants_i2c-do-not-check-remark-id-on-ekth3900-ekth5312.patch b/queue-5.10/input-elants_i2c-do-not-check-remark-id-on-ekth3900-ekth5312.patch
new file mode 100644 (file)
index 0000000..f4eda91
--- /dev/null
@@ -0,0 +1,90 @@
+From 4ebfee2bbc1a9c343dd50565ba5ae249fac32267 Mon Sep 17 00:00:00 2001
+From: Johnny Chuang <johnny.chuang.emc@gmail.com>
+Date: Mon, 20 Dec 2021 00:28:45 -0800
+Subject: Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312
+
+From: Johnny Chuang <johnny.chuang.emc@gmail.com>
+
+commit 4ebfee2bbc1a9c343dd50565ba5ae249fac32267 upstream.
+
+The eKTH3900/eKTH5312 series do not support the firmware update rules of
+Remark ID. Exclude these two series from checking it when updating the
+firmware in touch controllers.
+
+Signed-off-by: Johnny Chuang <johnny.chuang.emc@gmail.com>
+Link: https://lore.kernel.org/r/1639619603-20616-1-git-send-email-johnny.chuang.emc@gmail.com
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/touchscreen/elants_i2c.c |   46 ++++++++++++++++++++++++++++++++-
+ 1 file changed, 45 insertions(+), 1 deletion(-)
+
+--- a/drivers/input/touchscreen/elants_i2c.c
++++ b/drivers/input/touchscreen/elants_i2c.c
+@@ -109,6 +109,19 @@
+ #define ELAN_POWERON_DELAY_USEC       500
+ #define ELAN_RESET_DELAY_MSEC 20
++/* FW boot code version */
++#define BC_VER_H_BYTE_FOR_EKTH3900x1_I2C        0x72
++#define BC_VER_H_BYTE_FOR_EKTH3900x2_I2C        0x82
++#define BC_VER_H_BYTE_FOR_EKTH3900x3_I2C        0x92
++#define BC_VER_H_BYTE_FOR_EKTH5312x1_I2C        0x6D
++#define BC_VER_H_BYTE_FOR_EKTH5312x2_I2C        0x6E
++#define BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C       0x77
++#define BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C       0x78
++#define BC_VER_H_BYTE_FOR_EKTH5312x1_I2C_USB    0x67
++#define BC_VER_H_BYTE_FOR_EKTH5312x2_I2C_USB    0x68
++#define BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C_USB   0x74
++#define BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C_USB   0x75
++
+ enum elants_state {
+       ELAN_STATE_NORMAL,
+       ELAN_WAIT_QUEUE_HEADER,
+@@ -663,6 +676,37 @@ static int elants_i2c_validate_remark_id
+       return 0;
+ }
++static bool elants_i2c_should_check_remark_id(struct elants_data *ts)
++{
++      struct i2c_client *client = ts->client;
++      const u8 bootcode_version = ts->iap_version;
++      bool check;
++
++      /* I2C eKTH3900 and eKTH5312 are NOT support Remark ID */
++      if ((bootcode_version == BC_VER_H_BYTE_FOR_EKTH3900x1_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH3900x2_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH3900x3_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x1_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x2_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x1_I2C_USB) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312x2_I2C_USB) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx1_I2C_USB) ||
++          (bootcode_version == BC_VER_H_BYTE_FOR_EKTH5312cx2_I2C_USB)) {
++              dev_dbg(&client->dev,
++                      "eKTH3900/eKTH5312(0x%02x) are not support remark id\n",
++                      bootcode_version);
++              check = false;
++      } else if (bootcode_version >= 0x60) {
++              check = true;
++      } else {
++              check = false;
++      }
++
++      return check;
++}
++
+ static int elants_i2c_do_update_firmware(struct i2c_client *client,
+                                        const struct firmware *fw,
+                                        bool force)
+@@ -676,7 +720,7 @@ static int elants_i2c_do_update_firmware
+       u16 send_id;
+       int page, n_fw_pages;
+       int error;
+-      bool check_remark_id = ts->iap_version >= 0x60;
++      bool check_remark_id = elants_i2c_should_check_remark_id(ts);
+       /* Recovery mode detection! */
+       if (force) {
diff --git a/queue-5.10/input-goodix-add-id-model-mapping-for-the-9111-model.patch b/queue-5.10/input-goodix-add-id-model-mapping-for-the-9111-model.patch
new file mode 100644 (file)
index 0000000..7b335b4
--- /dev/null
@@ -0,0 +1,31 @@
+From 81e818869be522bc8fa6f7df1b92d7e76537926c Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Mon, 6 Dec 2021 23:29:27 -0800
+Subject: Input: goodix - add id->model mapping for the "9111" model
+
+From: Hans de Goede <hdegoede@redhat.com>
+
+commit 81e818869be522bc8fa6f7df1b92d7e76537926c upstream.
+
+Add d->model mapping for the "9111" model, this fixes uses using
+a wrong config_len of 240 bytes while the "9111" model uses
+only 186 bytes of config.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Link: https://lore.kernel.org/r/20211206164747.197309-2-hdegoede@redhat.com
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/touchscreen/goodix.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/input/touchscreen/goodix.c
++++ b/drivers/input/touchscreen/goodix.c
+@@ -162,6 +162,7 @@ static const struct goodix_chip_id goodi
+       { .id = "911", .data = &gt911_chip_data },
+       { .id = "9271", .data = &gt911_chip_data },
+       { .id = "9110", .data = &gt911_chip_data },
++      { .id = "9111", .data = &gt911_chip_data },
+       { .id = "927", .data = &gt911_chip_data },
+       { .id = "928", .data = &gt911_chip_data },
diff --git a/queue-5.10/input-i8042-enable-deferred-probe-quirk-for-asus-um325ua.patch b/queue-5.10/input-i8042-enable-deferred-probe-quirk-for-asus-um325ua.patch
new file mode 100644 (file)
index 0000000..5a5af75
--- /dev/null
@@ -0,0 +1,43 @@
+From 44ee250aeeabb28b52a10397ac17ffb8bfe94839 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Samuel=20=C4=8Cavoj?= <samuel@cavoj.net>
+Date: Sat, 4 Dec 2021 13:17:36 -0800
+Subject: Input: i8042 - enable deferred probe quirk for ASUS UM325UA
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Samuel Čavoj <samuel@cavoj.net>
+
+commit 44ee250aeeabb28b52a10397ac17ffb8bfe94839 upstream.
+
+The ASUS UM325UA suffers from the same issue as the ASUS UX425UA, which
+is a very similar laptop. The i8042 device is not usable immediately
+after boot and fails to initialize, requiring a deferred retry.
+
+Enable the deferred probe quirk for the UM325UA.
+
+BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1190256
+Signed-off-by: Samuel Čavoj <samuel@cavoj.net>
+Link: https://lore.kernel.org/r/20211204015615.232948-1-samuel@cavoj.net
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/serio/i8042-x86ia64io.h |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/drivers/input/serio/i8042-x86ia64io.h
++++ b/drivers/input/serio/i8042-x86ia64io.h
+@@ -992,6 +992,13 @@ static const struct dmi_system_id __init
+                       DMI_MATCH(DMI_PRODUCT_NAME, "C504"),
+               },
+       },
++      {
++              /* ASUS ZenBook UM325UA */
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UA_UM325UA"),
++              },
++      },
+       { }
+ };
index 448636a6c499c42419501444ba2b1f540ad73bb4..55682be5d8add6bfdf33b608036420c1abf3815d 100644 (file)
@@ -62,3 +62,8 @@ ceph-fix-up-non-directory-creation-in-sgid-directories.patch
 usb-gadget-u_ether-fix-race-in-setting-mac-address-in-setup-phase.patch
 kvm-vmx-fix-stale-docs-for-kvm-intel.emulate_invalid_guest_state.patch
 mm-mempolicy-fix-thp-allocations-escaping-mempolicy-restrictions.patch
+input-elants_i2c-do-not-check-remark-id-on-ekth3900-ekth5312.patch
+input-i8042-enable-deferred-probe-quirk-for-asus-um325ua.patch
+input-goodix-add-id-model-mapping-for-the-9111-model.patch
+asoc-tas2770-fix-setting-of-high-sample-rates.patch
+asoc-rt5682-fix-the-wrong-jack-type-detected.patch