From: Greg Kroah-Hartman Date: Mon, 27 Dec 2021 14:18:00 +0000 (+0100) Subject: 5.10-stable patches X-Git-Tag: v4.4.297~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ce4b52641543bb6ce059568f7124fab2556ec05e;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches 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 --- 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 index 00000000000..32748c45989 --- /dev/null +++ b/queue-5.10/asoc-rt5682-fix-the-wrong-jack-type-detected.patch @@ -0,0 +1,42 @@ +From 8deb34a90f06374fd26f722c2a79e15160f66be7 Mon Sep 17 00:00:00 2001 +From: Derek Fang +Date: Tue, 14 Dec 2021 18:50:33 +0800 +Subject: ASoC: rt5682: fix the wrong jack type detected + +From: Derek Fang + +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 +Link: https://lore.kernel.org/r/20211214105033.471-1-derek.fang@realtek.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..b61d645fc23 --- /dev/null +++ b/queue-5.10/asoc-tas2770-fix-setting-of-high-sample-rates.patch @@ -0,0 +1,39 @@ +From 80d5be1a057e05f01d66e986cfd34d71845e5190 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Martin=20Povi=C5=A1er?= +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 + +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 +Link: https://lore.kernel.org/r/20211206224529.74656-1-povik@protonmail.com +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..f4eda91fabf --- /dev/null +++ b/queue-5.10/input-elants_i2c-do-not-check-remark-id-on-ekth3900-ekth5312.patch @@ -0,0 +1,90 @@ +From 4ebfee2bbc1a9c343dd50565ba5ae249fac32267 Mon Sep 17 00:00:00 2001 +From: Johnny Chuang +Date: Mon, 20 Dec 2021 00:28:45 -0800 +Subject: Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312 + +From: Johnny Chuang + +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 +Link: https://lore.kernel.org/r/1639619603-20616-1-git-send-email-johnny.chuang.emc@gmail.com +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman +--- + 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 index 00000000000..7b335b41267 --- /dev/null +++ b/queue-5.10/input-goodix-add-id-model-mapping-for-the-9111-model.patch @@ -0,0 +1,31 @@ +From 81e818869be522bc8fa6f7df1b92d7e76537926c Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 6 Dec 2021 23:29:27 -0800 +Subject: Input: goodix - add id->model mapping for the "9111" model + +From: Hans de Goede + +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 +Link: https://lore.kernel.org/r/20211206164747.197309-2-hdegoede@redhat.com +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman +--- + 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 = >911_chip_data }, + { .id = "9271", .data = >911_chip_data }, + { .id = "9110", .data = >911_chip_data }, ++ { .id = "9111", .data = >911_chip_data }, + { .id = "927", .data = >911_chip_data }, + { .id = "928", .data = >911_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 index 00000000000..5a5af75b0b7 --- /dev/null +++ b/queue-5.10/input-i8042-enable-deferred-probe-quirk-for-asus-um325ua.patch @@ -0,0 +1,43 @@ +From 44ee250aeeabb28b52a10397ac17ffb8bfe94839 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Samuel=20=C4=8Cavoj?= +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 + +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 +Link: https://lore.kernel.org/r/20211204015615.232948-1-samuel@cavoj.net +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman +--- + 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"), ++ }, ++ }, + { } + }; + diff --git a/queue-5.10/series b/queue-5.10/series index 448636a6c49..55682be5d8a 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -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