Update v4.19 patches

Changes:
 - SAM:
   - Merge keyboard and HID driver into single module
   - Restructure DTX user-space interface
   - Add DTX support for Surface Book 3
   - Continued cleanup and misc. fixes

 - other:
   - Add patch to fix boot problems on the Surface Go series

Links:
- SAM: bfef4ac6f8
- kernel: d1e77c5126
This commit is contained in:
Maximilian Luz 2020-10-16 19:33:14 +02:00
parent e230e9aeac
commit b42ff37372
No known key found for this signature in database
GPG key ID: 70EC0937F6C26F02
14 changed files with 1558 additions and 1111 deletions

View file

@ -18,7 +18,6 @@ CONFIG_SURFACE_BATTERY=m
CONFIG_SURFACE_DTX=m
CONFIG_SURFACE_HID=m
CONFIG_SURFACE_HOTPLUG=m
CONFIG_SURFACE_KEYBOARD=m
CONFIG_SURFACE_PERFMODE=m
#

View file

@ -1,7 +1,7 @@
From a475caaa58e185535481400f70ef0bd0c012b13b Mon Sep 17 00:00:00 2001
From 68915ae484c9d8881ed344ee3c639b1d11d8f29c Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 28 Sep 2019 18:00:43 +0200
Subject: [PATCH 01/10] surface3-power
Subject: [PATCH 01/11] surface3-power
---
drivers/platform/x86/Kconfig | 7 +
@ -11,10 +11,10 @@ Subject: [PATCH 01/10] surface3-power
create mode 100644 drivers/platform/x86/surface3_power.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 1e2524de6a63..2ad19dc64a4a 100644
index a13bb4ddd0cf..0d20ffdb5a67 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1160,6 +1160,13 @@ config SURFACE_3_BUTTON
@@ -1161,6 +1161,13 @@ config SURFACE_3_BUTTON
---help---
This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet.

View file

@ -1,7 +1,7 @@
From 55e76b758aa3046850e630d6a4f7faaa16c5322c Mon Sep 17 00:00:00 2001
From 26e5e3d5780b48ef1f2a7115ef7a1ef1f4bf1e67 Mon Sep 17 00:00:00 2001
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: Sun, 5 Jul 2020 14:56:20 +0300
Subject: [PATCH 02/10] surface3-touchscreen-dma-fix
Subject: [PATCH 02/11] surface3-touchscreen-dma-fix
---
drivers/dma/dw/core.c | 12 ------------

View file

@ -1,7 +1,7 @@
From 985bdbb89a9a3cc3ff14db61c0cd2d966831d8dc Mon Sep 17 00:00:00 2001
From 118ae75f050cf4934c6b97d11f088492c2a628aa 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 03/10] surface3-oemb
Subject: [PATCH 03/11] surface3-oemb
---
drivers/platform/x86/surface3-wmi.c | 7 +++++++

View file

@ -1,7 +1,7 @@
From 8b92bff78f88634721917f3c203dbdaa131edf4d Mon Sep 17 00:00:00 2001
From b9404424ac5fb0521a36308323493abd8a1d0df7 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 27 Jul 2019 17:51:37 +0200
Subject: [PATCH 04/10] surface-buttons
Subject: [PATCH 04/11] surface-buttons
---
drivers/input/misc/Kconfig | 6 +-

View file

@ -1,7 +1,7 @@
From 9db7f91549a7e2c160ec01e3589f5f7c0d6416a0 Mon Sep 17 00:00:00 2001
From fb6b7e1a29e622cf19c57c17f397661ec9dae1da Mon Sep 17 00:00:00 2001
From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
Date: Sat, 28 Sep 2019 17:48:21 +0200
Subject: [PATCH 05/10] suspend
Subject: [PATCH 05/11] suspend
---
drivers/nvme/host/core.c | 36 ++++++++++++--
@ -12,7 +12,7 @@ Subject: [PATCH 05/10] suspend
5 files changed, 162 insertions(+), 6 deletions(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 9ea3d8e61100..1bc63549707a 100644
index b633ea40430e..4993f04a8a58 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1065,15 +1065,15 @@ static struct nvme_id_ns *nvme_identify_ns(struct nvme_ctrl *ctrl,
@ -59,7 +59,7 @@ index 9ea3d8e61100..1bc63549707a 100644
int nvme_set_queue_count(struct nvme_ctrl *ctrl, int *count)
{
u32 q_count = (*count - 1) | ((*count - 1) << 16);
@@ -3630,6 +3648,18 @@ static void nvme_free_ctrl(struct device *dev)
@@ -3632,6 +3650,18 @@ static void nvme_free_ctrl(struct device *dev)
nvme_put_subsystem(subsys);
}

View file

@ -1,7 +1,7 @@
From b9f55c5b557f1d88a2cc2570bec9f80aa439d5d1 Mon Sep 17 00:00:00 2001
From f4a9111f3d630f2ad9a1746caa0d5c0bc319cb13 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 28 Sep 2019 17:58:17 +0200
Subject: [PATCH 06/10] ipts
Subject: [PATCH 06/11] ipts
---
drivers/gpu/drm/i915/Makefile | 3 +

View file

@ -1,7 +1,7 @@
From 429bae577341648e2a157dc21ae9eef4edb93db8 Mon Sep 17 00:00:00 2001
From d172c88f96b9e9187ea7d00231b7c124040526ae 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 07/10] wifi
Subject: [PATCH 07/11] wifi
---
drivers/net/wireless/marvell/mwifiex/Makefile | 1 +

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
From ea7396cdf81dde8a89404ae962a1f3c0fa4ceb39 Mon Sep 17 00:00:00 2001
From 1a31644e36615c46e3a3f748a9ca7734d088fbf2 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 25 Jul 2020 17:19:53 +0200
Subject: [PATCH 09/10] surface-sam-over-hid
Subject: [PATCH 09/11] surface-sam-over-hid
---
drivers/i2c/i2c-core-acpi.c | 35 +++++++
@ -65,10 +65,10 @@ index eb0569359387..c2b5a2aca731 100644
dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
accessor_type, client->addr);
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 2ad19dc64a4a..57131ca5eb1e 100644
index 0d20ffdb5a67..1e1ec7e562e8 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1167,6 +1167,13 @@ config SURFACE_3_POWER_OPREGION
@@ -1168,6 +1168,13 @@ config SURFACE_3_POWER_OPREGION
Select this option to enable support for ACPI operation
region of the Surface 3 battery platform driver.

View file

@ -1,7 +1,7 @@
From 0461bfb515ea6b0e393d06c918090f4534fe793e Mon Sep 17 00:00:00 2001
From fef8fda488d7c56fad5cf2fe238441f165b12e1d Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sun, 16 Aug 2020 23:39:56 +0200
Subject: [PATCH 10/10] surface-gpe
Subject: [PATCH 10/11] surface-gpe
---
drivers/platform/x86/Kconfig | 9 +
@ -11,10 +11,10 @@ Subject: [PATCH 10/10] surface-gpe
create mode 100644 drivers/platform/x86/surface_gpe.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 57131ca5eb1e..e2c05d95f8b2 100644
index 1e1ec7e562e8..0b50f1e4c437 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1174,6 +1174,15 @@ config SURFACE_BOOK1_DGPU_SWITCH
@@ -1175,6 +1175,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.

View file

@ -0,0 +1,70 @@
From d6a1bcfe65b9c45fedcf19fdcc7d02245a8e09b4 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 11/11] 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 c2b5a2aca731..f9a24b56fec0 100644
--- a/drivers/i2c/i2c-core-acpi.c
+++ b/drivers/i2c/i2c-core-acpi.c
@@ -219,6 +219,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;
@@ -229,6 +230,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);
}
const struct acpi_device_id *
@@ -728,7 +738,6 @@ int i2c_acpi_install_space_handler(struct i2c_adapter *adapter)
return -ENOMEM;
}
- acpi_walk_dep_device_list(handle);
return 0;
}
--
2.28.0

View file

@ -0,0 +1 @@
../../../patches/4.19/0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch

View file

@ -30,6 +30,7 @@ source=(
0008-surface-sam.patch
0009-surface-sam-over-hid.patch
0010-surface-gpe.patch
0011-i2c-core-Restore-acpi_walk_dep_device_list-getting-c.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
@ -40,17 +41,18 @@ sha256sums=('f2f709ef086a4d8cb3c15a857daa44dfecf1b88d7d7c53c980fb180f6dccbace'
'SKIP'
'4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6'
'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2'
'e34d7cd57431f26d6da83f7b71f66116c81089fd3d5fc149d1020be54bb6ec72'
'cab05db8d6b4c7cec18acb4feefa9be871146a066afcab75901c5aeef0cbd723'
'c5064dbda8c1da8edd394f178e4bb0eff9fea624fd2d187649749a9dc8b7d194'
'e823d4ff94b6d715923772d8ee44c9949e6f79e9258977a89e709ed1fe62a1af'
'eed4b20c1c41c78314a3ada3323622d04809c93adab178e68eae04680aa3dc91'
'516929e55a36d94fb803b9ad8f5760bace3dec138fcdba62cfea82af0f57320b'
'6d2d74dcc481be1d9db80fbe2a09fc358fe8d03d28ecbc5fc3e92c4c4d99e35d'
'9627632dad1e8ec117118f9c6bfa2c9eda829bf96bf7a2a5e301ff8e7958973e'
'3d90363a51b87544425f41e002c02d094820c33b8e64eb610b12d09eefcea870'
'b8b63934eb256b4ace372a145595e98b548af8bf58f9eb1e1930bec98b1dc6cc'
'6017221395b343c90d575344f76eb27de8b0917d420c811e72e11e70340c8814')
'1c4963e4a911e74ed56f1fe0065c31201edca9a5e3f89eb30b7063f9981ebdd8'
'3892c3974f53e87e2efa059326359c3108bba1a411eecd5a2b614174384e8755'
'e73d7567a23d10babda2124a65337c8f57ff61fbb1c65a629afdfcc7a3d542e2'
'33c4264b920e2e4466de8369e3f2fcf3383c2e0eb68dacff82e107ae9f8d2354'
'20c72eea089af4ca105bec93bd7c7e91c2e8fbe5d24c88188e4ca2c77699a7ab'
'776ce945b51e59c543e19cc9e006b5047b22ec06255c2cce1163152aa3c65894'
'6185565a16689190140e6fe19df4d51fac4eeb1ac4a927855ec555f2274d7d0c'
'd205cf4756307c6c0909e26ca4b2ca45354a82df29255cd5809caf4b6aed41e1'
'8d7e5e77eac47a9750530813894067348985f2ece285d995b721c368d512fe14'
'058ac04d25069f51f0d8899e78c3f089155e0c2aeb47ee4c6befc9db1a8f959b'
'842832fd4356fc24f191674b96aab9ee3d140f00ca3d32fd453a159f596d822e'
'2739e3f2d0e70ce40c52b3d550aa4ac7073c2d6bbe5fd684fb981f02f32d373e')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase