Update v4.19 patches

Changes:
 - SAM:
   - Add support for Surface Pro 7+
   - Minor updates and fixes.

 - Add firmware file override for ath10k wifi driver.

Links:
 - kernel: 3a02456c73
 - SAM: a8b786bd6f
This commit is contained in:
Maximilian Luz 2021-03-09 20:41:01 +01:00
parent 12594c5a1f
commit e8c31f66dd
No known key found for this signature in database
GPG key ID: 70EC0937F6C26F02
15 changed files with 213 additions and 93 deletions

View file

@ -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 <luzmaximilian@gmail.com>
Date: Sat, 28 Sep 2019 18:00:43 +0200
Subject: [PATCH] platform/x86: Surface 3 battery platform operation region

View file

@ -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 <andriy.shevchenko@linux.intel.com>
Date: Sun, 5 Jul 2020 14:56:20 +0300
Subject: [PATCH] dmaengine: dw: Initialize channel before each transfer

View file

@ -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 <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

View file

@ -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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
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 <hdegoide@redhat.com>
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)" <kitakar@gmail.com>
Date: Mon, 11 May 2020 17:40:21 +0900
Subject: [PATCH] Input: soc_button_array - fix Wdiscarded-qualifiers for

View file

@ -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

View file

@ -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 <luzmaximilian@gmail.com>
Date: Sat, 28 Sep 2019 17:58:17 +0200
Subject: [PATCH] Add support for Intel IPTS touch devices

View file

@ -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 <hslester96@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
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 <kitakar@gmail.com>
Date: Sun, 4 Oct 2020 00:59:37 +0900
Subject: [PATCH] mwifiex: disable ps_mode explicitly by default instead

View file

@ -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 <luzmaximilian@gmail.com>
Date: Sun, 16 Aug 2020 23:39:56 +0200
Subject: [PATCH] platform/x86: Add Driver to set up lid GPEs on MS Surface

View file

@ -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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
Date: Sun, 6 Sep 2020 04:01:19 +0200
Subject: [PATCH] platform/x86: Add driver for Surface Book 1 dGPU switch

View file

@ -1,4 +1,4 @@
From 5d0d0779a79b239a7e8e8d5f4f3788dccd9e267b Mon Sep 17 00:00:00 2001
From ca50a9a9eb82438acc340dd0de7273c4fdb59089 Mon Sep 17 00:00:00 2001
From: qzed <qzed@users.noreply.github.com>
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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
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 },
+

View file

@ -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 <lukas@wunner.de>
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 <lukas@wunner.de>
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 <lukas@wunner.de>
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 <lukas@wunner.de>
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 <ptalbert@redhat.com>
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 <lukas@wunner.de>
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 <lukas@wunner.de>
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 <lukas@wunner.de>
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 <lukas@wunner.de>
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 <keith.busch@intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <mika.westerberg@linux.intel.com>
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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
Date: Mon, 14 Dec 2020 20:50:59 +0100
Subject: [PATCH] platform/x86: Add Surface Hotplug driver

View file

@ -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?= <verdre@v0yd.nl>
Date: Thu, 5 Nov 2020 13:09:45 +0100
Subject: [PATCH] hid/multitouch: Turn off Type Cover keyboard backlight when

View file

@ -0,0 +1,120 @@
From 62724d9c54ac108b79b50b5bffc3ff3a99fb8d3c Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
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 <luzmaximilian@gmail.com>
---
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

View file

@ -0,0 +1 @@
../../../patches/4.19/0013-ath10k-firmware-override.patch

View file

@ -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