diff --git a/patches/4.19/0001-surface3-power.patch b/patches/4.19/0001-surface3-power.patch index 83d69a454..e5cd900e3 100644 --- a/patches/4.19/0001-surface3-power.patch +++ b/patches/4.19/0001-surface3-power.patch @@ -1,4 +1,4 @@ -From 3d7a77fbd3349349026a139375bb35470e51da00 Mon Sep 17 00:00:00 2001 +From c75868cdc56e125910ef0e0b3ac5afbd35908673 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 28 Sep 2019 18:00:43 +0200 Subject: [PATCH] platform/x86: Surface 3 battery platform operation region diff --git a/patches/4.19/0002-surface3-touchscreen-dma-fix.patch b/patches/4.19/0002-surface3-touchscreen-dma-fix.patch index d7ff48a58..009d4559a 100644 --- a/patches/4.19/0002-surface3-touchscreen-dma-fix.patch +++ b/patches/4.19/0002-surface3-touchscreen-dma-fix.patch @@ -1,4 +1,4 @@ -From ffe11e024a21c0dd64f0caf08319cec04269a491 Mon Sep 17 00:00:00 2001 +From 0ab0f56223c24270fbf5f59543c8a6f1179bc76c Mon Sep 17 00:00:00 2001 From: Andy Shevchenko Date: Sun, 5 Jul 2020 14:56:20 +0300 Subject: [PATCH] dmaengine: dw: Initialize channel before each transfer diff --git a/patches/4.19/0003-surface3-oemb.patch b/patches/4.19/0003-surface3-oemb.patch index 54938febe..9d9dba038 100644 --- a/patches/4.19/0003-surface3-oemb.patch +++ b/patches/4.19/0003-surface3-oemb.patch @@ -1,4 +1,4 @@ -From 9ca09b99db77fccfdd392c08f9f1462d8896c34f Mon Sep 17 00:00:00 2001 +From f559a7cae8fe4930a472222007eada252caa28b3 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Sun, 18 Oct 2020 16:42:44 +0900 Subject: [PATCH] (surface3-oemb) add DMI matches for Surface 3 with broken DMI diff --git a/patches/4.19/0004-surface-buttons.patch b/patches/4.19/0004-surface-buttons.patch index b0b7be048..8716622e9 100644 --- a/patches/4.19/0004-surface-buttons.patch +++ b/patches/4.19/0004-surface-buttons.patch @@ -1,4 +1,4 @@ -From 011f33fea3a1b60fdb13c334ca8c0baf5505c1ae Mon Sep 17 00:00:00 2001 +From 9a1dedb31c10069178b39a7192393bff8d0bc489 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 27 Jul 2019 17:51:37 +0200 Subject: [PATCH] platform/x86: surfacepro3_button: Fix device check @@ -92,7 +92,7 @@ index 1b491690ce07..96627627060e 100644 -- 2.30.1 -From aa63337834f47d68cc3afc1228b73bc0d58ef47b Mon Sep 17 00:00:00 2001 +From 890cbe6dfac9756e1fd6bd4ac2a6ac604b561658 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 27 Jul 2019 17:52:01 +0200 Subject: [PATCH] Input: soc_button_array - Add support for newer surface @@ -297,7 +297,7 @@ index 55cd6e0b409c..8f21c062c85d 100644 -- 2.30.1 -From 1de03bf787e9f9c5366302935696fa9761e46597 Mon Sep 17 00:00:00 2001 +From bf59576cbb035c5c92de1dfdaf6238ce9497376b Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sat, 5 Oct 2019 14:11:58 +0200 Subject: [PATCH] Input: soc_button_array - partial revert of support for newer @@ -386,7 +386,7 @@ index 8f21c062c85d..5983733d78dd 100644 -- 2.30.1 -From aacb92ea862804c86f994811c2de36dc3ae0babf Mon Sep 17 00:00:00 2001 +From 08b9f6f75ff14700e5740240d3ac9c449fdddfe4 Mon Sep 17 00:00:00 2001 From: "Tsuchiya Yuto (kitakar5525)" Date: Mon, 11 May 2020 17:40:21 +0900 Subject: [PATCH] Input: soc_button_array - fix Wdiscarded-qualifiers for diff --git a/patches/4.19/0005-suspend.patch b/patches/4.19/0005-suspend.patch index 037775b44..ff11693eb 100644 --- a/patches/4.19/0005-suspend.patch +++ b/patches/4.19/0005-suspend.patch @@ -1,4 +1,4 @@ -From 4a62fe80d0210cf2b7753173670119fcab6994e6 Mon Sep 17 00:00:00 2001 +From f7e0e33210cefc5312abdc8f188b62f2c13eecf3 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] nvme: Backport changes for suspend diff --git a/patches/4.19/0006-ipts.patch b/patches/4.19/0006-ipts.patch index 04f3e173a..ed169bcf8 100644 --- a/patches/4.19/0006-ipts.patch +++ b/patches/4.19/0006-ipts.patch @@ -1,4 +1,4 @@ -From 7c62ae50bf7a3f8389cc3949b243d9214a8bb675 Mon Sep 17 00:00:00 2001 +From 3c52d9ae9bdd64dd5ecaadfe6f2d1d7c4517aa02 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 28 Sep 2019 17:58:17 +0200 Subject: [PATCH] Add support for Intel IPTS touch devices diff --git a/patches/4.19/0007-wifi.patch b/patches/4.19/0007-wifi.patch index 1a2e0249e..9d466564f 100644 --- a/patches/4.19/0007-wifi.patch +++ b/patches/4.19/0007-wifi.patch @@ -1,4 +1,4 @@ -From 50ac84f117b2c010e2bc8dad75cc7846767ed0e5 Mon Sep 17 00:00:00 2001 +From 3c20c796e0456daa33f9c68accaf44f7a6701b85 Mon Sep 17 00:00:00 2001 From: Chuhong Yuan Date: Wed, 24 Jul 2019 19:27:45 +0800 Subject: [PATCH] mwifiex: pcie: Use dev_get_drvdata @@ -49,7 +49,7 @@ index 991b9cc18000..2aa0436d3548 100644 -- 2.30.1 -From 05c1903c69f4fa30129cc36074596d0435b698d7 Mon Sep 17 00:00:00 2001 +From 56f05fbfbc4152873d8b6e4d3536823102b0257b Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Thu, 24 Sep 2020 18:02:06 +0900 Subject: [PATCH] mwifiex: pcie: skip cancel_work_sync() on reset failure path @@ -206,7 +206,7 @@ index f7ce9b6db6b4..72d0c01ff359 100644 -- 2.30.1 -From baf1a7444af8a4f86065206a02b8660d6632ae95 Mon Sep 17 00:00:00 2001 +From 191f988190b6773a8c3dbe671b5234ab4fb92aa3 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Mon, 28 Sep 2020 17:46:49 +0900 Subject: [PATCH] mwifiex: pcie: add DMI-based quirk impl for Surface devices @@ -414,7 +414,7 @@ index 000000000000..5326ae7e5671 -- 2.30.1 -From 7ebe043beb09663c275d965b3235c0c5c70911b0 Mon Sep 17 00:00:00 2001 +From ec580d28dbb510001db6b51d08e240a243630b06 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Tue, 29 Sep 2020 17:25:22 +0900 Subject: [PATCH] mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ @@ -615,7 +615,7 @@ index 5326ae7e5671..8b9dcb5070d8 100644 -- 2.30.1 -From 5a9728867bd36edb546e5bf06e0977e68beb1c21 Mon Sep 17 00:00:00 2001 +From 32cb1e46bc43ac38c05e68ea9595e231caa16095 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Tue, 29 Sep 2020 17:32:22 +0900 Subject: [PATCH] mwifiex: pcie: add reset_wsid quirk for Surface 3 @@ -794,7 +794,7 @@ index 8b9dcb5070d8..3ef7440418e3 100644 -- 2.30.1 -From f1d61def7f51c70790cf8ae0b22c831281a5ca4e Mon Sep 17 00:00:00 2001 +From 37b304e5d9a2b8d2ce61788648a41c88eb652ec1 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Wed, 30 Sep 2020 18:08:24 +0900 Subject: [PATCH] mwifiex: pcie: (OEMB) add quirk for Surface 3 with broken DMI @@ -856,7 +856,7 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644 -- 2.30.1 -From 3ae3412828aab65681d319c8ff10a74fd1269973 Mon Sep 17 00:00:00 2001 +From 8cd49ec455fdaecfe0037a1f38ab4d5141a8dac1 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Thu, 24 Sep 2020 01:56:34 +0900 Subject: [PATCH] mwifiex: pcie: use shutdown_sw()/reinit_sw() on @@ -998,7 +998,7 @@ index 290427c98630..d80eb18fb0d1 100644 -- 2.30.1 -From 8564bcba6150ba0b488cf165277e639985c74a92 Mon Sep 17 00:00:00 2001 +From 6479fa57e51bb8a1d2e6b0d1d3383160ca98755c Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Mon, 24 Aug 2020 17:11:35 +0900 Subject: [PATCH] mwifiex: pcie: add enable_device_dump module parameter @@ -1047,7 +1047,7 @@ index d80eb18fb0d1..ea766584d3b7 100644 -- 2.30.1 -From 7c1dba1f2130f1c63bc410bde4e0dae69967f526 Mon Sep 17 00:00:00 2001 +From 1bc88e00766005dd6d5d5aa5a0050544ae20bc60 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Sun, 4 Oct 2020 00:11:49 +0900 Subject: [PATCH] mwifiex: pcie: disable bridge_d3 for Surface gen4+ @@ -1202,7 +1202,7 @@ index 3ef7440418e3..a95ebac06e13 100644 -- 2.30.1 -From 8d8c5d10896a18adee83c86b523c1f178a6bc3c1 Mon Sep 17 00:00:00 2001 +From 8955118667c29df85e9e8c5b30a334d98d50a20c Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Sun, 4 Oct 2020 00:25:48 +0900 Subject: [PATCH] mwifiex: add allow_ps_mode module parameter @@ -1264,7 +1264,7 @@ index 650191db25cb..dd1f08a2325f 100644 -- 2.30.1 -From 9e5c18edcbad3af2f24a963b3be35efdd2fbb13a Mon Sep 17 00:00:00 2001 +From 0adb74069b15a386347d5089290c0a0b351878e1 Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Sun, 4 Oct 2020 00:38:48 +0900 Subject: [PATCH] mwifiex: print message when changing ps_mode @@ -1299,7 +1299,7 @@ index dd1f08a2325f..ee88da92b97c 100644 -- 2.30.1 -From f67574e2c26cfddc57be7a6ca201571c3a559c85 Mon Sep 17 00:00:00 2001 +From df746ef44e22458ffdf6d7d45b729cce747dc3ae Mon Sep 17 00:00:00 2001 From: Tsuchiya Yuto Date: Sun, 4 Oct 2020 00:59:37 +0900 Subject: [PATCH] mwifiex: disable ps_mode explicitly by default instead diff --git a/patches/4.19/0008-surface-gpe.patch b/patches/4.19/0008-surface-gpe.patch index ee7dc00f2..b361b1315 100644 --- a/patches/4.19/0008-surface-gpe.patch +++ b/patches/4.19/0008-surface-gpe.patch @@ -1,4 +1,4 @@ -From 8f9980cec7ae818cbbd96807790d326ae891f60a Mon Sep 17 00:00:00 2001 +From 52fb1045e6f47aff576e75f65096cfc3237ab63f Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 16 Aug 2020 23:39:56 +0200 Subject: [PATCH] platform/x86: Add Driver to set up lid GPEs on MS Surface diff --git a/patches/4.19/0009-surface-sam-over-hid.patch b/patches/4.19/0009-surface-sam-over-hid.patch index c9964d711..415e97ab5 100644 --- a/patches/4.19/0009-surface-sam-over-hid.patch +++ b/patches/4.19/0009-surface-sam-over-hid.patch @@ -1,4 +1,4 @@ -From b2c5b55fc64a20e0de8628ae3fe5be92992f0358 Mon Sep 17 00:00:00 2001 +From 550ac2457dc7752f767771dd57b3e79a55b557fa Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 25 Jul 2020 17:19:53 +0200 Subject: [PATCH] i2c: acpi: Implement RawBytes read access @@ -109,7 +109,7 @@ index 8ba4122fb340..f9a24b56fec0 100644 -- 2.30.1 -From 3fd9c5e2123299fe95888b89e48acc0951cb716a Mon Sep 17 00:00:00 2001 +From f1f085dde250976f0258f65670898141d3f1b9c4 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sun, 6 Sep 2020 04:01:19 +0200 Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch diff --git a/patches/4.19/0010-surface-sam.patch b/patches/4.19/0010-surface-sam.patch index 25012bb16..cf22b96f3 100644 --- a/patches/4.19/0010-surface-sam.patch +++ b/patches/4.19/0010-surface-sam.patch @@ -1,4 +1,4 @@ -From 5d0d0779a79b239a7e8e8d5f4f3788dccd9e267b Mon Sep 17 00:00:00 2001 +From ca50a9a9eb82438acc340dd0de7273c4fdb59089 Mon Sep 17 00:00:00 2001 From: qzed Date: Mon, 26 Aug 2019 01:15:40 +0200 Subject: [PATCH] ACPI: Fix buffer/integer type mismatch @@ -81,7 +81,7 @@ index b272c329d45d..cf547883a993 100644 -- 2.30.1 -From 16a218fad7bd99065eb3b765e09f2a0a6cbb7415 Mon Sep 17 00:00:00 2001 +From 0b215d3e7f60c2d42e6c7d770c2b28f6ab2bf7db Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 24 Sep 2019 17:38:12 +0200 Subject: [PATCH] serdev: Add ACPI devices by ResourceSource field @@ -269,7 +269,7 @@ index c66a04d24f1d..1b18d12d217f 100644 -- 2.30.1 -From f5e4740a4006767a105ab30ea18dd362556e1928 Mon Sep 17 00:00:00 2001 +From 15c8a990998ddb8aa05b7ac0ae2025d5f40a8bed Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 17 Aug 2020 01:23:20 +0200 Subject: [PATCH] Add file2alias support for Surface Aggregator devices @@ -370,7 +370,7 @@ index 7f40b6aab689..76e3b1d7db45 100644 -- 2.30.1 -From c741e5b3ee5d48c08634ebdbededc3938c000914 Mon Sep 17 00:00:00 2001 +From ce051e4628e91fe7b53f11a06c055ac6d686de42 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 17 Aug 2020 01:44:30 +0200 Subject: [PATCH] platform/x86: Add support for Surface System Aggregator @@ -404,10 +404,10 @@ Patchset: surface-sam drivers/hid/Makefile | 2 + drivers/hid/surface-hid/Kconfig | 42 + drivers/hid/surface-hid/Makefile | 7 + - drivers/hid/surface-hid/surface_hid.c | 254 ++ + drivers/hid/surface-hid/surface_hid.c | 251 ++ drivers/hid/surface-hid/surface_hid_core.c | 272 ++ drivers/hid/surface-hid/surface_hid_core.h | 73 + - drivers/hid/surface-hid/surface_kbd.c | 303 ++ + drivers/hid/surface-hid/surface_kbd.c | 300 ++ drivers/platform/x86/Kconfig | 102 + drivers/platform/x86/Makefile | 6 + drivers/platform/x86/surface_acpi_notify.c | 886 ++++++ @@ -427,7 +427,7 @@ Patchset: surface-sam .../surface_aggregator/ssh_request_layer.h | 143 + .../platform/x86/surface_aggregator/trace.h | 632 ++++ .../platform/x86/surface_aggregator_cdev.c | 322 +++ - .../x86/surface_aggregator_registry.c | 615 ++++ + .../x86/surface_aggregator_registry.c | 618 ++++ drivers/platform/x86/surface_dtx.c | 1287 +++++++++ drivers/platform/x86/surface_perfmode.c | 122 + drivers/power/supply/Kconfig | 32 + @@ -443,7 +443,7 @@ Patchset: surface-sam include/uapi/linux/surface_aggregator/dtx.h | 146 + scripts/mod/devicetable-offsets.c | 3 +- scripts/mod/file2alias.c | 10 +- - 55 files changed, 19216 insertions(+), 7 deletions(-) + 55 files changed, 19213 insertions(+), 7 deletions(-) create mode 100644 Documentation/driver-api/surface_aggregator/client-api.rst create mode 100644 Documentation/driver-api/surface_aggregator/client.rst create mode 100644 Documentation/driver-api/surface_aggregator/clients/cdev.rst @@ -3034,10 +3034,10 @@ index 000000000000..4ae11cf09b25 +obj-$(CONFIG_SURFACE_KBD) += surface_kbd.o diff --git a/drivers/hid/surface-hid/surface_hid.c b/drivers/hid/surface-hid/surface_hid.c new file mode 100644 -index 000000000000..10e1f0e9ee3c +index 000000000000..80e4d185b66f --- /dev/null +++ b/drivers/hid/surface-hid/surface_hid.c -@@ -0,0 +1,254 @@ +@@ -0,0 +1,251 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Surface System Aggregator Module (SSAM) HID transport driver for the @@ -3195,15 +3195,12 @@ index 000000000000..10e1f0e9ee3c +static u32 ssam_hid_event_fn(struct ssam_event_notifier *nf, const struct ssam_event *event) +{ + struct surface_hid_device *shid = container_of(nf, struct surface_hid_device, notif); -+ int status; + + if (event->command_id != 0x00) + return 0; + -+ status = hid_input_report(shid->hid, HID_INPUT_REPORT, (u8 *)&event->data[0], -+ event->length, 0); -+ -+ return ssam_notifier_from_errno(status) | SSAM_NOTIF_HANDLED; ++ hid_input_report(shid->hid, HID_INPUT_REPORT, (u8 *)&event->data[0], event->length, 0); ++ return SSAM_NOTIF_HANDLED; +} + + @@ -3651,10 +3648,10 @@ index 000000000000..56fb9e8c5466 +#endif /* SURFACE_HID_CORE_H */ diff --git a/drivers/hid/surface-hid/surface_kbd.c b/drivers/hid/surface-hid/surface_kbd.c new file mode 100644 -index 000000000000..e72baac952ec +index 000000000000..0635341bc517 --- /dev/null +++ b/drivers/hid/surface-hid/surface_kbd.c -@@ -0,0 +1,303 @@ +@@ -0,0 +1,300 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Surface System Aggregator Module (SSAM) HID transport driver for the legacy @@ -3781,7 +3778,6 @@ index 000000000000..e72baac952ec +static u32 ssam_kbd_event_fn(struct ssam_event_notifier *nf, const struct ssam_event *event) +{ + struct surface_hid_device *shid = container_of(nf, struct surface_hid_device, notif); -+ int status; + + /* + * Check against device UID manually, as registry and device target @@ -3800,10 +3796,8 @@ index 000000000000..e72baac952ec + if (!ssam_kbd_is_input_event(event)) + return 0; + -+ status = hid_input_report(shid->hid, HID_INPUT_REPORT, (u8 *)&event->data[0], -+ event->length, 0); -+ -+ return ssam_notifier_from_errno(status) | SSAM_NOTIF_HANDLED; ++ hid_input_report(shid->hid, HID_INPUT_REPORT, (u8 *)&event->data[0], event->length, 0); ++ return SSAM_NOTIF_HANDLED; +} + + @@ -14529,10 +14523,10 @@ index 000000000000..cad859e1402d +MODULE_LICENSE("GPL"); diff --git a/drivers/platform/x86/surface_aggregator_registry.c b/drivers/platform/x86/surface_aggregator_registry.c new file mode 100644 -index 000000000000..bfd99743da53 +index 000000000000..edef8a773606 --- /dev/null +++ b/drivers/platform/x86/surface_aggregator_registry.c -@@ -0,0 +1,615 @@ +@@ -0,0 +1,618 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Surface System Aggregator Module (SSAM) client device registry. @@ -15042,6 +15036,9 @@ index 000000000000..bfd99743da53 + /* Surface Pro 7 */ + { "MSHW0116", (unsigned long)&ssam_platform_hub_sp7 }, + ++ /* Surface Pro 7+ */ ++ { "MSHW0119", (unsigned long)&ssam_platform_hub_sp7 }, ++ + /* Surface Book 2 */ + { "MSHW0107", (unsigned long)&ssam_platform_hub_sb2 }, + diff --git a/patches/4.19/0011-surface-hotplug.patch b/patches/4.19/0011-surface-hotplug.patch index 28565f0fb..9a378e685 100644 --- a/patches/4.19/0011-surface-hotplug.patch +++ b/patches/4.19/0011-surface-hotplug.patch @@ -1,4 +1,4 @@ -From c6ec3e5b5b1a52ab00779d096c6afdf600a9c5b2 Mon Sep 17 00:00:00 2001 +From fa0c4d5a6df392a2459b8583f8730a412ebd2e67 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Tue, 31 Jul 2018 07:50:37 +0200 Subject: [PATCH] PCI: pciehp: Differentiate between surprise and safe removal @@ -197,7 +197,7 @@ index 5c58c22e0c08..18f83e554c73 100644 -- 2.30.1 -From d1d9637d9975bf4c51055a9ce1476c86b9d17d55 Mon Sep 17 00:00:00 2001 +From 32a18e4858cca787bf3c2120ec1b0aac3f4a85c4 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sun, 19 Aug 2018 16:29:00 +0200 Subject: [PATCH] PCI: pciehp: Drop unnecessary includes @@ -336,7 +336,7 @@ index 18f83e554c73..c512b2ed85ed 100644 -- 2.30.1 -From 4e4551f354b1b225a1c8da3889c310fb42d35e59 Mon Sep 17 00:00:00 2001 +From 83833f360d1f58acac24ea9dd6f2e462eb06983e Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sun, 19 Aug 2018 16:29:00 +0200 Subject: [PATCH] PCI: pciehp: Drop hotplug_slot_ops wrappers @@ -549,7 +549,7 @@ index d4b7049cbc70..576362d0b1cd 100644 -- 2.30.1 -From 01074b180b2cd3e2a9a64c3f6050a94b644cbab0 Mon Sep 17 00:00:00 2001 +From bc947aa4a84bda22623577f13889fc9d4cd0ddd8 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 8 Sep 2018 09:59:01 +0200 Subject: [PATCH] PCI: pciehp: Tolerate Presence Detect hardwired to zero @@ -747,7 +747,7 @@ index 576362d0b1cd..7f4173d6771a 100644 -- 2.30.1 -From e13fc0694036cbf187b3c90892cd41bdee149f45 Mon Sep 17 00:00:00 2001 +From eef26c8cf99913e1a69fa6003f8e2cbd2fb72c13 Mon Sep 17 00:00:00 2001 From: Patrick Talbert Date: Wed, 5 Sep 2018 09:12:53 +0200 Subject: [PATCH] PCI/ASPM: Do not initialize link state when aspm_disabled is @@ -792,7 +792,7 @@ index cb474338f39d..18aa830e79e4 100644 -- 2.30.1 -From 6eef763e4e66b0c36b8f48c1a51ee8c59f14cb92 Mon Sep 17 00:00:00 2001 +From 520c46e498486f4f4f43935f3fda98bedb2c15d1 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sun, 19 Aug 2018 16:29:00 +0200 Subject: [PATCH] PCI: Simplify disconnected marking @@ -878,7 +878,7 @@ index 2c3b5bd59b18..dee5a7507403 100644 -- 2.30.1 -From a656221bf84eda4e2a4ece3e2f88d6d54234b64d Mon Sep 17 00:00:00 2001 +From 07de99519315ba4014073391c610a9d9cf9c28cc Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Tue, 18 Sep 2018 21:46:17 +0200 Subject: [PATCH] PCI: pciehp: Unify controller and slot structs @@ -2070,7 +2070,7 @@ index 8da87931bd45..b9c1396db6fe 100644 -- 2.30.1 -From 561d3a071aa5e361ac3e1d5aeb591411816d8219 Mon Sep 17 00:00:00 2001 +From fdef45b5aa05a14accf0480f78cf3bfc99867881 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 8 Sep 2018 09:59:01 +0200 Subject: [PATCH] PCI: pciehp: Rename controller struct members for clarity @@ -2377,7 +2377,7 @@ index 4a17d71e15d3..e4d6ec960630 100644 -- 2.30.1 -From 2569dde86684d3ac54af3cbcdfd61afc409d2116 Mon Sep 17 00:00:00 2001 +From 7173953971568fd7a637b680ebe7d132704e35f1 Mon Sep 17 00:00:00 2001 From: Lukas Wunner Date: Sat, 8 Sep 2018 09:59:01 +0200 Subject: [PATCH] PCI: pciehp: Reshuffle controller struct for clarity @@ -2508,7 +2508,7 @@ index 2499489158cc..df82a0335515 100644 -- 2.30.1 -From 580a8e7376f9c3b3206626811d8dc2a01b08e259 Mon Sep 17 00:00:00 2001 +From 18b44448e1623d85b9fb4cd03e5a4e9bbb6dfafe Mon Sep 17 00:00:00 2001 From: Keith Busch Date: Thu, 20 Sep 2018 10:27:17 -0600 Subject: [PATCH] PCI: Make link active reporting detection generic @@ -2608,10 +2608,10 @@ index e4d6ec960630..0693870a9e24 100644 /* Clear all remaining event bits in Slot Status register. */ pcie_capability_write_word(pdev, PCI_EXP_SLTSTA, diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index cd628dd73719..25b0fe79420f 100644 +index 83fda1987d1f..e8de06ad1a5f 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c -@@ -4525,21 +4525,42 @@ bool pcie_wait_for_link(struct pci_dev *pdev, bool active) +@@ -4532,21 +4532,42 @@ bool pcie_wait_for_link(struct pci_dev *pdev, bool active) bool ret; u16 lnk_status; @@ -2705,7 +2705,7 @@ index ec6c48ecd7d5..74c8e9190fed 100644 -- 2.30.1 -From f70ebf21b624e9c1cc00bf3ad27cb883c5a59d1c Mon Sep 17 00:00:00 2001 +From fcda984715e00de36b3c2ca35d8aaf8542a1f653 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:53:53 -0500 Subject: [PATCH] PCI: Do not skip power-managed bridges in pci_enable_wake() @@ -2733,7 +2733,7 @@ Patchset: surface-hotplug 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index 25b0fe79420f..6a0dc12187ed 100644 +index e8de06ad1a5f..b3068dfcf3f0 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -2151,10 +2151,13 @@ static int __pci_enable_wake(struct pci_dev *dev, pci_power_t state, bool enable @@ -2756,7 +2756,7 @@ index 25b0fe79420f..6a0dc12187ed 100644 -- 2.30.1 -From af417f9fd8e00fdabf69d6c928b524a079cbcfbb Mon Sep 17 00:00:00 2001 +From db3dcb49f014b68cfd8dc2b28acf8fe35ed38f67 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:38:19 -0500 Subject: [PATCH] PCI: pciehp: Disable hotplug interrupt during suspend @@ -2870,7 +2870,7 @@ index 0693870a9e24..b5c7f5ef597a 100644 -- 2.30.1 -From 83bc09e60eee0e67590d229ce2429ac76581b4aa Mon Sep 17 00:00:00 2001 +From 9a4814d0b02f7f3c93650b638aa6b5ea509b781d Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:41:46 -0500 Subject: [PATCH] PCI: pciehp: Do not handle events if interrupts are masked @@ -2912,7 +2912,7 @@ index b5c7f5ef597a..242b9f30210a 100644 -- 2.30.1 -From 4922b32274a5b699f7e1976dda9b55c21476b399 Mon Sep 17 00:00:00 2001 +From 7442c365fdd6612887b88ce9540cce0edb55183e Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:41:47 -0500 Subject: [PATCH] PCI/portdrv: Resume upon exit from system suspend if left @@ -2965,7 +2965,7 @@ index 23a5a0c2c3fe..5badf8a1ce0a 100644 -- 2.30.1 -From b8269200290bfc69d1eb1a4bbb4c2f7f2db7fc77 Mon Sep 17 00:00:00 2001 +From 75e4513ffa1cf1547e37d641d408f78d521669c4 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:41:48 -0500 Subject: [PATCH] PCI/portdrv: Add runtime PM hooks for port service drivers @@ -3077,7 +3077,7 @@ index 5badf8a1ce0a..59d2567e2db2 100644 -- 2.30.1 -From b5e250fe37307bc562451f4b3171bc9112e13166 Mon Sep 17 00:00:00 2001 +From e01c9041c2054ea38ca001d1af24567ce237bc2d Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:41:49 -0500 Subject: [PATCH] PCI: pciehp: Implement runtime PM callbacks @@ -3134,7 +3134,7 @@ index 8e6e4ce869fb..e5de25ebc4cf 100644 -- 2.30.1 -From a226b5411414301513e36c3698022347a88f34ed Mon Sep 17 00:00:00 2001 +From 6a8cb3c339a6042556e131f575e9ae5d468b9bdc Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:57:05 -0500 Subject: [PATCH] ACPI / property: Allow multiple property compatible _DSD @@ -3186,7 +3186,7 @@ Patchset: surface-hotplug 5 files changed, 86 insertions(+), 29 deletions(-) diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c -index 288673cff85e..150003be8e1f 100644 +index 27db1a968241..9a679ae50089 100644 --- a/drivers/acpi/property.c +++ b/drivers/acpi/property.c @@ -24,11 +24,12 @@ static int acpi_data_get_property_array(const struct acpi_device_data *data, @@ -3429,7 +3429,7 @@ index 019468f072b7..2b2d92863923 100644 -- 2.30.1 -From 6bd89d871c667263d811129a6df4206e846ba405 Mon Sep 17 00:00:00 2001 +From c2fddc436db4648da7a6cbc4ccc1dc41c7206652 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 27 Sep 2018 16:57:14 -0500 Subject: [PATCH] PCI / ACPI: Whitelist D3 for more PCIe hotplug ports @@ -3471,7 +3471,7 @@ Patchset: surface-hotplug 4 files changed, 56 insertions(+) diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c -index 150003be8e1f..5ca89166ea4e 100644 +index 9a679ae50089..6497f04f9551 100644 --- a/drivers/acpi/property.c +++ b/drivers/acpi/property.c @@ -28,6 +28,9 @@ static const guid_t prp_guids[] = { @@ -3544,7 +3544,7 @@ index 2c46f7dcd2f5..1516327a8459 100644 .set_state = acpi_pci_set_power_state, .get_state = acpi_pci_get_power_state, diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index 6a0dc12187ed..c5fd51d7f153 100644 +index b3068dfcf3f0..9a6dd521745b 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -793,6 +793,11 @@ static inline bool platform_pci_need_resume(struct pci_dev *dev) @@ -3594,7 +3594,7 @@ index e9ede82ee2c2..0a5efc437bd1 100644 -- 2.30.1 -From a67484471ab3dac5cd7722b95d0304d4d2f6597f Mon Sep 17 00:00:00 2001 +From 5e0bdb7eb9128b95661aa136d67c812d37175a33 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Mon, 7 Jan 2019 16:09:40 +0300 Subject: [PATCH] PCI: pciehp: Assign ctrl->slot_ctrl before writing it to @@ -3648,7 +3648,7 @@ index 242b9f30210a..7074d4923811 100644 -- 2.30.1 -From 035b9b44d38de57cd4274538bb83f97e88be9d40 Mon Sep 17 00:00:00 2001 +From ee36de3475c8d168f0766db974b636ce7ab21c7c Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Thu, 31 Jan 2019 20:07:46 +0300 Subject: [PATCH] PCI: pciehp: Disable Data Link Layer State Changed event on @@ -3737,7 +3737,7 @@ index 7074d4923811..a37ff79a6e9e 100644 -- 2.30.1 -From 71c780397f5df6089e59337a6b8c5349553d0080 Mon Sep 17 00:00:00 2001 +From 1d61f8f2b2b6d7baabd36d6577955414c451ea2f Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Thu, 29 Oct 2020 22:04:38 +0100 Subject: [PATCH] PCI: Allow D3cold for hot-plug ports on Surface Books @@ -3769,7 +3769,7 @@ Patchset: surface-hotplug 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index c5fd51d7f153..737d3a34e623 100644 +index 9a6dd521745b..407dd9581fd5 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -2523,6 +2523,32 @@ static const struct dmi_system_id bridge_d3_blacklist[] = { @@ -3822,7 +3822,7 @@ index c5fd51d7f153..737d3a34e623 100644 -- 2.30.1 -From 75a7bb2d62538131ec7ec7a672ed5d9b2c0f0842 Mon Sep 17 00:00:00 2001 +From 6c0c9aee0dbd96b35a68f3c382c98f788b8b2040 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 9 Nov 2020 14:23:00 +0100 Subject: [PATCH] PCI: Run platform power transition on initial D0 entry @@ -3867,7 +3867,7 @@ Patchset: surface-hotplug 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index 737d3a34e623..f72651684719 100644 +index 407dd9581fd5..6bf649d1166e 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -1520,9 +1520,7 @@ static int do_pci_enable_device(struct pci_dev *dev, int bars) @@ -3884,7 +3884,7 @@ index 737d3a34e623..f72651684719 100644 -- 2.30.1 -From 05f32f984be2b20defcdde87e6767a1ebff578fc Mon Sep 17 00:00:00 2001 +From a176dd41e5aef00098579ac84be0d8df154ab595 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Sat, 31 Oct 2020 20:46:33 +0100 Subject: [PATCH] PCI: Add sysfs attribute for PCI device power state @@ -3957,7 +3957,7 @@ index 1edf5a1836ea..ee1518650d55 100644 -- 2.30.1 -From bc3339efb04e86fcce1eb8011842f1fadab1f118 Mon Sep 17 00:00:00 2001 +From a26c95a73631adda8e8ebdb3b8c9e684bc359ce3 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Mon, 14 Dec 2020 20:50:59 +0100 Subject: [PATCH] platform/x86: Add Surface Hotplug driver diff --git a/patches/4.19/0012-surface-typecover.patch b/patches/4.19/0012-surface-typecover.patch index 01da08546..9af11d907 100644 --- a/patches/4.19/0012-surface-typecover.patch +++ b/patches/4.19/0012-surface-typecover.patch @@ -1,4 +1,4 @@ -From a0320ac4d0a46058222dad44101cd2bf1e2a48b1 Mon Sep 17 00:00:00 2001 +From aec4ab89a338be8101970da1f09ee2a667790ed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 5 Nov 2020 13:09:45 +0100 Subject: [PATCH] hid/multitouch: Turn off Type Cover keyboard backlight when diff --git a/patches/4.19/0013-ath10k-firmware-override.patch b/patches/4.19/0013-ath10k-firmware-override.patch new file mode 100644 index 000000000..676484037 --- /dev/null +++ b/patches/4.19/0013-ath10k-firmware-override.patch @@ -0,0 +1,120 @@ +From 62724d9c54ac108b79b50b5bffc3ff3a99fb8d3c Mon Sep 17 00:00:00 2001 +From: Maximilian Luz +Date: Sat, 27 Feb 2021 00:45:52 +0100 +Subject: [PATCH] ath10k: Add module parameters to override board files + +Some Surface devices, specifically the Surface Go and AMD version of the +Surface Laptop 3 (wich both come with QCA6174 WiFi chips), work better +with a different board file, as it seems that the firmeware included +upstream is buggy. + +As it is generally not a good idea to randomly overwrite files, let +alone doing so via packages, we add module parameters to override those +file names in the driver. This allows us to package/deploy the override +via a modprobe.d config. + +Signed-off-by: Maximilian Luz +--- + drivers/net/wireless/ath/ath10k/core.c | 58 ++++++++++++++++++++++++++ + 1 file changed, 58 insertions(+) + +diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c +index 436eac342b62..c9028d59bfe2 100644 +--- a/drivers/net/wireless/ath/ath10k/core.c ++++ b/drivers/net/wireless/ath/ath10k/core.c +@@ -41,6 +41,9 @@ static bool uart_print; + static bool skip_otp; + static bool rawmode; + ++static char *override_board = ""; ++static char *override_board2 = ""; ++ + unsigned long ath10k_coredump_mask = BIT(ATH10K_FW_CRASH_DUMP_REGISTERS) | + BIT(ATH10K_FW_CRASH_DUMP_CE_DATA); + +@@ -52,6 +55,9 @@ module_param(skip_otp, bool, 0644); + module_param(rawmode, bool, 0644); + module_param_named(coredump_mask, ath10k_coredump_mask, ulong, 0444); + ++module_param(override_board, charp, 0644); ++module_param(override_board2, charp, 0644); ++ + MODULE_PARM_DESC(debug_mask, "Debugging mask"); + MODULE_PARM_DESC(uart_print, "Uart target debugging"); + MODULE_PARM_DESC(skip_otp, "Skip otp failure for calibration in testmode"); +@@ -59,6 +65,9 @@ MODULE_PARM_DESC(cryptmode, "Crypto mode: 0-hardware, 1-software"); + MODULE_PARM_DESC(rawmode, "Use raw 802.11 frame datapath"); + MODULE_PARM_DESC(coredump_mask, "Bitfield of what to include in firmware crash file"); + ++MODULE_PARM_DESC(override_board, "Override for board.bin file"); ++MODULE_PARM_DESC(override_board2, "Override for board-2.bin file"); ++ + static const struct ath10k_hw_params ath10k_hw_params_list[] = { + { + .id = QCA988X_HW_2_0_VERSION, +@@ -705,6 +714,42 @@ static int ath10k_init_configure_target(struct ath10k *ar) + return 0; + } + ++static const char *ath10k_override_board_fw_file(struct ath10k *ar, ++ const char *file) ++{ ++ if (strcmp(file, "board.bin") == 0) { ++ if (strcmp(override_board, "") == 0) ++ return file; ++ ++ if (strcmp(override_board, "none") == 0) { ++ dev_info(ar->dev, "firmware override: pretending 'board.bin' does not exist\n"); ++ return NULL; ++ } ++ ++ dev_info(ar->dev, "firmware override: replacing 'board.bin' with '%s'\n", ++ override_board); ++ ++ return override_board; ++ } ++ ++ if (strcmp(file, "board-2.bin") == 0) { ++ if (strcmp(override_board2, "") == 0) ++ return file; ++ ++ if (strcmp(override_board2, "none") == 0) { ++ dev_info(ar->dev, "firmware override: pretending 'board-2.bin' does not exist\n"); ++ return NULL; ++ } ++ ++ dev_info(ar->dev, "firmware override: replacing 'board-2.bin' with '%s'\n", ++ override_board2); ++ ++ return override_board2; ++ } ++ ++ return file; ++} ++ + static const struct firmware *ath10k_fetch_fw_file(struct ath10k *ar, + const char *dir, + const char *file) +@@ -719,6 +764,19 @@ static const struct firmware *ath10k_fetch_fw_file(struct ath10k *ar, + if (dir == NULL) + dir = "."; + ++ /* HACK: Override board.bin and board-2.bin files if specified. ++ * ++ * Some Surface devices perform better with a different board ++ * configuration. To this end, one would need to replace the board.bin ++ * file with the modified config and remove the board-2.bin file. ++ * Unfortunately, that's not a solution that we can easily package. So ++ * we add module options to perform these overrides here. ++ */ ++ ++ file = ath10k_override_board_fw_file(ar, file); ++ if (!file) ++ return ERR_PTR(-ENOENT); ++ + snprintf(filename, sizeof(filename), "%s/%s", dir, file); + ret = firmware_request_nowarn(&fw, filename, ar->dev); + ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n", +-- +2.30.1 + diff --git a/pkg/arch/kernel-lts/0013-ath10k-firmware-override.patch b/pkg/arch/kernel-lts/0013-ath10k-firmware-override.patch new file mode 120000 index 000000000..1384f1bc8 --- /dev/null +++ b/pkg/arch/kernel-lts/0013-ath10k-firmware-override.patch @@ -0,0 +1 @@ +../../../patches/4.19/0013-ath10k-firmware-override.patch \ No newline at end of file diff --git a/pkg/arch/kernel-lts/PKGBUILD b/pkg/arch/kernel-lts/PKGBUILD index 584ae773f..7a255e3a2 100644 --- a/pkg/arch/kernel-lts/PKGBUILD +++ b/pkg/arch/kernel-lts/PKGBUILD @@ -33,6 +33,7 @@ source=( 0010-surface-sam.patch 0011-surface-hotplug.patch 0012-surface-typecover.patch + 0013-ath10k-firmware-override.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -44,18 +45,19 @@ sha256sums=('ac0eb3794e01eac66bea3ab39b8776dadf15c418ddc534ccfd95a0270302357d' '4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6' 'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2' 'c523d8ba9f02992c34b325cd7b07e27bfead33ecab29877e659a12b2d56b1118' - '323ad3cfc3be796d03ee0c38c128d61b8758d18524ff39e1c0e16e257167f8a9' - '65f8a21e2a269706ad5f4cc53f21cd1eff7f26cc8177ebaeb3fbbf76c27f285e' - '985607cffb1fecab9037090b540896e0c08fdfed3de265d021ebd2ea5bd2e61b' - '900cff17f58a66f62be586704c285507c67f282d1d300f03621eb500d2d4ab82' - 'a0cd9976ef68fdccad944c5c2ce3fc004da4d05d35acd573dfdfe51424f9a0b0' - 'fca6ef9bca0ad6fc8fd5e588cd5ace60408f2ab32edd7342a0dedc9e2df79851' - '9a0ffb7b7ebc480658edca5c5d0f7bb171e98d5ada2ab51052726201ebbd9b2f' - 'a1c961443f96116e0316354dac6e1ac29913ce2c88da6325e787d7ce68ee8144' - '898d34bbe61f91773aff366ad17296652b28e6cbb4761dac11233ef7a76c84f5' - '0fb15c0904adc523c24169340201352ff5471191f91b9d482f1771a162cbf8c1' - 'af21cc2025b7903f2aacc5ea1df15e8f5542c4eec3dd15f89be7d6325c91ed27' - '6344493ab81704a83f6c252513315d3bf8774fe6128cc9fac882b80dd8fbf05c') + 'aa024fcc4351e50e0052f2a8a02b0b0b3a986cbe7e9490e9b59b33e93ac53bd2' + 'dee702f370c7a64deb4757df15bac6e800a557fe56ae570fb3d098a93f45553b' + '4850a2fb42fa0789bb052b9743260684a2f1a5d73b8c79a0a4b39d70c07ba3ad' + '578bd0967c2af521874d8d3327a4b65fe3cf9dfa93fd1bfa0139cde062e7f71d' + 'f2d864aeb43c730e4185183ba133fe55b9a2ccfbc137309aec71e82fe31be7f3' + '3ebd21b62dcd5a86c53f068991d1d9d8fd47c9c61a2d3ae41ca51beb70f058da' + 'cb6d1bf3a7f0405c7f67104016f46f93593a1e9d366ac289b7353ddd7f9a292c' + '85b7e9fa1dfc1f6802ccf787d7030cd81fb798c9036564d6016e11d5da639dc4' + '4472ff51d5bbc369b9fa590c1ff768476dcfa0226191b8804174263ab383e75b' + 'aca060c28c5ddb1f446a734d331e6b63ed575149f91ba8b66877b9b027e569ee' + 'd795e7517b84c72745dff779019b86f35e1ed2afe2fd53adcfcd3ce14495965f' + 'a2345d412d4e7e3dc6d7e28510f0cf5f9c1bd64bf8270ff8853f2b22cd252331' + 'ade967e6df90bdf7f0e97742e28aabadcdada213d4a178b26d0790563194e15e') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase