Update v5.9 patches
Changes: - SAM: - Remove explicit dGPU power-setting code and rely on (patched) PCI/PM core instead for automatic and proper power management. See [1] and [2] for details. - Minor fixes. - GPE: - Add copyright notice Links: - SAM:e6338f7b04
- GPE:245c264504
- kernel:062dca1b26
[1]4138dabe85
[2] https://github.com/linux-surface/surface-aggregator-module/wiki/Discrete-GPU
This commit is contained in:
parent
e420429a23
commit
92f1abfa6a
|
@ -1,7 +1,6 @@
|
||||||
#
|
#
|
||||||
# Surface Aggregator Module
|
# Surface Aggregator Module
|
||||||
#
|
#
|
||||||
CONFIG_GPIO_SYSFS=y # required for SURFACE_HOTPLUG
|
|
||||||
CONFIG_SURFACE_AGGREGATOR=m
|
CONFIG_SURFACE_AGGREGATOR=m
|
||||||
CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION=n
|
CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION=n
|
||||||
CONFIG_SURFACE_AGGREGATOR_BUS=y
|
CONFIG_SURFACE_AGGREGATOR_BUS=y
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 98d612006b94231362c3b5f16deb4a8e9a4ea4d0 Mon Sep 17 00:00:00 2001
|
From 35b94287ce1e118cecd1636c54e0cd931b66ddf0 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Sun, 18 Oct 2020 16:42:44 +0900
|
Date: Sun, 18 Oct 2020 16:42:44 +0900
|
||||||
Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
|
Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
|
||||||
|
@ -97,5 +97,5 @@ index 2752dc955733..ef36a316e2ed 100644
|
||||||
};
|
};
|
||||||
|
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 1040020890118b08d89401905c6c3c63f0127ccf Mon Sep 17 00:00:00 2001
|
From 344f5a695c99e176964c1d8e3250c8913a0863e6 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Thu, 24 Sep 2020 18:02:06 +0900
|
Date: Thu, 24 Sep 2020 18:02:06 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: skip cancel_work_sync() on reset failure path
|
Subject: [PATCH] mwifiex: pcie: skip cancel_work_sync() on reset failure path
|
||||||
|
@ -154,9 +154,9 @@ index fc59b522f670..048f4db6027a 100644
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 36c7b429bd54df9e55fbdc653139d4baf16c9953 Mon Sep 17 00:00:00 2001
|
From f856acbb4ffc08dadde43b012a0b7de8b57cd7c8 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Mon, 28 Sep 2020 17:46:49 +0900
|
Date: Mon, 28 Sep 2020 17:46:49 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: add DMI-based quirk impl for Surface devices
|
Subject: [PATCH] mwifiex: pcie: add DMI-based quirk impl for Surface devices
|
||||||
|
@ -362,9 +362,9 @@ index 000000000000..5326ae7e5671
|
||||||
+
|
+
|
||||||
+void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
+void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From e4cedba33eff73175314de2c93bd8c2ddf01e441 Mon Sep 17 00:00:00 2001
|
From 75190ee0ec83aadac31094c92658b3b2fb60d917 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Tue, 29 Sep 2020 17:25:22 +0900
|
Date: Tue, 29 Sep 2020 17:25:22 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+
|
Subject: [PATCH] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+
|
||||||
|
@ -563,9 +563,9 @@ index 5326ae7e5671..8b9dcb5070d8 100644
|
||||||
void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
||||||
+int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
|
+int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From acaf58ea2c66fb0e7141952b54ec2f0eb7d6934e Mon Sep 17 00:00:00 2001
|
From 7678156d317fb6fe7c8630d0351d7835e159fa0d Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Tue, 29 Sep 2020 17:32:22 +0900
|
Date: Tue, 29 Sep 2020 17:32:22 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: add reset_wsid quirk for Surface 3
|
Subject: [PATCH] mwifiex: pcie: add reset_wsid quirk for Surface 3
|
||||||
|
@ -742,9 +742,9 @@ index 8b9dcb5070d8..3ef7440418e3 100644
|
||||||
int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
|
int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
|
||||||
+int mwifiex_pcie_reset_wsid_quirk(struct pci_dev *pdev);
|
+int mwifiex_pcie_reset_wsid_quirk(struct pci_dev *pdev);
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 4a498b49a7f7141895741fcdd28032b790ff9d35 Mon Sep 17 00:00:00 2001
|
From 3ce2a07dcc042765314049b4f2ecc67aa0c20d48 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Wed, 30 Sep 2020 18:08:24 +0900
|
Date: Wed, 30 Sep 2020 18:08:24 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: (OEMB) add quirk for Surface 3 with broken DMI
|
Subject: [PATCH] mwifiex: pcie: (OEMB) add quirk for Surface 3 with broken DMI
|
||||||
|
@ -804,9 +804,9 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644
|
||||||
.ident = "Surface Pro 3",
|
.ident = "Surface Pro 3",
|
||||||
.matches = {
|
.matches = {
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 28158ef411e579c66eb33cafe1b7af5cd9dbcc89 Mon Sep 17 00:00:00 2001
|
From b7fd7192e0791964c8dd4f9082316c2fdc903324 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Thu, 24 Sep 2020 01:56:29 +0900
|
Date: Thu, 24 Sep 2020 01:56:29 +0900
|
||||||
Subject: [PATCH] mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
|
Subject: [PATCH] mwifiex: fix mwifiex_shutdown_sw() causing sw reset failure
|
||||||
|
@ -881,9 +881,9 @@ index 9ee5600351a7..5965999f1b9b 100644
|
||||||
adapter->is_up = false;
|
adapter->is_up = false;
|
||||||
|
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From f0a8812d81ab425af896717c2ef339d8f7d0557e Mon Sep 17 00:00:00 2001
|
From e810d3b79d5cb2da17313fb818c0d014160566ee Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Thu, 24 Sep 2020 01:56:34 +0900
|
Date: Thu, 24 Sep 2020 01:56:34 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: use shutdown_sw()/reinit_sw() on
|
Subject: [PATCH] mwifiex: pcie: use shutdown_sw()/reinit_sw() on
|
||||||
|
@ -1023,9 +1023,9 @@ index daae572ce94e..b46d56389c3b 100644
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 3754079592ed651678caaaf85ba6e974bcc5acf1 Mon Sep 17 00:00:00 2001
|
From 7b1b2992e5b48ca78e676babefe9ee8742087b2e Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Mon, 24 Aug 2020 17:11:35 +0900
|
Date: Mon, 24 Aug 2020 17:11:35 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: add enable_device_dump module parameter
|
Subject: [PATCH] mwifiex: pcie: add enable_device_dump module parameter
|
||||||
|
@ -1072,9 +1072,9 @@ index b46d56389c3b..1847a0274991 100644
|
||||||
if (!adapter->devdump_data) {
|
if (!adapter->devdump_data) {
|
||||||
mwifiex_dbg(adapter, ERROR,
|
mwifiex_dbg(adapter, ERROR,
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 56e9e15e3c774e324afed5f8e2a9465c36cb0378 Mon Sep 17 00:00:00 2001
|
From 2135e0c6f4b0a6f8a38e467855c9950bbb066e36 Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Sun, 4 Oct 2020 00:11:49 +0900
|
Date: Sun, 4 Oct 2020 00:11:49 +0900
|
||||||
Subject: [PATCH] mwifiex: pcie: disable bridge_d3 for Surface gen4+
|
Subject: [PATCH] mwifiex: pcie: disable bridge_d3 for Surface gen4+
|
||||||
|
@ -1227,9 +1227,9 @@ index 3ef7440418e3..a95ebac06e13 100644
|
||||||
void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
void mwifiex_initialize_quirks(struct pcie_service_card *card);
|
||||||
int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
|
int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 532503b8b7b9d60a57fc5d15cae07ddbf6c95627 Mon Sep 17 00:00:00 2001
|
From 130cdeb74b99af7dcaefe2a7ac8e41d68da82c2c Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Sun, 4 Oct 2020 00:25:48 +0900
|
Date: Sun, 4 Oct 2020 00:25:48 +0900
|
||||||
Subject: [PATCH] mwifiex: add allow_ps_mode module parameter
|
Subject: [PATCH] mwifiex: add allow_ps_mode module parameter
|
||||||
|
@ -1289,9 +1289,9 @@ index 96848fa0e417..786f7a197613 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 0972cfcfd39efd4e4ef96db7843adb1742b1da7d Mon Sep 17 00:00:00 2001
|
From 49bb5edf570046c429f7b4c55f1225e840948f1d Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Sun, 4 Oct 2020 00:38:48 +0900
|
Date: Sun, 4 Oct 2020 00:38:48 +0900
|
||||||
Subject: [PATCH] mwifiex: print message when changing ps_mode
|
Subject: [PATCH] mwifiex: print message when changing ps_mode
|
||||||
|
@ -1324,9 +1324,9 @@ index 786f7a197613..8f4b8bc5ff03 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From e22985a52f59503c3e7e85e71dae28f19d333beb Mon Sep 17 00:00:00 2001
|
From ada5d2a04c623004cbbb6a01d02476dd2ecff07a Mon Sep 17 00:00:00 2001
|
||||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||||
Date: Sun, 4 Oct 2020 00:59:37 +0900
|
Date: Sun, 4 Oct 2020 00:59:37 +0900
|
||||||
Subject: [PATCH] mwifiex: disable ps_mode explicitly by default instead
|
Subject: [PATCH] mwifiex: disable ps_mode explicitly by default instead
|
||||||
|
@ -1372,5 +1372,5 @@ index d3a968ef21ef..9b7b52fbc9c4 100644
|
||||||
|
|
||||||
if (drcs) {
|
if (drcs) {
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 4d69a6adcc5ddac18b1db15c3ac08448f5e9bd39 Mon Sep 17 00:00:00 2001
|
From 8b515545bffc2eae3dda29600ad2bc9c53216c9b Mon Sep 17 00:00:00 2001
|
||||||
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||||
Date: Fri, 25 Sep 2020 18:06:05 +0200
|
Date: Fri, 25 Sep 2020 18:06:05 +0200
|
||||||
Subject: [PATCH] mei: Remove client devices before shutting down
|
Subject: [PATCH] mei: Remove client devices before shutting down
|
||||||
|
@ -25,9 +25,9 @@ index bcee77768b91..21ed765003e1 100644
|
||||||
mei_cancel_work(dev);
|
mei_cancel_work(dev);
|
||||||
|
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 2a15f76fdbeeb3f3b1ac1a7ae4a9591d017c5f53 Mon Sep 17 00:00:00 2001
|
From 358acad2d442d408e4ffb8dad4919dd2d39a63ff Mon Sep 17 00:00:00 2001
|
||||||
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||||
Date: Thu, 30 Jul 2020 13:21:53 +0200
|
Date: Thu, 30 Jul 2020 13:21:53 +0200
|
||||||
Subject: [PATCH] misc: mei: Add missing IPTS device IDs
|
Subject: [PATCH] misc: mei: Add missing IPTS device IDs
|
||||||
|
@ -63,9 +63,9 @@ index 1de9ef7a272b..e12484840f88 100644
|
||||||
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
|
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
|
||||||
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_H, MEI_ME_PCH15_SPS_CFG)},
|
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_H, MEI_ME_PCH15_SPS_CFG)},
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From 0dfdb2c47e57d7e1511e4b6085424ba8f7e7565e Mon Sep 17 00:00:00 2001
|
From 5c682c2a3ff988c14e7905935bbca3a7241920d9 Mon Sep 17 00:00:00 2001
|
||||||
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||||
Date: Thu, 6 Aug 2020 11:20:41 +0200
|
Date: Thu, 6 Aug 2020 11:20:41 +0200
|
||||||
Subject: [PATCH] misc: Add support for Intel Precise Touch & Stylus
|
Subject: [PATCH] misc: Add support for Intel Precise Touch & Stylus
|
||||||
|
@ -1412,5 +1412,5 @@ index 000000000000..4c667bb6a7f2
|
||||||
+#endif /* _IPTS_UAPI_H_ */
|
+#endif /* _IPTS_UAPI_H_ */
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 1e39f55f2a8c3c816fac769e915a898d3f7ed87a Mon Sep 17 00:00:00 2001
|
From 4ebc750fed6330a867efa48c85918d2996f3d27a Mon Sep 17 00:00:00 2001
|
||||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||||
Date: Sun, 16 Aug 2020 23:39:56 +0200
|
Date: Sun, 16 Aug 2020 23:39:56 +0200
|
||||||
Subject: [PATCH] platform/x86: Add Driver to set up lid GPEs on MS Surface
|
Subject: [PATCH] platform/x86: Add Driver to set up lid GPEs on MS Surface
|
||||||
|
@ -33,8 +33,8 @@ Patchset: surface-gpe
|
||||||
---
|
---
|
||||||
drivers/platform/x86/Kconfig | 9 +
|
drivers/platform/x86/Kconfig | 9 +
|
||||||
drivers/platform/x86/Makefile | 1 +
|
drivers/platform/x86/Makefile | 1 +
|
||||||
drivers/platform/x86/surface_gpe.c | 307 +++++++++++++++++++++++++++++
|
drivers/platform/x86/surface_gpe.c | 309 +++++++++++++++++++++++++++++
|
||||||
3 files changed, 317 insertions(+)
|
3 files changed, 319 insertions(+)
|
||||||
create mode 100644 drivers/platform/x86/surface_gpe.c
|
create mode 100644 drivers/platform/x86/surface_gpe.c
|
||||||
|
|
||||||
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
||||||
|
@ -71,15 +71,17 @@ index 5f823f7eff45..c0d1c753eb3c 100644
|
||||||
obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o
|
obj-$(CONFIG_MSI_LAPTOP) += msi-laptop.o
|
||||||
diff --git a/drivers/platform/x86/surface_gpe.c b/drivers/platform/x86/surface_gpe.c
|
diff --git a/drivers/platform/x86/surface_gpe.c b/drivers/platform/x86/surface_gpe.c
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 000000000000..2857e3862ca4
|
index 000000000000..88b952ee9b8b
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/drivers/platform/x86/surface_gpe.c
|
+++ b/drivers/platform/x86/surface_gpe.c
|
||||||
@@ -0,0 +1,307 @@
|
@@ -0,0 +1,309 @@
|
||||||
+// SPDX-License-Identifier: GPL-2.0-or-later
|
+// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
+/*
|
+/*
|
||||||
+ * Surface GPE/Lid driver to enable wakeup from suspend via the lid by
|
+ * Surface GPE/Lid driver to enable wakeup from suspend via the lid by
|
||||||
+ * properly configuring the respective GPEs. Required for wakeup via lid on
|
+ * properly configuring the respective GPEs. Required for wakeup via lid on
|
||||||
+ * newer Intel-based Microsoft Surface devices.
|
+ * newer Intel-based Microsoft Surface devices.
|
||||||
|
+ *
|
||||||
|
+ * Copyright (C) 2020 Maximilian Luz <luzmaximilian@gmail.com>
|
||||||
+ */
|
+ */
|
||||||
+
|
+
|
||||||
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||||
|
@ -383,5 +385,5 @@ index 000000000000..2857e3862ca4
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
+MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurface*:*");
|
+MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurface*:*");
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
From 824f294b006f50b558734a7d0240e132dd613ca9 Mon Sep 17 00:00:00 2001
|
From e127b51248880adf78caa4b2e186aa1f87cbab34 Mon Sep 17 00:00:00 2001
|
||||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||||
Date: Sat, 25 Jul 2020 17:19:53 +0200
|
Date: Sat, 25 Jul 2020 17:19:53 +0200
|
||||||
Subject: [PATCH] i2c: acpi: Implement RawBytes read access
|
Subject: [PATCH] i2c: acpi: Implement RawBytes read access
|
||||||
|
@ -54,10 +54,10 @@ Patchset: surface-sam-over-hid
|
||||||
1 file changed, 35 insertions(+)
|
1 file changed, 35 insertions(+)
|
||||||
|
|
||||||
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
|
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
|
||||||
index e627d7b2790f..8820131da748 100644
|
index 37c510d9347a..aed579942436 100644
|
||||||
--- a/drivers/i2c/i2c-core-acpi.c
|
--- a/drivers/i2c/i2c-core-acpi.c
|
||||||
+++ b/drivers/i2c/i2c-core-acpi.c
|
+++ b/drivers/i2c/i2c-core-acpi.c
|
||||||
@@ -564,6 +564,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
|
@@ -574,6 +574,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
|
||||||
return (ret == 1) ? 0 : -EIO;
|
return (ret == 1) ? 0 : -EIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ index e627d7b2790f..8820131da748 100644
|
||||||
static acpi_status
|
static acpi_status
|
||||||
i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
||||||
u32 bits, u64 *value64,
|
u32 bits, u64 *value64,
|
||||||
@@ -665,6 +687,19 @@ i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
@@ -675,6 +697,19 @@ i2c_acpi_space_handler(u32 function, acpi_physical_address command,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -107,9 +107,9 @@ index e627d7b2790f..8820131da748 100644
|
||||||
dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
|
dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
|
||||||
accessor_type, client->addr);
|
accessor_type, client->addr);
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
From e47b3deefb0fb2c24b65d7b9271c15c0abf4491e Mon Sep 17 00:00:00 2001
|
From 3d13ed4cc56176579d0f24f6d70dacf972284456 Mon Sep 17 00:00:00 2001
|
||||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||||
Date: Sun, 6 Sep 2020 04:01:19 +0200
|
Date: Sun, 6 Sep 2020 04:01:19 +0200
|
||||||
Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch
|
Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch
|
||||||
|
@ -330,5 +330,5 @@ index 000000000000..8c66ed5110fd
|
||||||
+MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1");
|
+MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1");
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
--
|
--
|
||||||
2.28.0
|
2.29.2
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,70 +0,0 @@
|
||||||
From 93bb0042f8df962612190d85ffa178477833af51 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
Date: Wed, 14 Oct 2020 16:41:58 +0200
|
|
||||||
Subject: [PATCH] i2c: core: Restore acpi_walk_dep_device_list() getting called
|
|
||||||
after registering the ACPI i2c devs
|
|
||||||
|
|
||||||
Commit 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler()
|
|
||||||
before i2c_acpi_register_devices()")'s intention was to only move the
|
|
||||||
acpi_install_address_space_handler() call to the point before where
|
|
||||||
the ACPI declared i2c-children of the adapter where instantiated by
|
|
||||||
i2c_acpi_register_devices().
|
|
||||||
|
|
||||||
But i2c_acpi_install_space_handler() had a call to
|
|
||||||
acpi_walk_dep_device_list() hidden (that is I missed it) at the end
|
|
||||||
of it, so as an unwanted side-effect now acpi_walk_dep_device_list()
|
|
||||||
was also being called before i2c_acpi_register_devices().
|
|
||||||
|
|
||||||
Move the acpi_walk_dep_device_list() call to the end of
|
|
||||||
i2c_acpi_register_devices(), so that it is once again called *after*
|
|
||||||
the i2c_client-s hanging of the adapter have been created.
|
|
||||||
|
|
||||||
This fixes the Microsoft Surface Go 2 hanging at boot.
|
|
||||||
|
|
||||||
Fixes: 21653a4181ff ("i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()")
|
|
||||||
Suggested-by: Maximilian Luz <luzmaximilian@gmail.com>
|
|
||||||
Reported-and-tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
|
|
||||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
||||||
---
|
|
||||||
drivers/i2c/i2c-core-acpi.c | 11 ++++++++++-
|
|
||||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
|
|
||||||
index 8820131da748..aed579942436 100644
|
|
||||||
--- a/drivers/i2c/i2c-core-acpi.c
|
|
||||||
+++ b/drivers/i2c/i2c-core-acpi.c
|
|
||||||
@@ -264,6 +264,7 @@ static acpi_status i2c_acpi_add_device(acpi_handle handle, u32 level,
|
|
||||||
void i2c_acpi_register_devices(struct i2c_adapter *adap)
|
|
||||||
{
|
|
||||||
acpi_status status;
|
|
||||||
+ acpi_handle handle;
|
|
||||||
|
|
||||||
if (!has_acpi_companion(&adap->dev))
|
|
||||||
return;
|
|
||||||
@@ -274,6 +275,15 @@ void i2c_acpi_register_devices(struct i2c_adapter *adap)
|
|
||||||
adap, NULL);
|
|
||||||
if (ACPI_FAILURE(status))
|
|
||||||
dev_warn(&adap->dev, "failed to enumerate I2C slaves\n");
|
|
||||||
+
|
|
||||||
+ if (!adap->dev.parent)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ handle = ACPI_HANDLE(adap->dev.parent);
|
|
||||||
+ if (!handle)
|
|
||||||
+ return;
|
|
||||||
+
|
|
||||||
+ acpi_walk_dep_device_list(handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct acpi_device_id i2c_acpi_force_400khz_device_ids[] = {
|
|
||||||
@@ -754,7 +764,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
- acpi_walk_dep_device_list(handle);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.28.0
|
|
||||||
|
|
|
@ -39,14 +39,14 @@ validpgpkeys=(
|
||||||
)
|
)
|
||||||
sha256sums=('d2c06044e80b49a7d029d52d297c86efb1726aa0c66d16dd21c6d1df27d7c314'
|
sha256sums=('d2c06044e80b49a7d029d52d297c86efb1726aa0c66d16dd21c6d1df27d7c314'
|
||||||
'36439a90c9d2f860298d90e141f3bf9d897dd8ece9e21cd46508f4ed7b2151bb'
|
'36439a90c9d2f860298d90e141f3bf9d897dd8ece9e21cd46508f4ed7b2151bb'
|
||||||
'7f52b09f0bf62d9b2ba162a424ce99caa50cb671f2b78fca1c1dc81e33e9b57f'
|
'cad2f23b058938c27ccdeb1944dcc492cf8696651b1ca9c74a86eb73a039f8c1'
|
||||||
'8cd2b019aac6d3807a5cdcbbbe0aad81e63193ff3e8dffd7a79d4a1421b858f6'
|
'8cd2b019aac6d3807a5cdcbbbe0aad81e63193ff3e8dffd7a79d4a1421b858f6'
|
||||||
'09251faa27823c6e6d7e89f6556d7ed2d7649533ce30e57dd9afdab4713cfc1e'
|
'ab3886ff7266cf518d409a03261e496ffa992e1e9e5f74160f38907d392810a1'
|
||||||
'e83f95d8336985cfff0ba1f45928f4c6e75902db4cafdebfc2c50eb0d4f940d1'
|
'affe80a0d097740a0523cbad5dd7657df5772a57e93af3dd318138866987198f'
|
||||||
'60e719ec00b39aea1d0f1527a59c225126e633dd7b80da6264451585d44dfdce'
|
'c5143277de5086f20f4bd605d5e82f7abdfc725871c103f461b701588b7558e1'
|
||||||
'd0ea6d34040aeeadabc306b50784a701d97ffbc26786af8948dab2658552c643'
|
'1bd872785623a547ee0e7f0d4c6e68c2067ebde73fcc96bc2bfabfaf4fda5515'
|
||||||
'2513728862cc3f3bc8c32b5de8de13f171b5bed9cbc9e7ce5bdbd88f3c7b021b'
|
'8d4fd88b450e9e7bc6050d9a69e42ef255a664f8b70bdb10eb8fff49bd7d6484'
|
||||||
'86b09d0c65a7d1bd04550d39dbced9745a7f5be90d5f92c51c4fb2ba1a6d4d8e')
|
'184693d8003fc85213c5f662a2bbd729402e2ddba6035f67fa360179414fea36')
|
||||||
|
|
||||||
|
|
||||||
export KBUILD_BUILD_HOST=archlinux
|
export KBUILD_BUILD_HOST=archlinux
|
||||||
|
|
Loading…
Reference in a new issue