Update v5.6 patches

This commit is contained in:
Maximilian Luz 2020-05-17 03:36:13 +02:00
parent 09ab0b74bd
commit 3d3c2d4bc0
No known key found for this signature in database
GPG key ID: 70EC0937F6C26F02
7 changed files with 145 additions and 134 deletions

View file

@ -1,4 +1,4 @@
From f974a4ea688f50cdda4c3c0f574cba95a86a0cc8 Mon Sep 17 00:00:00 2001
From 1bd770ffc7b3ec34380eb6195ddfee2b51dffc83 Mon Sep 17 00:00:00 2001
From: qzed <qzed@users.noreply.github.com>
Date: Tue, 17 Sep 2019 17:17:56 +0200
Subject: [PATCH 1/7] surface3-power
@ -11,7 +11,7 @@ Subject: [PATCH 1/7] surface3-power
create mode 100644 drivers/platform/x86/surface3_power.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 587403c44598..f90d3d4a86a0 100644
index 587403c445980..f90d3d4a86a07 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1211,6 +1211,13 @@ config SURFACE_3_BUTTON
@ -29,7 +29,7 @@ index 587403c44598..f90d3d4a86a0 100644
tristate "Intel P-Unit IPC Driver"
---help---
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 3747b1f07cf1..636833e357f0 100644
index 3747b1f07cf15..636833e357f02 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -89,6 +89,7 @@ obj-$(CONFIG_INTEL_PMC_IPC) += intel_pmc_ipc.o
@ -42,7 +42,7 @@ index 3747b1f07cf1..636833e357f0 100644
obj-$(CONFIG_INTEL_TELEMETRY) += intel_telemetry_core.o \
diff --git a/drivers/platform/x86/surface3_power.c b/drivers/platform/x86/surface3_power.c
new file mode 100644
index 000000000000..e0af01a60302
index 0000000000000..e0af01a603025
--- /dev/null
+++ b/drivers/platform/x86/surface3_power.c
@@ -0,0 +1,604 @@
@ -651,5 +651,5 @@ index 000000000000..e0af01a60302
+MODULE_DESCRIPTION("mshw0011 driver");
+MODULE_LICENSE("GPL v2");
--
2.26.0
2.26.2

View file

@ -1,4 +1,4 @@
From 4f7f5034f9f182c152396bf7c44b98da165d81d1 Mon Sep 17 00:00:00 2001
From 5bcc5a3070ccce000166f092f9a880f3dfd1d7c7 Mon Sep 17 00:00:00 2001
From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
Date: Fri, 6 Dec 2019 23:10:30 +0900
Subject: [PATCH 2/7] surface3-spi
@ -8,7 +8,7 @@ Subject: [PATCH 2/7] surface3-spi
1 file changed, 26 insertions(+)
diff --git a/drivers/input/touchscreen/surface3_spi.c b/drivers/input/touchscreen/surface3_spi.c
index ce4828b1415a..63b0b8ddf090 100644
index ce4828b1415a8..63b0b8ddf0903 100644
--- a/drivers/input/touchscreen/surface3_spi.c
+++ b/drivers/input/touchscreen/surface3_spi.c
@@ -25,6 +25,12 @@
@ -59,5 +59,5 @@ index ce4828b1415a..63b0b8ddf090 100644
}
--
2.26.0
2.26.2

View file

@ -1,4 +1,4 @@
From 536bf656e5e07386fe586c3d644695e7992fc38f Mon Sep 17 00:00:00 2001
From b9c29fec3cefcc7942e4985011062fb6d68f7c21 Mon Sep 17 00:00:00 2001
From: Chih-Wei Huang <cwhuang@linux.org.tw>
Date: Tue, 18 Sep 2018 11:01:37 +0800
Subject: [PATCH 3/7] surface3-oemb
@ -10,7 +10,7 @@ Subject: [PATCH 3/7] surface3-oemb
3 files changed, 24 insertions(+)
diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/x86/surface3-wmi.c
index 130b6f52a600..801083aa56d6 100644
index 130b6f52a6001..801083aa56d6d 100644
--- a/drivers/platform/x86/surface3-wmi.c
+++ b/drivers/platform/x86/surface3-wmi.c
@@ -37,6 +37,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
@ -28,7 +28,7 @@ index 130b6f52a600..801083aa56d6 100644
{ }
};
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index 92d67010aeed..cdfd75acd1a5 100644
index 92d67010aeede..cdfd75acd1a5e 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -3681,6 +3681,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
@ -48,7 +48,7 @@ index 92d67010aeed..cdfd75acd1a5 100644
/*
* Match for the GPDwin which unfortunately uses somewhat
diff --git a/sound/soc/intel/common/soc-acpi-intel-cht-match.c b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
index d0fb43c2b9f6..0e938713cb13 100644
index d0fb43c2b9f68..0e938713cb133 100644
--- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
@@ -27,6 +27,14 @@ static const struct dmi_system_id cht_table[] = {
@ -67,5 +67,5 @@ index d0fb43c2b9f6..0e938713cb13 100644
};
--
2.26.0
2.26.2

View file

@ -1,4 +1,4 @@
From 4d2963eea4ac2d2ca1415261e0fefd4c82e9c228 Mon Sep 17 00:00:00 2001
From 99dd1a4373cd53257a1556fd546592b4bace5eb8 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Fri, 6 Dec 2019 11:56:12 +0100
Subject: [PATCH 4/7] surface-sam
@ -37,7 +37,7 @@ Subject: [PATCH 4/7] surface-sam
create mode 100644 drivers/platform/x86/surface_sam/surface_sam_vhf.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index f90d3d4a86a0..5956ee7895d3 100644
index f90d3d4a86a07..5956ee7895d39 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1355,6 +1355,7 @@ config INTEL_UNCORE_FREQ_CONTROL
@ -49,7 +49,7 @@ index f90d3d4a86a0..5956ee7895d3 100644
config SYSTEM76_ACPI
tristate "System76 ACPI Driver"
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index 636833e357f0..7329298fd584 100644
index 636833e357f02..7329298fd5848 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -107,3 +107,4 @@ obj-$(CONFIG_PCENGINES_APU2) += pcengines-apuv2.o
@ -59,7 +59,7 @@ index 636833e357f0..7329298fd584 100644
+obj-$(CONFIG_SURFACE_SAM) += surface_sam/
diff --git a/drivers/platform/x86/surface_sam/Kconfig b/drivers/platform/x86/surface_sam/Kconfig
new file mode 100644
index 000000000000..c4556e58b9a5
index 0000000000000..c4556e58b9a58
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/Kconfig
@@ -0,0 +1,164 @@
@ -229,7 +229,7 @@ index 000000000000..c4556e58b9a5
+ If you are not sure, say M here.
diff --git a/drivers/platform/x86/surface_sam/Makefile b/drivers/platform/x86/surface_sam/Makefile
new file mode 100644
index 000000000000..188975ccde5c
index 0000000000000..188975ccde5ce
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/Makefile
@@ -0,0 +1,10 @@
@ -245,7 +245,7 @@ index 000000000000..188975ccde5c
+obj-$(CONFIG_SURFACE_SAM_SID_VHF) += surface_sam_sid_vhf.o
diff --git a/drivers/platform/x86/surface_sam/surface_sam_dtx.c b/drivers/platform/x86/surface_sam/surface_sam_dtx.c
new file mode 100644
index 000000000000..1e772fd5b0be
index 0000000000000..1e772fd5b0bea
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_dtx.c
@@ -0,0 +1,604 @@
@ -855,7 +855,7 @@ index 000000000000..1e772fd5b0be
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_hps.c b/drivers/platform/x86/surface_sam/surface_sam_hps.c
new file mode 100644
index 000000000000..4fba5ee75a66
index 0000000000000..4fba5ee75a66f
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_hps.c
@@ -0,0 +1,1110 @@
@ -1971,7 +1971,7 @@ index 000000000000..4fba5ee75a66
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_san.c b/drivers/platform/x86/surface_sam/surface_sam_san.c
new file mode 100644
index 000000000000..63478945e6b2
index 0000000000000..63478945e6b26
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_san.c
@@ -0,0 +1,883 @@
@ -2860,7 +2860,7 @@ index 000000000000..63478945e6b2
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_san.h b/drivers/platform/x86/surface_sam/surface_sam_san.h
new file mode 100644
index 000000000000..85b6d6569947
index 0000000000000..85b6d65699472
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_san.h
@@ -0,0 +1,30 @@
@ -2896,7 +2896,7 @@ index 000000000000..85b6d6569947
+#endif /* _SURFACE_SAM_SAN_H */
diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid.c b/drivers/platform/x86/surface_sam/surface_sam_sid.c
new file mode 100644
index 000000000000..fb49d0e00808
index 0000000000000..fb49d0e00808e
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_sid.c
@@ -0,0 +1,137 @@
@ -3039,7 +3039,7 @@ index 000000000000..fb49d0e00808
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c b/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c
new file mode 100644
index 000000000000..286411701d36
index 0000000000000..286411701d369
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_sid_gpelid.c
@@ -0,0 +1,224 @@
@ -3269,7 +3269,7 @@ index 000000000000..286411701d36
+MODULE_ALIAS("platform:surface_sam_sid_gpelid");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c b/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c
new file mode 100644
index 000000000000..f74e2b51604d
index 0000000000000..f74e2b51604d0
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_sid_perfmode.c
@@ -0,0 +1,216 @@
@ -3491,7 +3491,7 @@ index 000000000000..f74e2b51604d
+MODULE_ALIAS("platform:surface_sam_sid_perfmode");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_power.c b/drivers/platform/x86/surface_sam/surface_sam_sid_power.c
new file mode 100644
index 000000000000..eb925bdda883
index 0000000000000..eb925bdda8837
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_sid_power.c
@@ -0,0 +1,1264 @@
@ -4761,7 +4761,7 @@ index 000000000000..eb925bdda883
+MODULE_ALIAS("platform:surface_sam_sid_battery");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c b/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c
new file mode 100644
index 000000000000..9cf912a44171
index 0000000000000..9cf912a441717
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_sid_vhf.c
@@ -0,0 +1,428 @@
@ -5195,7 +5195,7 @@ index 000000000000..9cf912a44171
+MODULE_ALIAS("platform:surface_sam_sid_vhf");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_ssh.c b/drivers/platform/x86/surface_sam/surface_sam_ssh.c
new file mode 100644
index 000000000000..988be7c2d286
index 0000000000000..988be7c2d2863
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_ssh.c
@@ -0,0 +1,1744 @@
@ -6945,7 +6945,7 @@ index 000000000000..988be7c2d286
+MODULE_LICENSE("GPL v2");
diff --git a/drivers/platform/x86/surface_sam/surface_sam_ssh.h b/drivers/platform/x86/surface_sam/surface_sam_ssh.h
new file mode 100644
index 000000000000..435b5c7bac9a
index 0000000000000..435b5c7bac9a2
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_ssh.h
@@ -0,0 +1,98 @@
@ -7049,7 +7049,7 @@ index 000000000000..435b5c7bac9a
+#endif /* _SURFACE_SAM_SSH_H */
diff --git a/drivers/platform/x86/surface_sam/surface_sam_vhf.c b/drivers/platform/x86/surface_sam/surface_sam_vhf.c
new file mode 100644
index 000000000000..a00763805eca
index 0000000000000..a00763805eca3
--- /dev/null
+++ b/drivers/platform/x86/surface_sam/surface_sam_vhf.c
@@ -0,0 +1,270 @@
@ -7324,5 +7324,5 @@ index 000000000000..a00763805eca
+MODULE_DESCRIPTION("Virtual HID Framework Driver for 5th Generation Surface Devices");
+MODULE_LICENSE("GPL v2");
--
2.26.0
2.26.2

View file

@ -1,4 +1,4 @@
From deea0061b5a8081405da5c6f46b76187fac6b3eb Mon Sep 17 00:00:00 2001
From 711c552fa1293f20e060642055ffe73dcfc371cf Mon Sep 17 00:00:00 2001
From: qzed <qzed@users.noreply.github.com>
Date: Tue, 17 Sep 2019 17:21:43 +0200
Subject: [PATCH 5/7] surface-lte
@ -8,10 +8,10 @@ Subject: [PATCH 5/7] surface-lte
1 file changed, 1 insertion(+)
diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
index 613f91add03d..e1428222dd73 100644
index ce0401d3137f1..b0c190cd46c92 100644
--- a/drivers/usb/serial/qcserial.c
+++ b/drivers/usb/serial/qcserial.c
@@ -177,6 +177,7 @@ static const struct usb_device_id id_table[] = {
@@ -178,6 +178,7 @@ static const struct usb_device_id id_table[] = {
{DEVICE_SWI(0x413c, 0x81d0)}, /* Dell Wireless 5819 */
{DEVICE_SWI(0x413c, 0x81d1)}, /* Dell Wireless 5818 */
{DEVICE_SWI(0x413c, 0x81d2)}, /* Dell Wireless 5818 */
@ -20,5 +20,5 @@ index 613f91add03d..e1428222dd73 100644
/* Huawei devices */
{DEVICE_HWI(0x03f0, 0x581d)}, /* HP lt4112 LTE/HSPA+ Gobi 4G Modem (Huawei me906e) */
--
2.26.0
2.26.2

View file

@ -1,16 +1,16 @@
From c94bc5af045defd9f41bbbd5edc0ef24b38b0b84 Mon Sep 17 00:00:00 2001
From: sebanc <22224731+sebanc@users.noreply.github.com>
Date: Mon, 4 Nov 2019 09:30:57 +0100
From af949f1c932cf9b54161c8dda9e0a96372a5850e Mon Sep 17 00:00:00 2001
From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
Date: Thu, 20 Feb 2020 16:51:11 +0900
Subject: [PATCH 6/7] wifi
---
.../net/wireless/marvell/mwifiex/cfg80211.c | 26 +++++++
drivers/net/wireless/marvell/mwifiex/pcie.c | 74 ++++++++++---------
.../net/wireless/marvell/mwifiex/sta_cmd.c | 26 +------
3 files changed, 67 insertions(+), 59 deletions(-)
.../net/wireless/marvell/mwifiex/cfg80211.c | 26 ++++++
drivers/net/wireless/marvell/mwifiex/pcie.c | 84 +++++++++++--------
.../net/wireless/marvell/mwifiex/sta_cmd.c | 31 ++-----
3 files changed, 84 insertions(+), 57 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index d89684168500..108d7ac6a0dd 100644
index d896841685008..108d7ac6a0dd9 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -25,6 +25,11 @@
@ -54,10 +54,17 @@ index d89684168500..108d7ac6a0dd 100644
}
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
index fc1706d0647d..b3380ed75431 100644
index fc1706d0647d7..b51c5e3571426 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -149,35 +149,38 @@ static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
@@ -146,38 +146,45 @@ static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
*
* If already not suspended, this function allocates and sends a host
* sleep activate request to the firmware and turns off the traffic.
+ *
+ * XXX: ignoring all the above comment and just removes the card to
+ * fix S0ix and "AP scanning (sometimes) not working after suspend".
+ * Required code is extracted from mwifiex_pcie_remove().
*/
static int mwifiex_pcie_suspend(struct device *dev)
{
@ -87,9 +94,6 @@ index fc1706d0647d..b3380ed75431 100644
+ ret = mwifiex_read_reg(adapter, reg->fw_status, &fw_status);
+ else
+ fw_status = -1;
+
+ if (fw_status == FIRMWARE_READY_PCIE && !adapter->mfg_mode) {
+ mwifiex_deauthenticate_all(adapter);
- /* Enable the Host Sleep */
- if (!mwifiex_enable_hs(adapter)) {
@ -99,9 +103,12 @@ index fc1706d0647d..b3380ed75431 100644
- mwifiex_disable_wake(adapter);
- return -EFAULT;
- }
+ priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
+ if (fw_status == FIRMWARE_READY_PCIE && !adapter->mfg_mode) {
+ mwifiex_deauthenticate_all(adapter);
- flush_workqueue(adapter->workqueue);
+ priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_ANY);
+
+ mwifiex_disable_auto_ds(priv);
- /* Indicate device suspended */
@ -114,7 +121,13 @@ index fc1706d0647d..b3380ed75431 100644
return 0;
}
@@ -192,28 +195,29 @@ static int mwifiex_pcie_suspend(struct device *dev)
@@ -189,31 +196,35 @@ static int mwifiex_pcie_suspend(struct device *dev)
*
* If already not resumed, this function turns on the traffic and
* sends a host sleep cancel request to the firmware.
+ *
+ * XXX: ignoring all the above comment and probes the card that was
+ * removed on suspend. Required code is extracted from mwifiex_pcie_probe().
*/
static int mwifiex_pcie_resume(struct device *dev)
{
@ -160,36 +173,41 @@ index fc1706d0647d..b3380ed75431 100644
return 0;
}
@@ -267,6 +271,8 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
return -1;
}
@@ -229,8 +240,13 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
struct pcie_service_card *card;
+ struct pci_dev *parent_pdev = pci_upstream_bridge(pdev);
int ret;
+ pdev->bus->self->bridge_d3 = false;
+ /* disable bridge_d3 to fix driver crashing after suspend on gen4+
+ * Surface devices */
+ parent_pdev->bridge_d3 = false;
+
return 0;
}
pr_debug("info: vendor=0x%4.04X device=0x%4.04X rev=%d\n",
pdev->vendor, pdev->device, pdev->revision);
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
index 4ed10cf82f9a..977b57c0908f 100644
index 4ed10cf82f9a4..410bef3d6a6eb 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
@@ -2265,14 +2265,13 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no,
int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
{
@@ -2254,7 +2254,6 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no,
* - Function init (for first interface only)
* - Read MAC address (for first interface only)
* - Reconfigure Tx buffer size (for first interface only)
- * - Enable auto deep sleep (for first interface only)
* - Get Tx rate
* - Get Tx power
* - Set IBSS coalescing status
@@ -2267,7 +2266,6 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
struct mwifiex_adapter *adapter = priv->adapter;
- int ret;
int ret;
struct mwifiex_ds_11n_amsdu_aggr_ctrl amsdu_aggr_ctrl;
- struct mwifiex_ds_auto_ds auto_ds;
enum state_11d_t state_11d;
struct mwifiex_ds_11n_tx_cfg tx_cfg;
u8 sdio_sp_rx_aggr_enable;
u16 packet_aggr_enable;
int data;
+ int ret;
if (first_sta) {
if (priv->adapter->iface_type == MWIFIEX_PCIE) {
@@ -2339,17 +2338,6 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
@@ -2339,16 +2337,10 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
if (ret)
return -1;
@ -203,11 +221,14 @@ index 4ed10cf82f9a..977b57c0908f 100644
- if (ret)
- return -1;
- }
-
+ /* Not enabling ps_mode (IEEE power_save) by default. Enabling
+ * this causes connection instability, especially on 5GHz APs
+ * and eventually causes "firmware wakeup failed". Therefore,
+ * the relevant code was removed from here. */
if (drcs) {
adapter->drcs_enabled = true;
if (ISSUPP_DRCS_ENABLED(adapter->fw_cap_info))
@@ -2395,18 +2383,6 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
@@ -2395,17 +2387,10 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
if (ret)
return -1;
@ -222,10 +243,13 @@ index 4ed10cf82f9a..977b57c0908f 100644
- if (ret)
- return -1;
- }
-
+ /* Not enabling auto deep sleep (auto_ds) by default. Enabling
+ * this reportedly causes "suspend/resume fails when not connected
+ * to an Access Point." Therefore, the relevant code was removed
+ * from here. */
if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
/* Send cmd to FW to enable/disable 11D function */
state_11d = ENABLE_11D;
--
2.26.0
2.26.2

View file

@ -1,4 +1,4 @@
From 2458faf694596f3fc8bead2deee2651953f9192e Mon Sep 17 00:00:00 2001
From 1a6a1057a25d6c46fb7da9e59d1ee4a930a56121 Mon Sep 17 00:00:00 2001
From: Dorian Stoll <dorian.stoll@tmsp.io>
Date: Mon, 27 Jan 2020 21:16:20 +0100
Subject: [PATCH 7/7] ipts
@ -8,7 +8,7 @@ Subject: [PATCH 7/7] ipts
drivers/input/touchscreen/Makefile | 1 +
drivers/input/touchscreen/ipts/Kconfig | 16 ++
drivers/input/touchscreen/ipts/Makefile | 17 ++
drivers/input/touchscreen/ipts/context.h | 61 ++++
drivers/input/touchscreen/ipts/context.h | 60 ++++
drivers/input/touchscreen/ipts/control.c | 94 +++++++
drivers/input/touchscreen/ipts/control.h | 18 ++
drivers/input/touchscreen/ipts/data.c | 107 +++++++
@ -36,12 +36,12 @@ Subject: [PATCH 7/7] ipts
drivers/input/touchscreen/ipts/resources.h | 11 +
drivers/input/touchscreen/ipts/singletouch.c | 64 +++++
drivers/input/touchscreen/ipts/singletouch.h | 14 +
drivers/input/touchscreen/ipts/stylus.c | 191 +++++++++++++
drivers/input/touchscreen/ipts/stylus.c | 179 ++++++++++++
drivers/input/touchscreen/ipts/stylus.h | 14 +
drivers/misc/mei/hw-me-regs.h | 2 +
drivers/misc/mei/pci-me.c | 2 +
include/uapi/linux/input.h | 1 +
37 files changed, 1735 insertions(+)
37 files changed, 1722 insertions(+)
create mode 100644 drivers/input/touchscreen/ipts/Kconfig
create mode 100644 drivers/input/touchscreen/ipts/Makefile
create mode 100644 drivers/input/touchscreen/ipts/context.h
@ -76,7 +76,7 @@ Subject: [PATCH 7/7] ipts
create mode 100644 drivers/input/touchscreen/ipts/stylus.h
diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index c071f7c407b6..028ff55d779d 100644
index c071f7c407b61..028ff55d779d0 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -1310,4 +1310,6 @@ config TOUCHSCREEN_IQS5XX
@ -87,7 +87,7 @@ index c071f7c407b6..028ff55d779d 100644
+
endif
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
index 94c6162409b3..864f0e092ab6 100644
index 94c6162409b37..864f0e092ab67 100644
--- a/drivers/input/touchscreen/Makefile
+++ b/drivers/input/touchscreen/Makefile
@@ -45,6 +45,7 @@ obj-$(CONFIG_TOUCHSCREEN_EXC3000) += exc3000.o
@ -100,7 +100,7 @@ index 94c6162409b3..864f0e092ab6 100644
obj-$(CONFIG_TOUCHSCREEN_INEXIO) += inexio.o
diff --git a/drivers/input/touchscreen/ipts/Kconfig b/drivers/input/touchscreen/ipts/Kconfig
new file mode 100644
index 000000000000..d3c530dafa94
index 0000000000000..d3c530dafa948
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/Kconfig
@@ -0,0 +1,16 @@
@ -122,7 +122,7 @@ index 000000000000..d3c530dafa94
+ module will be called ipts.
diff --git a/drivers/input/touchscreen/ipts/Makefile b/drivers/input/touchscreen/ipts/Makefile
new file mode 100644
index 000000000000..0f7c904e7317
index 0000000000000..0f7c904e73171
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/Makefile
@@ -0,0 +1,17 @@
@ -145,10 +145,10 @@ index 000000000000..0f7c904e7317
+ipts-objs += stylus.o
diff --git a/drivers/input/touchscreen/ipts/context.h b/drivers/input/touchscreen/ipts/context.h
new file mode 100644
index 000000000000..13ea03b6482e
index 0000000000000..ab26552579a5c
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/context.h
@@ -0,0 +1,61 @@
@@ -0,0 +1,60 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#ifndef _IPTS_CONTEXT_H_
@ -206,13 +206,12 @@ index 000000000000..13ea03b6482e
+
+ struct input_dev *stylus;
+ struct input_dev *singletouch;
+ u16 stylus_tool;
+};
+
+#endif /* _IPTS_CONTEXT_H_ */
diff --git a/drivers/input/touchscreen/ipts/control.c b/drivers/input/touchscreen/ipts/control.c
new file mode 100644
index 000000000000..9179eca66558
index 0000000000000..9179eca665585
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/control.c
@@ -0,0 +1,94 @@
@ -312,7 +311,7 @@ index 000000000000..9179eca66558
+}
diff --git a/drivers/input/touchscreen/ipts/control.h b/drivers/input/touchscreen/ipts/control.h
new file mode 100644
index 000000000000..e57609c85d62
index 0000000000000..e57609c85d62a
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/control.h
@@ -0,0 +1,18 @@
@ -336,7 +335,7 @@ index 000000000000..e57609c85d62
+#endif /* _IPTS_CONTROL_H_ */
diff --git a/drivers/input/touchscreen/ipts/data.c b/drivers/input/touchscreen/ipts/data.c
new file mode 100644
index 000000000000..568bf04f7ea6
index 0000000000000..568bf04f7ea6e
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/data.c
@@ -0,0 +1,107 @@
@ -449,7 +448,7 @@ index 000000000000..568bf04f7ea6
+}
diff --git a/drivers/input/touchscreen/ipts/data.h b/drivers/input/touchscreen/ipts/data.h
new file mode 100644
index 000000000000..fa72c1be0945
index 0000000000000..fa72c1be09451
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/data.h
@@ -0,0 +1,12 @@
@ -467,7 +466,7 @@ index 000000000000..fa72c1be0945
+#endif /* _IPTS_DATA_H_ */
diff --git a/drivers/input/touchscreen/ipts/hid.c b/drivers/input/touchscreen/ipts/hid.c
new file mode 100644
index 000000000000..2642990b8c42
index 0000000000000..2642990b8c420
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/hid.c
@@ -0,0 +1,38 @@
@ -511,7 +510,7 @@ index 000000000000..2642990b8c42
+}
diff --git a/drivers/input/touchscreen/ipts/hid.h b/drivers/input/touchscreen/ipts/hid.h
new file mode 100644
index 000000000000..e6cf38fce454
index 0000000000000..e6cf38fce4541
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/hid.h
@@ -0,0 +1,13 @@
@ -530,7 +529,7 @@ index 000000000000..e6cf38fce454
+#endif /* _IPTS_HID_H_ */
diff --git a/drivers/input/touchscreen/ipts/init.c b/drivers/input/touchscreen/ipts/init.c
new file mode 100644
index 000000000000..fb70d55542af
index 0000000000000..fb70d55542af7
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/init.c
@@ -0,0 +1,93 @@
@ -629,7 +628,7 @@ index 000000000000..fb70d55542af
+MODULE_LICENSE("GPL");
diff --git a/drivers/input/touchscreen/ipts/math.c b/drivers/input/touchscreen/ipts/math.c
new file mode 100644
index 000000000000..df956e5447e0
index 0000000000000..df956e5447e03
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/math.c
@@ -0,0 +1,103 @@
@ -738,7 +737,7 @@ index 000000000000..df956e5447e0
+}
diff --git a/drivers/input/touchscreen/ipts/math.h b/drivers/input/touchscreen/ipts/math.h
new file mode 100644
index 000000000000..8e831074ab60
index 0000000000000..8e831074ab60b
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/math.h
@@ -0,0 +1,21 @@
@ -765,7 +764,7 @@ index 000000000000..8e831074ab60
+#endif /* _IPTS_MATH_H_ */
diff --git a/drivers/input/touchscreen/ipts/params.c b/drivers/input/touchscreen/ipts/params.c
new file mode 100644
index 000000000000..6aa3f5cf1d76
index 0000000000000..6aa3f5cf1d762
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/params.c
@@ -0,0 +1,27 @@
@ -798,7 +797,7 @@ index 000000000000..6aa3f5cf1d76
+);
diff --git a/drivers/input/touchscreen/ipts/params.h b/drivers/input/touchscreen/ipts/params.h
new file mode 100644
index 000000000000..1f992a3bc21b
index 0000000000000..1f992a3bc21b9
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/params.h
@@ -0,0 +1,15 @@
@ -819,7 +818,7 @@ index 000000000000..1f992a3bc21b
+#endif /* _IPTS_PARAMS_H_ */
diff --git a/drivers/input/touchscreen/ipts/payload.c b/drivers/input/touchscreen/ipts/payload.c
new file mode 100644
index 000000000000..3572ddc0f2fb
index 0000000000000..3572ddc0f2fb0
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/payload.c
@@ -0,0 +1,52 @@
@ -877,7 +876,7 @@ index 000000000000..3572ddc0f2fb
+}
diff --git a/drivers/input/touchscreen/ipts/payload.h b/drivers/input/touchscreen/ipts/payload.h
new file mode 100644
index 000000000000..6603714bb6fd
index 0000000000000..6603714bb6fd0
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/payload.h
@@ -0,0 +1,14 @@
@ -897,7 +896,7 @@ index 000000000000..6603714bb6fd
+#endif /* _IPTS_PAYLOAD_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/commands.h b/drivers/input/touchscreen/ipts/protocol/commands.h
new file mode 100644
index 000000000000..2533dfb13584
index 0000000000000..2533dfb13584a
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/commands.h
@@ -0,0 +1,61 @@
@ -964,7 +963,7 @@ index 000000000000..2533dfb13584
+#endif /* _IPTS_PROTOCOL_COMMANDS_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/data.h b/drivers/input/touchscreen/ipts/protocol/data.h
new file mode 100644
index 000000000000..148e0545b2e4
index 0000000000000..148e0545b2e4e
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/data.h
@@ -0,0 +1,30 @@
@ -1000,7 +999,7 @@ index 000000000000..148e0545b2e4
+#endif /* _IPTS_PROTOCOL_DATA_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/events.h b/drivers/input/touchscreen/ipts/protocol/events.h
new file mode 100644
index 000000000000..f8b771f90bd2
index 0000000000000..f8b771f90bd2b
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/events.h
@@ -0,0 +1,29 @@
@ -1035,7 +1034,7 @@ index 000000000000..f8b771f90bd2
+#endif /* _IPTS_PROTOCOL_EVENTS_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/feedback.h b/drivers/input/touchscreen/ipts/protocol/feedback.h
new file mode 100644
index 000000000000..8b3d8b689ee8
index 0000000000000..8b3d8b689ee83
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/feedback.h
@@ -0,0 +1,30 @@
@ -1071,7 +1070,7 @@ index 000000000000..8b3d8b689ee8
+#endif /* _IPTS_PROTOCOL_FEEDBACK_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/payload.h b/drivers/input/touchscreen/ipts/protocol/payload.h
new file mode 100644
index 000000000000..f46da4ea81f2
index 0000000000000..f46da4ea81f25
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/payload.h
@@ -0,0 +1,47 @@
@ -1124,7 +1123,7 @@ index 000000000000..f46da4ea81f2
+#endif /* _IPTS_PROTOCOL_PAYLOAD_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/responses.h b/drivers/input/touchscreen/ipts/protocol/responses.h
new file mode 100644
index 000000000000..27153d82a5d6
index 0000000000000..27153d82a5d67
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/responses.h
@@ -0,0 +1,62 @@
@ -1192,7 +1191,7 @@ index 000000000000..27153d82a5d6
+#endif /* _IPTS_PROTOCOL_RESPONSES_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/singletouch.h b/drivers/input/touchscreen/ipts/protocol/singletouch.h
new file mode 100644
index 000000000000..bf9912ee2af4
index 0000000000000..bf9912ee2af4c
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/singletouch.h
@@ -0,0 +1,17 @@
@ -1215,7 +1214,7 @@ index 000000000000..bf9912ee2af4
+#endif /* _IPTS_PROTOCOL_SINGLETOUCH_H_ */
diff --git a/drivers/input/touchscreen/ipts/protocol/stylus.h b/drivers/input/touchscreen/ipts/protocol/stylus.h
new file mode 100644
index 000000000000..950850b365df
index 0000000000000..950850b365dfb
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/protocol/stylus.h
@@ -0,0 +1,52 @@
@ -1273,7 +1272,7 @@ index 000000000000..950850b365df
+#endif /* _IPTS_PAYLOAD_STYLUS_H_ */
diff --git a/drivers/input/touchscreen/ipts/receiver.c b/drivers/input/touchscreen/ipts/receiver.c
new file mode 100644
index 000000000000..ab283994c3e5
index 0000000000000..ab283994c3e5f
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/receiver.c
@@ -0,0 +1,265 @@
@ -1544,7 +1543,7 @@ index 000000000000..ab283994c3e5
+}
diff --git a/drivers/input/touchscreen/ipts/receiver.h b/drivers/input/touchscreen/ipts/receiver.h
new file mode 100644
index 000000000000..4d413a0abd4c
index 0000000000000..4d413a0abd4c5
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/receiver.h
@@ -0,0 +1,8 @@
@ -1558,7 +1557,7 @@ index 000000000000..4d413a0abd4c
+#endif /* _IPTS_RECEIVER_H_ */
diff --git a/drivers/input/touchscreen/ipts/resources.c b/drivers/input/touchscreen/ipts/resources.c
new file mode 100644
index 000000000000..704db9fdd3fd
index 0000000000000..704db9fdd3fd4
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/resources.c
@@ -0,0 +1,131 @@
@ -1695,7 +1694,7 @@ index 000000000000..704db9fdd3fd
+}
diff --git a/drivers/input/touchscreen/ipts/resources.h b/drivers/input/touchscreen/ipts/resources.h
new file mode 100644
index 000000000000..cf9807b0dbe6
index 0000000000000..cf9807b0dbe62
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/resources.h
@@ -0,0 +1,11 @@
@ -1712,7 +1711,7 @@ index 000000000000..cf9807b0dbe6
+#endif /* _IPTS_RESOURCES_H_ */
diff --git a/drivers/input/touchscreen/ipts/singletouch.c b/drivers/input/touchscreen/ipts/singletouch.c
new file mode 100644
index 000000000000..ed70444f649c
index 0000000000000..ed70444f649c4
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/singletouch.c
@@ -0,0 +1,64 @@
@ -1782,7 +1781,7 @@ index 000000000000..ed70444f649c
+}
diff --git a/drivers/input/touchscreen/ipts/singletouch.h b/drivers/input/touchscreen/ipts/singletouch.h
new file mode 100644
index 000000000000..53207497a462
index 0000000000000..53207497a4628
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/singletouch.h
@@ -0,0 +1,14 @@
@ -1802,10 +1801,10 @@ index 000000000000..53207497a462
+#endif /* _IPTS_SINGLETOUCH_H_ */
diff --git a/drivers/input/touchscreen/ipts/stylus.c b/drivers/input/touchscreen/ipts/stylus.c
new file mode 100644
index 000000000000..dbb4fe0bf559
index 0000000000000..987fa756fec33
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/stylus.c
@@ -0,0 +1,191 @@
@@ -0,0 +1,179 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include <linux/input.h>
@ -1819,7 +1818,6 @@ index 000000000000..dbb4fe0bf559
+static void ipts_stylus_handle_stylus_data(struct ipts_context *ipts,
+ struct ipts_stylus_report_data *data)
+{
+ u16 tool;
+ u8 prox = data->mode & IPTS_STYLUS_REPORT_MODE_PROX;
+ u8 touch = data->mode & IPTS_STYLUS_REPORT_MODE_TOUCH;
+ u8 button = data->mode & IPTS_STYLUS_REPORT_MODE_BUTTON;
@ -1835,20 +1833,9 @@ index 000000000000..dbb4fe0bf559
+ data->azimuth, &tx, &ty);
+ }
+
+ if (prox && rubber)
+ tool = BTN_TOOL_RUBBER;
+ else
+ tool = BTN_TOOL_PEN;
+
+ // Fake proximity out to switch tools
+ if (ipts->stylus_tool != tool) {
+ input_report_key(ipts->stylus, ipts->stylus_tool, 0);
+ input_sync(ipts->stylus);
+ ipts->stylus_tool = tool;
+ }
+
+ input_report_key(ipts->stylus, BTN_TOUCH, touch);
+ input_report_key(ipts->stylus, ipts->stylus_tool, prox);
+ input_report_key(ipts->stylus, BTN_TOOL_PEN, prox && !rubber);
+ input_report_key(ipts->stylus, BTN_TOOL_RUBBER, prox && rubber);
+ input_report_key(ipts->stylus, BTN_STYLUS, button);
+
+ input_report_abs(ipts->stylus, ABS_X, data->x);
@ -1999,7 +1986,7 @@ index 000000000000..dbb4fe0bf559
+}
diff --git a/drivers/input/touchscreen/ipts/stylus.h b/drivers/input/touchscreen/ipts/stylus.h
new file mode 100644
index 000000000000..5b93add1eac2
index 0000000000000..5b93add1eac2d
--- /dev/null
+++ b/drivers/input/touchscreen/ipts/stylus.h
@@ -0,0 +1,14 @@
@ -2018,7 +2005,7 @@ index 000000000000..5b93add1eac2
+
+#endif /* _IPTS_STYLUS_H_ */
diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
index 5213eacc8b86..ad78fa7d72fd 100644
index 5213eacc8b861..ad78fa7d72fd4 100644
--- a/drivers/misc/mei/hw-me-regs.h
+++ b/drivers/misc/mei/hw-me-regs.h
@@ -59,6 +59,7 @@
@ -2038,7 +2025,7 @@ index 5213eacc8b86..ad78fa7d72fd 100644
#define MEI_DEV_ID_JSP_N 0x4DE0 /* Jasper Lake Point N */
diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
index 90ee4484a80a..01fee37dd4a4 100644
index 0dd2922aa06d8..8f00f6b1bafed 100644
--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -77,6 +77,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@ -2048,7 +2035,7 @@ index 90ee4484a80a..01fee37dd4a4 100644
+ {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_4, MEI_ME_PCH8_CFG)},
{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H, MEI_ME_PCH8_SPS_CFG)},
{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_H_2, MEI_ME_PCH8_SPS_CFG)},
{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_CFG)},
{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_SPS_CFG)},
@@ -103,6 +104,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
{MEI_PCI_DEVICE(MEI_DEV_ID_CMP_H_3, MEI_ME_PCH8_CFG)},
@ -2058,7 +2045,7 @@ index 90ee4484a80a..01fee37dd4a4 100644
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
index 9a61c28ed3ae..47fc20975245 100644
index 9a61c28ed3ae4..47fc20975245d 100644
--- a/include/uapi/linux/input.h
+++ b/include/uapi/linux/input.h
@@ -271,6 +271,7 @@ struct input_mask {
@ -2070,5 +2057,5 @@ index 9a61c28ed3ae..47fc20975245 100644
/*
* MT_TOOL types
--
2.26.0
2.26.2