Update v5.4 patches
Changes: - SAM: - Update DTX driver state after resume. - Add DTX Documentation, misc. fixes, and cleanup. Links: - SAM:af4bb01042
- kernel:857c9b5da9
This commit is contained in:
parent
3d9db379b4
commit
bc7af3a34d
|
@ -1,8 +1,10 @@
|
|||
From cea7d9a2a9272d208417165c2931bd18e7728b60 Mon Sep 17 00:00:00 2001
|
||||
From 34fd11b0f32b5c15987dabbb7fcf6590341bd62c 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/8] surface3-power
|
||||
Subject: [PATCH] platform/x86: Surface 3 battery platform operation region
|
||||
support
|
||||
|
||||
Patchset: surface3-power
|
||||
---
|
||||
drivers/platform/x86/Kconfig | 7 +
|
||||
drivers/platform/x86/Makefile | 1 +
|
||||
|
|
|
@ -1,8 +1,38 @@
|
|||
From a0bb18b7b173214237fd0d459979ec6204e350d8 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 2/8] surface3-oemb
|
||||
From afc394c0540ca91a9ee31c84c500a90d82cf34ac Mon Sep 17 00:00:00 2001
|
||||
From: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Date: Sun, 18 Oct 2020 16:42:44 +0900
|
||||
Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI
|
||||
table
|
||||
|
||||
On some Surface 3, the DMI table gets corrupted for unknown reasons
|
||||
and breaks existing DMI matching used for device-specific quirks.
|
||||
|
||||
This commit adds the (broken) DMI data into dmi_system_id tables used
|
||||
for quirks so that each driver can enable quirks even on the affected
|
||||
systems.
|
||||
|
||||
On affected systems, DMI data will look like this:
|
||||
$ grep . /sys/devices/virtual/dmi/id/{bios_vendor,board_name,board_vendor,\
|
||||
chassis_vendor,product_name,sys_vendor}
|
||||
/sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc.
|
||||
/sys/devices/virtual/dmi/id/board_name:OEMB
|
||||
/sys/devices/virtual/dmi/id/board_vendor:OEMB
|
||||
/sys/devices/virtual/dmi/id/chassis_vendor:OEMB
|
||||
/sys/devices/virtual/dmi/id/product_name:OEMB
|
||||
/sys/devices/virtual/dmi/id/sys_vendor:OEMB
|
||||
|
||||
Expected:
|
||||
$ grep . /sys/devices/virtual/dmi/id/{bios_vendor,board_name,board_vendor,\
|
||||
chassis_vendor,product_name,sys_vendor}
|
||||
/sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc.
|
||||
/sys/devices/virtual/dmi/id/board_name:Surface 3
|
||||
/sys/devices/virtual/dmi/id/board_vendor:Microsoft Corporation
|
||||
/sys/devices/virtual/dmi/id/chassis_vendor:Microsoft Corporation
|
||||
/sys/devices/virtual/dmi/id/product_name:Surface 3
|
||||
/sys/devices/virtual/dmi/id/sys_vendor:Microsoft Corporation
|
||||
|
||||
Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
|
||||
Patchset: surface3-oemb
|
||||
---
|
||||
drivers/platform/x86/surface3-wmi.c | 7 +++++++
|
||||
sound/soc/codecs/rt5645.c | 9 +++++++++
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,91 @@
|
|||
From 5f39b676103581dcfa4702ea3f921729c4c9a982 Mon Sep 17 00:00:00 2001
|
||||
From 4596b258b819644d212a9f8e4d20ebc4456c187d 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 4/8] ipts
|
||||
Subject: [PATCH] mei: Add IPTS device IDs
|
||||
|
||||
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||
Patchset: ipts
|
||||
---
|
||||
drivers/misc/mei/hw-me-regs.h | 2 ++
|
||||
drivers/misc/mei/pci-me.c | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
|
||||
index e56dc4754064..a55c61c89238 100644
|
||||
--- a/drivers/misc/mei/hw-me-regs.h
|
||||
+++ b/drivers/misc/mei/hw-me-regs.h
|
||||
@@ -59,6 +59,7 @@
|
||||
|
||||
#define MEI_DEV_ID_SPT 0x9D3A /* Sunrise Point */
|
||||
#define MEI_DEV_ID_SPT_2 0x9D3B /* Sunrise Point 2 */
|
||||
+#define MEI_DEV_ID_SPT_4 0x9D3E /* Sunrise Point 4 (iTouch) */
|
||||
#define MEI_DEV_ID_SPT_H 0xA13A /* Sunrise Point H */
|
||||
#define MEI_DEV_ID_SPT_H_2 0xA13B /* Sunrise Point H 2 */
|
||||
|
||||
@@ -90,6 +91,7 @@
|
||||
#define MEI_DEV_ID_CDF 0x18D3 /* Cedar Fork */
|
||||
|
||||
#define MEI_DEV_ID_ICP_LP 0x34E0 /* Ice Lake Point LP */
|
||||
+#define MEI_DEV_ID_ICP_LP_4 0x34E4 /* Ice Lake Point LP 4 (iTouch) */
|
||||
|
||||
#define MEI_DEV_ID_TGP_LP 0xA0E0 /* Tiger Lake Point LP */
|
||||
|
||||
diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
|
||||
index 75ab2ffbf235..78790904d77c 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[] = {
|
||||
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_SPT, MEI_ME_PCH8_CFG)},
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_2, MEI_ME_PCH8_CFG)},
|
||||
+ {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)},
|
||||
@@ -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)},
|
||||
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP, MEI_ME_PCH12_CFG)},
|
||||
+ {MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP_4, MEI_ME_PCH12_CFG)},
|
||||
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH12_CFG)},
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 87fea2c77d752224b06dc4beee817fa26f2b1356 Mon Sep 17 00:00:00 2001
|
||||
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||
Date: Fri, 20 Dec 2019 23:15:58 +0100
|
||||
Subject: [PATCH] uapi: Add MEI bus ID
|
||||
|
||||
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||
Patchset: ipts
|
||||
---
|
||||
include/uapi/linux/input.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
|
||||
index 9a61c28ed3ae..47fc20975245 100644
|
||||
--- a/include/uapi/linux/input.h
|
||||
+++ b/include/uapi/linux/input.h
|
||||
@@ -271,6 +271,7 @@ struct input_mask {
|
||||
#define BUS_RMI 0x1D
|
||||
#define BUS_CEC 0x1E
|
||||
#define BUS_INTEL_ISHTP 0x1F
|
||||
+#define BUS_MEI 0x44
|
||||
|
||||
/*
|
||||
* MT_TOOL types
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 8c1f8a2a71c1c382d8b1606ff57a9f72cba1e5a6 Mon Sep 17 00:00:00 2001
|
||||
From: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||
Date: Mon, 27 Jan 2020 21:22:42 +0100
|
||||
Subject: [PATCH] input: Add support for Intel Precise Touch & Stylus
|
||||
|
||||
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
|
||||
Patchset: ipts
|
||||
---
|
||||
drivers/input/touchscreen/Kconfig | 2 +
|
||||
drivers/input/touchscreen/Makefile | 1 +
|
||||
|
@ -38,10 +121,7 @@ Subject: [PATCH 4/8] ipts
|
|||
drivers/input/touchscreen/ipts/singletouch.h | 14 +
|
||||
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, 1722 insertions(+)
|
||||
34 files changed, 1717 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
|
||||
|
@ -2004,58 +2084,6 @@ index 000000000000..5b93add1eac2
|
|||
+void ipts_stylus_free(struct ipts_context *ipts);
|
||||
+
|
||||
+#endif /* _IPTS_STYLUS_H_ */
|
||||
diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
|
||||
index e56dc4754064..a55c61c89238 100644
|
||||
--- a/drivers/misc/mei/hw-me-regs.h
|
||||
+++ b/drivers/misc/mei/hw-me-regs.h
|
||||
@@ -59,6 +59,7 @@
|
||||
|
||||
#define MEI_DEV_ID_SPT 0x9D3A /* Sunrise Point */
|
||||
#define MEI_DEV_ID_SPT_2 0x9D3B /* Sunrise Point 2 */
|
||||
+#define MEI_DEV_ID_SPT_4 0x9D3E /* Sunrise Point 4 (iTouch) */
|
||||
#define MEI_DEV_ID_SPT_H 0xA13A /* Sunrise Point H */
|
||||
#define MEI_DEV_ID_SPT_H_2 0xA13B /* Sunrise Point H 2 */
|
||||
|
||||
@@ -90,6 +91,7 @@
|
||||
#define MEI_DEV_ID_CDF 0x18D3 /* Cedar Fork */
|
||||
|
||||
#define MEI_DEV_ID_ICP_LP 0x34E0 /* Ice Lake Point LP */
|
||||
+#define MEI_DEV_ID_ICP_LP_4 0x34E4 /* Ice Lake Point LP 4 (iTouch) */
|
||||
|
||||
#define MEI_DEV_ID_TGP_LP 0xA0E0 /* Tiger Lake Point LP */
|
||||
|
||||
diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
|
||||
index 75ab2ffbf235..78790904d77c 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[] = {
|
||||
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_SPT, MEI_ME_PCH8_CFG)},
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_SPT_2, MEI_ME_PCH8_CFG)},
|
||||
+ {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)},
|
||||
@@ -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)},
|
||||
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP, MEI_ME_PCH12_CFG)},
|
||||
+ {MEI_PCI_DEVICE(MEI_DEV_ID_ICP_LP_4, MEI_ME_PCH12_CFG)},
|
||||
|
||||
{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH12_CFG)},
|
||||
|
||||
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
|
||||
index 9a61c28ed3ae..47fc20975245 100644
|
||||
--- a/include/uapi/linux/input.h
|
||||
+++ b/include/uapi/linux/input.h
|
||||
@@ -271,6 +271,7 @@ struct input_mask {
|
||||
#define BUS_RMI 0x1D
|
||||
#define BUS_CEC 0x1E
|
||||
#define BUS_INTEL_ISHTP 0x1F
|
||||
+#define BUS_MEI 0x44
|
||||
|
||||
/*
|
||||
* MT_TOOL types
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
|
|
@ -1,8 +1,35 @@
|
|||
From f2720bcc54e287b7c7158e9b57553720ed9eab3b Mon Sep 17 00:00:00 2001
|
||||
From ea2243f30da79e2b97bab0140a9b28c049e5ca25 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sun, 16 Aug 2020 23:39:56 +0200
|
||||
Subject: [PATCH 7/8] surface-gpe
|
||||
Subject: [PATCH] platform/x86: Add Driver to set up lid GPEs on MS Surface
|
||||
device
|
||||
|
||||
Conventionally, wake-up events for a specific device, in our case the
|
||||
lid device, are managed via the ACPI _PRW field. While this does not
|
||||
seem strictly necessary based on ACPI spec, the kernel disables GPE
|
||||
wakeups to avoid non-wakeup interrupts preventing suspend by default and
|
||||
only enables GPEs associated via the _PRW field with a wake-up capable
|
||||
device. This behavior has been introduced in commit
|
||||
|
||||
f941d3e41da7f86bdb9dcc1977c2bcc6b89bfe47
|
||||
ACPI: EC / PM: Disable non-wakeup GPEs for suspend-to-idle
|
||||
|
||||
and is described in more detail in its commit message.
|
||||
|
||||
Unfortunately, on MS Surface devices, there is no _PRW field present on
|
||||
the lid device, thus no GPE is associated with it, and therefore the GPE
|
||||
responsible for sending the status-change notification to the lid gets
|
||||
disabled during suspend, making it impossible to wake the device via the
|
||||
lid.
|
||||
|
||||
This patch introduces a pseudo-device and respective driver which, based
|
||||
on some DMI matching, mark the corresponding GPE of the lid device for
|
||||
wake and enable it during suspend. The behavior of this driver models
|
||||
the behavior of the ACPI/PM core for normal wakeup GPEs, properly
|
||||
declared via the _PRW field.
|
||||
|
||||
Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Patchset: surface-gpe
|
||||
---
|
||||
drivers/platform/x86/Kconfig | 9 +
|
||||
drivers/platform/x86/Makefile | 1 +
|
||||
|
@ -11,12 +38,12 @@ Subject: [PATCH 7/8] surface-gpe
|
|||
create mode 100644 drivers/platform/x86/surface_gpe.c
|
||||
|
||||
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
||||
index 9fc01f255cbf..f5623ec8eda5 100644
|
||||
index 56b1cf96ff57..12cf0d723f21 100644
|
||||
--- a/drivers/platform/x86/Kconfig
|
||||
+++ b/drivers/platform/x86/Kconfig
|
||||
@@ -1224,6 +1224,15 @@ config SURFACE_BOOK1_DGPU_SWITCH
|
||||
This driver provides a sysfs switch to set the power-state of the
|
||||
discrete GPU found on the Microsoft Surface Book 1.
|
||||
@@ -1217,6 +1217,15 @@ config SURFACE_3_POWER_OPREGION
|
||||
Select this option to enable support for ACPI operation
|
||||
region of the Surface 3 battery platform driver.
|
||||
|
||||
+config SURFACE_GPE
|
||||
+ tristate "Surface GPE/Lid Driver"
|
||||
|
@ -31,13 +58,13 @@ index 9fc01f255cbf..f5623ec8eda5 100644
|
|||
tristate "Intel P-Unit IPC Driver"
|
||||
---help---
|
||||
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
|
||||
index b3e0a2c6924b..c6e934a73a8d 100644
|
||||
index 6dd955ad9bf1..5db303f43bda 100644
|
||||
--- a/drivers/platform/x86/Makefile
|
||||
+++ b/drivers/platform/x86/Makefile
|
||||
@@ -87,6 +87,7 @@ obj-$(CONFIG_SURFACE_PRO3_BUTTON) += surfacepro3_button.o
|
||||
@@ -86,6 +86,7 @@ obj-$(CONFIG_TOUCHSCREEN_DMI) += touchscreen_dmi.o
|
||||
obj-$(CONFIG_SURFACE_PRO3_BUTTON) += surfacepro3_button.o
|
||||
obj-$(CONFIG_SURFACE_3_BUTTON) += surface3_button.o
|
||||
obj-$(CONFIG_SURFACE_3_POWER_OPREGION) += surface3_power.o
|
||||
obj-$(CONFIG_SURFACE_BOOK1_DGPU_SWITCH) += sb1_dgpu_sw.o
|
||||
+obj-$(CONFIG_SURFACE_GPE) += surface_gpe.o
|
||||
obj-$(CONFIG_INTEL_PUNIT_IPC) += intel_punit_ipc.o
|
||||
obj-$(CONFIG_INTEL_BXTWC_PMIC_TMU) += intel_bxtwc_tmu.o
|
|
@ -1,15 +1,57 @@
|
|||
From a813aa2d1afcf8c4ca1eb6c200d6bb847da547ac Mon Sep 17 00:00:00 2001
|
||||
From 2f88ea832d68be4bd47a3702389371dcfab92dd5 Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sat, 25 Jul 2020 17:19:53 +0200
|
||||
Subject: [PATCH 6/8] surface-sam-over-hid
|
||||
Subject: [PATCH] i2c: acpi: Implement RawBytes read access
|
||||
|
||||
Microsoft Surface Pro 4 and Book 1 devices access the MSHW0030 I2C
|
||||
device via a generic serial bus operation region and RawBytes read
|
||||
access. On the Surface Book 1, this access is required to turn on (and
|
||||
off) the discrete GPU.
|
||||
|
||||
Multiple things are to note here:
|
||||
|
||||
a) The RawBytes access is device/driver dependent. The ACPI
|
||||
specification states:
|
||||
|
||||
> Raw accesses assume that the writer has knowledge of the bus that
|
||||
> the access is made over and the device that is being accessed. The
|
||||
> protocol may only ensure that the buffer is transmitted to the
|
||||
> appropriate driver, but the driver must be able to interpret the
|
||||
> buffer to communicate to a register.
|
||||
|
||||
Thus this implementation may likely not work on other devices
|
||||
accessing I2C via the RawBytes accessor type.
|
||||
|
||||
b) The MSHW0030 I2C device is an HID-over-I2C device which seems to
|
||||
serve multiple functions:
|
||||
|
||||
1. It is the main access point for the legacy-type Surface Aggregator
|
||||
Module (also referred to as SAM-over-HID, as opposed to the newer
|
||||
SAM-over-SSH/UART). It has currently not been determined on how
|
||||
support for the legacy SAM should be implemented. Likely via a
|
||||
custom HID driver.
|
||||
|
||||
2. It seems to serve as the HID device for the Integrated Sensor Hub.
|
||||
This might complicate matters with regards to implementing a
|
||||
SAM-over-HID driver required by legacy SAM.
|
||||
|
||||
In light of this, the simplest approach has been chosen for now.
|
||||
However, it may make more sense regarding breakage and compatibility to
|
||||
either provide functionality for replacing or enhancing the default
|
||||
operation region handler via some additional API functions, or even to
|
||||
completely blacklist MSHW0030 from the I2C core and provide a custom
|
||||
driver for it.
|
||||
|
||||
Replacing/enhancing the default operation region handler would, however,
|
||||
either require some sort of secondary driver and access point for it,
|
||||
from which the new API functions would be called and the new handler
|
||||
(part) would be installed, or hard-coding them via some sort of
|
||||
quirk-like interface into the I2C core.
|
||||
|
||||
Patchset: surface-sam-over-hid
|
||||
---
|
||||
drivers/i2c/i2c-core-acpi.c | 35 +++++++
|
||||
drivers/platform/x86/Kconfig | 7 ++
|
||||
drivers/platform/x86/Makefile | 1 +
|
||||
drivers/platform/x86/sb1_dgpu_sw.c | 162 +++++++++++++++++++++++++++++
|
||||
4 files changed, 205 insertions(+)
|
||||
create mode 100644 drivers/platform/x86/sb1_dgpu_sw.c
|
||||
drivers/i2c/i2c-core-acpi.c | 35 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 35 insertions(+)
|
||||
|
||||
diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
|
||||
index ce70b5288472..5df647c4d9a5 100644
|
||||
|
@ -64,13 +106,38 @@ index ce70b5288472..5df647c4d9a5 100644
|
|||
default:
|
||||
dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
|
||||
accessor_type, client->addr);
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 94a75b92c382a5b72e7114f8b4bb593a5734534e Mon Sep 17 00:00:00 2001
|
||||
From: Maximilian Luz <luzmaximilian@gmail.com>
|
||||
Date: Sun, 6 Sep 2020 04:01:19 +0200
|
||||
Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch
|
||||
|
||||
Add driver exposing the discrete GPU power-switch of the Microsoft
|
||||
Surface Book 1 to user-space.
|
||||
|
||||
On the Surface Book 1, the dGPU power is controlled via the Surface
|
||||
System Aggregator Module (SAM). The specific SAM-over-HID command for
|
||||
this is exposed via ACPI. This module provides a simple driver exposing
|
||||
the ACPI call via a sysfs parameter to user-space, so that users can
|
||||
easily power-on/-off the dGPU.
|
||||
|
||||
Patchset: surface-sam-over-hid
|
||||
---
|
||||
drivers/platform/x86/Kconfig | 7 ++
|
||||
drivers/platform/x86/Makefile | 1 +
|
||||
drivers/platform/x86/sb1_dgpu_sw.c | 162 +++++++++++++++++++++++++++++
|
||||
3 files changed, 170 insertions(+)
|
||||
create mode 100644 drivers/platform/x86/sb1_dgpu_sw.c
|
||||
|
||||
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
|
||||
index 56b1cf96ff57..9fc01f255cbf 100644
|
||||
index 12cf0d723f21..f06a0bf92890 100644
|
||||
--- a/drivers/platform/x86/Kconfig
|
||||
+++ b/drivers/platform/x86/Kconfig
|
||||
@@ -1217,6 +1217,13 @@ config SURFACE_3_POWER_OPREGION
|
||||
Select this option to enable support for ACPI operation
|
||||
region of the Surface 3 battery platform driver.
|
||||
@@ -1226,6 +1226,13 @@ config SURFACE_GPE
|
||||
accordingly. It is required on those devices to allow wake-ups from
|
||||
suspend by opening the lid.
|
||||
|
||||
+config SURFACE_BOOK1_DGPU_SWITCH
|
||||
+ tristate "Surface Book 1 dGPU Switch Driver"
|
||||
|
@ -83,13 +150,13 @@ index 56b1cf96ff57..9fc01f255cbf 100644
|
|||
tristate "Intel P-Unit IPC Driver"
|
||||
---help---
|
||||
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
|
||||
index 6dd955ad9bf1..b3e0a2c6924b 100644
|
||||
index 5db303f43bda..a1e70973257c 100644
|
||||
--- a/drivers/platform/x86/Makefile
|
||||
+++ b/drivers/platform/x86/Makefile
|
||||
@@ -86,6 +86,7 @@ obj-$(CONFIG_TOUCHSCREEN_DMI) += touchscreen_dmi.o
|
||||
obj-$(CONFIG_SURFACE_PRO3_BUTTON) += surfacepro3_button.o
|
||||
@@ -87,6 +87,7 @@ obj-$(CONFIG_SURFACE_PRO3_BUTTON) += surfacepro3_button.o
|
||||
obj-$(CONFIG_SURFACE_3_BUTTON) += surface3_button.o
|
||||
obj-$(CONFIG_SURFACE_3_POWER_OPREGION) += surface3_power.o
|
||||
obj-$(CONFIG_SURFACE_GPE) += surface_gpe.o
|
||||
+obj-$(CONFIG_SURFACE_BOOK1_DGPU_SWITCH) += sb1_dgpu_sw.o
|
||||
obj-$(CONFIG_INTEL_PUNIT_IPC) += intel_punit_ipc.o
|
||||
obj-$(CONFIG_INTEL_BXTWC_PMIC_TMU) += intel_bxtwc_tmu.o
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,8 @@
|
|||
From c7cd4ee28f95e353406fdb98ffcb168974ecf638 Mon Sep 17 00:00:00 2001
|
||||
From 7e11df4d0af5a21f93c8af446bcfd24432a2bfa6 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 8/8] i2c: core: Restore acpi_walk_dep_device_list() getting
|
||||
called after registering the ACPI i2c devs
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue