From a859c34e49c248d092626dae3eb398e329800d16 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Wed, 7 Apr 2021 03:20:56 +0200 Subject: [PATCH] Update v4.19 patches Changes: - Code cleanup and small fixes Links: - kernel: https://github.com/linux-surface/kernel/commit/e394f9b2d2c9b2200a91bf9b31c9a451ab3e58fc - SAM: https://github.com/linux-surface/surface-aggregator-module/commit/ff044c7463452eb5c107f51af6f4c7007726bb16 --- patches/4.19/0001-surface3-power.patch | 4 +- .../0002-surface3-touchscreen-dma-fix.patch | 4 +- patches/4.19/0003-surface3-oemb.patch | 4 +- patches/4.19/0004-surface-buttons.patch | 16 +- patches/4.19/0005-suspend.patch | 4 +- patches/4.19/0006-ipts.patch | 4 +- patches/4.19/0007-wifi.patch | 76 +++--- patches/4.19/0008-surface-gpe.patch | 4 +- patches/4.19/0009-surface-sam-over-hid.patch | 8 +- patches/4.19/0010-surface-sam.patch | 241 +++++------------- patches/4.19/0011-surface-hotplug.patch | 102 ++++---- patches/4.19/0012-surface-typecover.patch | 4 +- .../4.19/0013-ath10k-firmware-override.patch | 4 +- pkg/arch/kernel-lts/PKGBUILD | 26 +- 14 files changed, 198 insertions(+), 303 deletions(-) diff --git a/patches/4.19/0001-surface3-power.patch b/patches/4.19/0001-surface3-power.patch index 8409aacc2..e9009b4d0 100644 --- a/patches/4.19/0001-surface3-power.patch +++ b/patches/4.19/0001-surface3-power.patch @@ -1,4 +1,4 @@ -From f5410861def5b9d4114cea50e8a9e494775444d4 Mon Sep 17 00:00:00 2001 +From 61ca2f2e30f17953799b79b30fc9f0579fdc4209 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 @@ -653,5 +653,5 @@ index 000000000000..e0af01a60302 +MODULE_DESCRIPTION("mshw0011 driver"); +MODULE_LICENSE("GPL v2"); -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0002-surface3-touchscreen-dma-fix.patch b/patches/4.19/0002-surface3-touchscreen-dma-fix.patch index 26266d583..4ad0d3861 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 eab6e10d8f4bf13d5e59eaf2bc0cba17bb5279a6 Mon Sep 17 00:00:00 2001 +From 0fc7c7375185616722dbd0040a8dd828f168a036 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 @@ -85,5 +85,5 @@ index 055d83b6cb68..acf64302a2b2 100644 channel_clear_bit(dw, MASK.XFER, dwc->mask); channel_clear_bit(dw, MASK.BLOCK, dwc->mask); -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0003-surface3-oemb.patch b/patches/4.19/0003-surface3-oemb.patch index fedf4faf1..e3bfc2d7f 100644 --- a/patches/4.19/0003-surface3-oemb.patch +++ b/patches/4.19/0003-surface3-oemb.patch @@ -1,4 +1,4 @@ -From 4822c9d25544a890a6485a2201e103e7655846ea Mon Sep 17 00:00:00 2001 +From c27b1038ae03251b453c3794374a0370757499ce 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 @@ -97,5 +97,5 @@ index 91bb99b69601..8418938b32ad 100644 }; -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0004-surface-buttons.patch b/patches/4.19/0004-surface-buttons.patch index ca7cb8fd2..a25798623 100644 --- a/patches/4.19/0004-surface-buttons.patch +++ b/patches/4.19/0004-surface-buttons.patch @@ -1,4 +1,4 @@ -From 6f862b10740b4832f506bdf830e23ce7f69a0ce4 Mon Sep 17 00:00:00 2001 +From a4d4ed5bc46a51fac789e8647af0acea820e2a6b 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 @@ -90,9 +90,9 @@ index 1b491690ce07..96627627060e 100644 if (!button) return -ENOMEM; -- -2.31.0 +2.31.1 -From 36c9bc38819cd223d04caf2d13949add3b8b7aa8 Mon Sep 17 00:00:00 2001 +From 729d663d8416906b5f1d8ab6ad80cc026154fee8 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 @@ -295,9 +295,9 @@ index 55cd6e0b409c..8f21c062c85d 100644 }; -- -2.31.0 +2.31.1 -From 42af0e3b3b49b50060d75e79523a0713b3447118 Mon Sep 17 00:00:00 2001 +From 94f601f54bd5f25ae840ff65fb98a437cca93ce7 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 @@ -384,9 +384,9 @@ index 8f21c062c85d..5983733d78dd 100644 } -- -2.31.0 +2.31.1 -From 52525e5b46b1ee8c0a4dcf137469e4cc7a01deda Mon Sep 17 00:00:00 2001 +From 0a3fde37ba31241ad9148cfd4c92133e7447abf1 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 @@ -436,5 +436,5 @@ index 5983733d78dd..c564ea99f47d 100644 return 0; } -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0005-suspend.patch b/patches/4.19/0005-suspend.patch index c26819d64..8eec855b1 100644 --- a/patches/4.19/0005-suspend.patch +++ b/patches/4.19/0005-suspend.patch @@ -1,4 +1,4 @@ -From 8707dd1898f9164064fc1f39818c61bb1a98abdb Mon Sep 17 00:00:00 2001 +From a1ebfd672eafc3b28b2019f2a5c5589fc7860d11 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 @@ -330,5 +330,5 @@ index 2fda9893962d..ec6c48ecd7d5 100644 #ifdef CONFIG_PCIEAER -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0006-ipts.patch b/patches/4.19/0006-ipts.patch index 98114155e..c0375c1c3 100644 --- a/patches/4.19/0006-ipts.patch +++ b/patches/4.19/0006-ipts.patch @@ -1,4 +1,4 @@ -From be84eea2e762521098674e9eae11630c706838b9 Mon Sep 17 00:00:00 2001 +From 9d361283da0944726803d0aa404f99394aaa46dc 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 @@ -7310,5 +7310,5 @@ index 000000000000..f229a3436851 + +#endif // IPTS_H -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0007-wifi.patch b/patches/4.19/0007-wifi.patch index 1656ee642..fec9eb736 100644 --- a/patches/4.19/0007-wifi.patch +++ b/patches/4.19/0007-wifi.patch @@ -1,4 +1,4 @@ -From 381cfd496c4a36e9a9c98c9cb10817748a85fab0 Mon Sep 17 00:00:00 2001 +From e0bcc29f91b8ed15b0f7611b31c773ba64447358 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 @@ -47,9 +47,9 @@ index 5907b34037c2..4e655038e3f3 100644 if (!card->adapter) { dev_err(dev, "adapter structure is not valid\n"); -- -2.31.0 +2.31.1 -From 973c728899bba7404f9d5755ae7e880876dbce8b Mon Sep 17 00:00:00 2001 +From 25d84e2b6bdc2a118717477cc0ad8524ccf07266 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 @@ -255,9 +255,9 @@ index 000000000000..5326ae7e5671 + +void mwifiex_initialize_quirks(struct pcie_service_card *card); -- -2.31.0 +2.31.1 -From db7083346e3a91c4f8cff336c403a668a6435005 Mon Sep 17 00:00:00 2001 +From 94e02e6bd4d4a8017f3d8ff6336873ef5f46e36f 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+ @@ -456,9 +456,9 @@ index 5326ae7e5671..8b9dcb5070d8 100644 void mwifiex_initialize_quirks(struct pcie_service_card *card); +int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev); -- -2.31.0 +2.31.1 -From 6032ac4b5d1188d9d139daf7c80e7cb45b3b6b17 Mon Sep 17 00:00:00 2001 +From 8cbafb423098c9c19014854564167d1b3a38ddb8 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 @@ -635,9 +635,9 @@ index 8b9dcb5070d8..3ef7440418e3 100644 int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev); +int mwifiex_pcie_reset_wsid_quirk(struct pci_dev *pdev); -- -2.31.0 +2.31.1 -From f30cabee7e9b6b63ec9509e3d8314d4e2f563597 Mon Sep 17 00:00:00 2001 +From e42f6a01a7df6a9a72aebd65901c7eef31407299 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 @@ -697,9 +697,9 @@ index f0a6fa0a7ae5..34dcd84f02a6 100644 .ident = "Surface Pro 3", .matches = { -- -2.31.0 +2.31.1 -From d5f4b2b092a6cf31f484231426d0352c7321d50e Mon Sep 17 00:00:00 2001 +From fb4379da8742af3aac84aa947883c18678500a7b 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+ @@ -852,9 +852,9 @@ index 3ef7440418e3..a95ebac06e13 100644 void mwifiex_initialize_quirks(struct pcie_service_card *card); int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev); -- -2.31.0 +2.31.1 -From de0b4e918cbe3566f719a29ec5b137021bef9325 Mon Sep 17 00:00:00 2001 +From a6a98568c627c55302f52af4dfd4cb29f54d20a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 10 Nov 2020 12:49:56 +0100 Subject: [PATCH] mwifiex: Use non-posted PCI register writes @@ -909,9 +909,9 @@ index d0e002cfc295..aae276fc1155 100644 } -- -2.31.0 +2.31.1 -From 5b6607f4d0c226f71a9b7415f09ae2f938d8215b Mon Sep 17 00:00:00 2001 +From 60368a2865bcd77e2310d7df94a7cb174aca0c8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Tue, 3 Nov 2020 13:28:04 +0100 Subject: [PATCH] mwifiex: Add quirk resetting the PCI bridge on MS Surface @@ -1076,9 +1076,9 @@ index a95ebac06e13..4ec2ae72f632 100644 void mwifiex_initialize_quirks(struct pcie_service_card *card); int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev); -- -2.31.0 +2.31.1 -From 325e3c77c1768d7ad8e5d531c79d83713c9e70ac Mon Sep 17 00:00:00 2001 +From 83ae97bafca23ecfdc1aa6c419fc0d5cc7e03087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Sun, 28 Mar 2021 21:10:06 +0200 Subject: [PATCH] mwifiex: Try waking the firmware until we get an interrupt @@ -1165,9 +1165,9 @@ index 6b06f2a76cdc..45dc0bfe26ba 100644 if (reg->sleep_cookie) { mwifiex_pcie_dev_wakeup_delay(adapter); -- -2.31.0 +2.31.1 -From 495f50d493e3976988325cdfdd7bdbb7dd0e86d7 Mon Sep 17 00:00:00 2001 +From a357a5a68cd9e95a81f5ecb40785cb583472fa6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Thu, 25 Mar 2021 11:33:02 +0100 Subject: [PATCH] Bluetooth: btusb: Lower passive lescan interval on Marvell @@ -1243,9 +1243,9 @@ index 1b0adf5c2376..283a90928f0e 100644 set_bit(HCI_QUIRK_FIXUP_INQUIRY_MODE, &hdev->quirks); set_bit(HCI_QUIRK_BROKEN_LOCAL_COMMANDS, &hdev->quirks); -- -2.31.0 +2.31.1 -From 4caaace06bc19f7a5f7cf7999416198201c780e4 Mon Sep 17 00:00:00 2001 +From 7311eeeecd80d3cb7bae088a83e53807895f4e71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 12:31:26 +0100 Subject: [PATCH] mwifiex: Small cleanup for handling virtual interface type @@ -1344,9 +1344,9 @@ index 650191db25cb..5badf7fef37e 100644 mwifiex_dbg(priv->adapter, ERROR, "%s: changing to %d not supported\n", -- -2.31.0 +2.31.1 -From 01f2323fe1f25c13e40a1171184c33c0e8dd7743 Mon Sep 17 00:00:00 2001 +From 7165cc0cf0a28627a5cd3db631af9c9b69093b8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 12:44:39 +0100 Subject: [PATCH] mwifiex: Use function to check whether interface type change @@ -1577,9 +1577,9 @@ index 5badf7fef37e..e73334679992 100644 static void -- -2.31.0 +2.31.1 -From 7146e47c1b30ddc1fa6fbe9a11447f70431e015f Mon Sep 17 00:00:00 2001 +From 2904d85c0deee3362a69856847c3976fffa5117e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 13:33:04 +0100 Subject: [PATCH] mwifiex: Run SET_BSS_MODE when changing from P2P to STATION @@ -1645,9 +1645,9 @@ index e73334679992..99da637692cc 100644 params); default: -- -2.31.0 +2.31.1 -From 9a62b579978ebd59a7698e160d4e677e3d1878cc Mon Sep 17 00:00:00 2001 +From 5cb6a0dd8de3ce090db62521a67f3df1f75835d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 14:42:54 +0100 Subject: [PATCH] mwifiex: Use helper function for counting interface types @@ -1821,9 +1821,9 @@ index 99da637692cc..feb3a858d8c1 100644 priv->bss_mode = NL80211_IFTYPE_UNSPECIFIED; -- -2.31.0 +2.31.1 -From e0f3d0a199fc1e7feff28af283b64d3dda035ca8 Mon Sep 17 00:00:00 2001 +From 70ef3297dc65f00ad9315ed7c2896cb0f7ee9cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 26 Mar 2021 15:56:58 +0100 Subject: [PATCH] mwifiex: Update virtual interface counters right after @@ -1924,9 +1924,9 @@ index feb3a858d8c1..54d9e789aa14 100644 } /* -- -2.31.0 +2.31.1 -From bea450e3e81133d6c0542357e120c3200ad8e9d2 Mon Sep 17 00:00:00 2001 +From 0d2adbf9a64919cb5d0d23878e2ab904ba62d8ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Wed, 11 Nov 2020 13:42:40 +0100 Subject: [PATCH] mwifiex: Allow switching interface type from P2P_CLIENT to @@ -2013,9 +2013,9 @@ index 54d9e789aa14..ec5ed00b4b89 100644 return mwifiex_change_vif_to_ap(dev, curr_iftype, type, params); -- -2.31.0 +2.31.1 -From 90aec18ec01a9c8127385134d055fc80e1b8e527 Mon Sep 17 00:00:00 2001 +From ab87318470957c4883f0558866d455ec892e3a8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 26 Mar 2021 15:31:08 +0100 Subject: [PATCH] mwifiex: Handle interface type changes from AP to STATION @@ -2040,9 +2040,9 @@ index ec5ed00b4b89..0fc554abfea3 100644 type, params); break; -- -2.31.0 +2.31.1 -From 5dee0442a2575000fbd6c90302030ae5740c6af9 Mon Sep 17 00:00:00 2001 +From 43ae7dbec10ec94c1643bce67310511a618c870b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Fri, 26 Mar 2021 15:32:16 +0100 Subject: [PATCH] mwifiex: Properly initialize private structure on interface @@ -2095,9 +2095,9 @@ index 0fc554abfea3..7c6d31eb058c 100644 default: mwifiex_dbg(adapter, ERROR, -- -2.31.0 +2.31.1 -From d4935b972499b2a37a4f088d842909b708f23bc5 Mon Sep 17 00:00:00 2001 +From d0a26bd105768e953d343b6ee50cca59f4062962 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= Date: Sat, 27 Mar 2021 12:19:14 +0100 Subject: [PATCH] mwifiex: Fix copy-paste mistake when creating virtual @@ -2127,5 +2127,5 @@ index 7c6d31eb058c..16a94f06a518 100644 priv->bss_started = 0; -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0008-surface-gpe.patch b/patches/4.19/0008-surface-gpe.patch index fe0ecaaab..29f88d167 100644 --- a/patches/4.19/0008-surface-gpe.patch +++ b/patches/4.19/0008-surface-gpe.patch @@ -1,4 +1,4 @@ -From bbcf7ae2f4a934812ea37fb8cb6691adf763d7a7 Mon Sep 17 00:00:00 2001 +From 3fbd87709e219b96810001527d35c20be17647e7 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 @@ -390,5 +390,5 @@ index 000000000000..7eaaeacbf408 +MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurfaceLaptop2:*"); +MODULE_ALIAS("dmi:*:svnMicrosoftCorporation:pnSurfaceLaptop3:*"); -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0009-surface-sam-over-hid.patch b/patches/4.19/0009-surface-sam-over-hid.patch index b33103639..ead785565 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 814de5369a3c4f4a90828d2adf08dca61a828cf3 Mon Sep 17 00:00:00 2001 +From 43c7faabee094f9124a878f06b131f7bf27025d0 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 @@ -107,9 +107,9 @@ index 8ba4122fb340..f9a24b56fec0 100644 dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n", accessor_type, client->addr); -- -2.31.0 +2.31.1 -From 962d8a7c6f6c8a8f3ca2279417ed213b41e641a2 Mon Sep 17 00:00:00 2001 +From 5507ebf3dd4f1f19015c55e69317a501b730bf13 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 @@ -330,5 +330,5 @@ index 000000000000..8c66ed5110fd +MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1"); +MODULE_LICENSE("GPL"); -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0010-surface-sam.patch b/patches/4.19/0010-surface-sam.patch index 66ec2ecb8..d7af8bf42 100644 --- a/patches/4.19/0010-surface-sam.patch +++ b/patches/4.19/0010-surface-sam.patch @@ -1,4 +1,4 @@ -From 40e6f0f5994a24675197fd731493c9f767b0b8f5 Mon Sep 17 00:00:00 2001 +From 900419eddae69fa11f7e14b3ba56b0bf72815f3e 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 @@ -79,9 +79,9 @@ index b272c329d45d..cf547883a993 100644 } else { /* IPMI */ -- -2.31.0 +2.31.1 -From 1eda8dd25f1d24f5d4fc533d459e9139671c370d Mon Sep 17 00:00:00 2001 +From 68acbd80a83eb4f71f530c64b0ad1141fd4d8861 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 @@ -267,9 +267,9 @@ index c66a04d24f1d..1b18d12d217f 100644 if (!ctrl->serdev) return -ENODEV; -- -2.31.0 +2.31.1 -From 9435d33972cfa3f7ec1d54c0f5b63aa8bae8de6b Mon Sep 17 00:00:00 2001 +From 247b3d408a582c35f84431e9ab84d084c71a0222 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 @@ -368,9 +368,9 @@ index 7f40b6aab689..76e3b1d7db45 100644 /* Create MODULE_ALIAS() statements. -- -2.31.0 +2.31.1 -From 0b61b08d16cf3e36d8aad06b5068f57f0e8eaaa2 Mon Sep 17 00:00:00 2001 +From b0d09c327b317a95163eb5468929158a0dfd2260 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 @@ -432,8 +432,8 @@ Patchset: surface-sam drivers/platform/x86/surface_perfmode.c | 122 + drivers/power/supply/Kconfig | 32 + drivers/power/supply/Makefile | 2 + - drivers/power/supply/surface_battery.c | 897 ++++++ - drivers/power/supply/surface_charger.c | 296 ++ + drivers/power/supply/surface_battery.c | 806 ++++++ + drivers/power/supply/surface_charger.c | 282 ++ include/linux/mod_devicetable.h | 5 +- include/linux/surface_acpi_notify.h | 39 + include/linux/surface_aggregator/controller.h | 824 ++++++ @@ -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, 19213 insertions(+), 7 deletions(-) + 55 files changed, 19108 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 @@ -15147,7 +15147,7 @@ index 000000000000..1b87bdd6dd1e +MODULE_LICENSE("GPL"); diff --git a/drivers/platform/x86/surface_dtx.c b/drivers/platform/x86/surface_dtx.c new file mode 100644 -index 000000000000..93e365e070f1 +index 000000000000..f6abd2d850a3 --- /dev/null +++ b/drivers/platform/x86/surface_dtx.c @@ -0,0 +1,1287 @@ @@ -15800,7 +15800,7 @@ index 000000000000..93e365e070f1 + + default: + return 0; -+ }; ++ } + + if (in->length != len) { + dev_err(ddev->dev, @@ -16619,10 +16619,10 @@ index a26b402c45d9..c8dd853ee382 100644 +obj-$(CONFIG_CHARGER_SURFACE) += surface_charger.o diff --git a/drivers/power/supply/surface_battery.c b/drivers/power/supply/surface_battery.c new file mode 100644 -index 000000000000..bcbd7ca1f9f1 +index 000000000000..0aef4afdc6bf --- /dev/null +++ b/drivers/power/supply/surface_battery.c -@@ -0,0 +1,897 @@ +@@ -0,0 +1,806 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Battery driver for 7th-generation Microsoft Surface devices via Surface @@ -16768,7 +16768,7 @@ index 000000000000..bcbd7ca1f9f1 +/* -- State management. ----------------------------------------------------- */ + +/* -+ * Delay for battery update quirk. See spwr_battery_recheck_adapter() below ++ * Delay for battery update quirk. See spwr_external_power_changed() below + * for more details. + */ +#define SPWR_AC_BAT_UPDATE_DELAY msecs_to_jiffies(5000) @@ -16961,21 +16961,6 @@ index 000000000000..bcbd7ca1f9f1 + return status; +} + -+static int spwr_battery_recheck_adapter(struct spwr_battery_device *bat) -+{ -+ /* -+ * Handle battery update quirk: When the battery is fully charged (or -+ * charged up to the limit imposed by the UEFI battery limit) and the -+ * adapter is plugged in or removed, the EC does not send a separate -+ * event for the state (charging/discharging) change. Furthermore it -+ * may take some time until the state is updated on the battery. -+ * Schedule an update to solve this. -+ */ -+ -+ schedule_delayed_work(&bat->update_work, SPWR_AC_BAT_UPDATE_DELAY); -+ return 0; -+} -+ +static u32 spwr_notify_bat(struct ssam_event_notifier *nf, const struct ssam_event *event) +{ + struct spwr_battery_device *bat = container_of(nf, struct spwr_battery_device, notif); @@ -16984,18 +16969,6 @@ index 000000000000..bcbd7ca1f9f1 + dev_dbg(&bat->sdev->dev, "power event (cid = %#04x, iid = %#04x, tid = %#04x)\n", + event->command_id, event->instance_id, event->target_id); + -+ /* Handled here, needs to be handled for all targets/instances. */ -+ if (event->command_id == SAM_EVENT_CID_BAT_ADP) { -+ status = spwr_battery_recheck_adapter(bat); -+ return ssam_notifier_from_errno(status) | SSAM_NOTIF_HANDLED; -+ } -+ -+ if (bat->sdev->uid.target != event->target_id) -+ return 0; -+ -+ if (bat->sdev->uid.instance != event->instance_id) -+ return 0; -+ + switch (event->command_id) { + case SAM_EVENT_CID_BAT_BIX: + status = spwr_battery_recheck_full(bat); @@ -17036,11 +17009,28 @@ index 000000000000..bcbd7ca1f9f1 + bat = container_of(dwork, struct spwr_battery_device, update_work); + + status = spwr_battery_update_bst(bat, false); -+ if (!status) -+ power_supply_changed(bat->psy); -+ -+ if (status) ++ if (status) { + dev_err(&bat->sdev->dev, "failed to update battery state: %d\n", status); ++ return; ++ } ++ ++ power_supply_changed(bat->psy); ++} ++ ++static void spwr_external_power_changed(struct power_supply *psy) ++{ ++ struct spwr_battery_device *bat = power_supply_get_drvdata(psy); ++ ++ /* ++ * Handle battery update quirk: When the battery is fully charged (or ++ * charged up to the limit imposed by the UEFI battery limit) and the ++ * adapter is plugged in or removed, the EC does not send a separate ++ * event for the state (charging/discharging) change. Furthermore it ++ * may take some time until the state is updated on the battery. ++ * Schedule an update to solve this. ++ */ ++ ++ schedule_delayed_work(&bat->update_work, SPWR_AC_BAT_UPDATE_DELAY); +} + + @@ -17134,10 +17124,10 @@ index 000000000000..bcbd7ca1f9f1 + lockdep_assert_held(&bat->lock); + + if (full_cap == 0 || full_cap == SPWR_BATTERY_VALUE_UNKNOWN) -+ return -ENODEV; ++ return -ENODATA; + + if (remaining_cap == SPWR_BATTERY_VALUE_UNKNOWN) -+ return -ENODEV; ++ return -ENODATA; + + return remaining_cap * 100 / full_cap; +} @@ -17198,7 +17188,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN: @@ -17206,7 +17196,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value * 1000; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_VOLTAGE_NOW: @@ -17214,7 +17204,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value * 1000; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_CURRENT_NOW: @@ -17223,7 +17213,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value * 1000; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_CHARGE_FULL_DESIGN: @@ -17232,7 +17222,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value * 1000; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_CHARGE_FULL: @@ -17241,7 +17231,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value * 1000; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_CHARGE_NOW: @@ -17250,7 +17240,7 @@ index 000000000000..bcbd7ca1f9f1 + if (value != SPWR_BATTERY_VALUE_UNKNOWN) + val->intval = value * 1000; + else -+ status = -ENODEV; ++ status = -ENODATA; + break; + + case POWER_SUPPLY_PROP_CAPACITY: @@ -17284,57 +17274,6 @@ index 000000000000..bcbd7ca1f9f1 +} + + -+/* -- Alarm attribute. ------------------------------------------------------ */ -+ -+static ssize_t spwr_battery_alarm_show(struct device *dev, struct device_attribute *attr, char *buf) -+{ -+ struct power_supply *psy = dev_get_drvdata(dev); -+ struct spwr_battery_device *bat = power_supply_get_drvdata(psy); -+ int status; -+ -+ mutex_lock(&bat->lock); -+ status = scnprintf(buf, PAGE_SIZE, "%d\n", bat->alarm * 1000); -+ mutex_unlock(&bat->lock); -+ -+ return status; -+} -+ -+static ssize_t spwr_battery_alarm_store(struct device *dev, struct device_attribute *attr, -+ const char *buf, size_t count) -+{ -+ struct power_supply *psy = dev_get_drvdata(dev); -+ struct spwr_battery_device *bat = power_supply_get_drvdata(psy); -+ unsigned long value; -+ int status; -+ -+ status = kstrtoul(buf, 0, &value); -+ if (status) -+ return status; -+ -+ mutex_lock(&bat->lock); -+ -+ if (!spwr_battery_present(bat)) { -+ mutex_unlock(&bat->lock); -+ return -ENODEV; -+ } -+ -+ status = spwr_battery_set_alarm_unlocked(bat, value / 1000); -+ if (status) { -+ mutex_unlock(&bat->lock); -+ return status; -+ } -+ -+ mutex_unlock(&bat->lock); -+ return count; -+} -+ -+static const struct device_attribute alarm_attr = { -+ .attr = {.name = "alarm", .mode = 0644}, -+ .show = spwr_battery_alarm_show, -+ .store = spwr_battery_alarm_store, -+}; -+ -+ +/* -- Device setup. --------------------------------------------------------- */ + +static void spwr_battery_init(struct spwr_battery_device *bat, struct ssam_device *sdev, @@ -17350,7 +17289,7 @@ index 000000000000..bcbd7ca1f9f1 + bat->notif.event.reg = registry; + bat->notif.event.id.target_category = sdev->uid.category; + bat->notif.event.id.instance = 0; -+ bat->notif.event.mask = SSAM_EVENT_MASK_NONE; ++ bat->notif.event.mask = SSAM_EVENT_MASK_STRICT; + bat->notif.event.flags = SSAM_EVENT_SEQUENCED; + + bat->psy_desc.name = bat->name; @@ -17360,11 +17299,6 @@ index 000000000000..bcbd7ca1f9f1 + INIT_DELAYED_WORK(&bat->update_work, spwr_battery_update_bst_workfn); +} + -+static void spwr_battery_destroy(struct spwr_battery_device *bat) -+{ -+ mutex_destroy(&bat->lock); -+} -+ +static int spwr_battery_register(struct spwr_battery_device *bat) +{ + struct power_supply_config psy_cfg = {}; @@ -17400,6 +17334,8 @@ index 000000000000..bcbd7ca1f9f1 + + mutex_unlock(&bat->lock); + ++ bat->psy_desc.external_power_changed = spwr_external_power_changed; ++ + switch (get_unaligned_le32(&bat->bix.power_unit)) { + case SAM_BATTERY_POWER_UNIT_mW: + bat->psy_desc.properties = spwr_battery_props_eng; @@ -17418,33 +17354,11 @@ index 000000000000..bcbd7ca1f9f1 + } + + psy_cfg.drv_data = bat; -+ bat->psy = power_supply_register(&bat->sdev->dev, &bat->psy_desc, &psy_cfg); ++ bat->psy = devm_power_supply_register(&bat->sdev->dev, &bat->psy_desc, &psy_cfg); + if (IS_ERR(bat->psy)) + return PTR_ERR(bat->psy); + -+ status = ssam_notifier_register(bat->sdev->ctrl, &bat->notif); -+ if (status) -+ goto err_notif; -+ -+ status = device_create_file(&bat->psy->dev, &alarm_attr); -+ if (status) -+ goto err_file; -+ -+ return 0; -+ -+err_file: -+ ssam_notifier_unregister(bat->sdev->ctrl, &bat->notif); -+err_notif: -+ power_supply_unregister(bat->psy); -+ return status; -+} -+ -+static void spwr_battery_unregister(struct spwr_battery_device *bat) -+{ -+ ssam_notifier_unregister(bat->sdev->ctrl, &bat->notif); -+ cancel_delayed_work_sync(&bat->update_work); -+ device_remove_file(&bat->psy->dev, &alarm_attr); -+ power_supply_unregister(bat->psy); ++ return ssam_notifier_register(bat->sdev->ctrl, &bat->notif); +} + + @@ -17460,7 +17374,6 @@ index 000000000000..bcbd7ca1f9f1 +{ + const struct spwr_psy_properties *p; + struct spwr_battery_device *bat; -+ int status; + + p = ssam_device_get_match_data(sdev); + if (!p) @@ -17473,19 +17386,15 @@ index 000000000000..bcbd7ca1f9f1 + spwr_battery_init(bat, sdev, p->registry, p->name); + ssam_device_set_drvdata(sdev, bat); + -+ status = spwr_battery_register(bat); -+ if (status) -+ spwr_battery_destroy(bat); -+ -+ return status; ++ return spwr_battery_register(bat); +} + +static void surface_battery_remove(struct ssam_device *sdev) +{ + struct spwr_battery_device *bat = ssam_device_get_drvdata(sdev); + -+ spwr_battery_unregister(bat); -+ spwr_battery_destroy(bat); ++ ssam_notifier_unregister(sdev->ctrl, &bat->notif); ++ cancel_delayed_work_sync(&bat->update_work); +} + +static const struct spwr_psy_properties spwr_psy_props_bat1 = { @@ -17522,10 +17431,10 @@ index 000000000000..bcbd7ca1f9f1 +MODULE_LICENSE("GPL"); diff --git a/drivers/power/supply/surface_charger.c b/drivers/power/supply/surface_charger.c new file mode 100644 -index 000000000000..982f9b9ef6f5 +index 000000000000..4b30b482b457 --- /dev/null +++ b/drivers/power/supply/surface_charger.c -@@ -0,0 +1,296 @@ +@@ -0,0 +1,282 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * AC driver for 7th-generation Microsoft Surface devices via Surface System @@ -17694,6 +17603,11 @@ index 000000000000..982f9b9ef6f5 + +/* -- Device setup. --------------------------------------------------------- */ + ++static char *battery_supplied_to[] = { ++ "BAT1", ++ "BAT2", ++}; ++ +static void spwr_ac_init(struct spwr_ac_device *ac, struct ssam_device *sdev, + struct ssam_event_registry registry, const char *name) +{ @@ -17717,11 +17631,6 @@ index 000000000000..982f9b9ef6f5 + ac->psy_desc.get_property = spwr_ac_get_property; +} + -+static void spwr_ac_destroy(struct spwr_ac_device *ac) -+{ -+ mutex_destroy(&ac->lock); -+} -+ +static int spwr_ac_register(struct spwr_ac_device *ac) +{ + struct power_supply_config psy_cfg = {}; @@ -17737,22 +17646,14 @@ index 000000000000..982f9b9ef6f5 + return -ENODEV; + + psy_cfg.drv_data = ac; -+ ac->psy = power_supply_register(&ac->sdev->dev, &ac->psy_desc, &psy_cfg); ++ psy_cfg.supplied_to = battery_supplied_to; ++ psy_cfg.num_supplicants = ARRAY_SIZE(battery_supplied_to); ++ ++ ac->psy = devm_power_supply_register(&ac->sdev->dev, &ac->psy_desc, &psy_cfg); + if (IS_ERR(ac->psy)) + return PTR_ERR(ac->psy); + -+ status = ssam_notifier_register(ac->sdev->ctrl, &ac->notif); -+ if (status) -+ power_supply_unregister(ac->psy); -+ -+ return status; -+} -+ -+static int spwr_ac_unregister(struct spwr_ac_device *ac) -+{ -+ ssam_notifier_unregister(ac->sdev->ctrl, &ac->notif); -+ power_supply_unregister(ac->psy); -+ return 0; ++ return ssam_notifier_register(ac->sdev->ctrl, &ac->notif); +} + + @@ -17768,7 +17669,6 @@ index 000000000000..982f9b9ef6f5 +{ + const struct spwr_psy_properties *p; + struct spwr_ac_device *ac; -+ int status; + + p = ssam_device_get_match_data(sdev); + if (!p) @@ -17781,19 +17681,14 @@ index 000000000000..982f9b9ef6f5 + spwr_ac_init(ac, sdev, p->registry, p->name); + ssam_device_set_drvdata(sdev, ac); + -+ status = spwr_ac_register(ac); -+ if (status) -+ spwr_ac_destroy(ac); -+ -+ return status; ++ return spwr_ac_register(ac); +} + +static void surface_ac_remove(struct ssam_device *sdev) +{ + struct spwr_ac_device *ac = ssam_device_get_drvdata(sdev); + -+ spwr_ac_unregister(ac); -+ spwr_ac_destroy(ac); ++ ssam_notifier_unregister(sdev->ctrl, &ac->notif); +} + +static const struct spwr_psy_properties spwr_psy_props_adp1 = { @@ -20106,5 +20001,5 @@ index 76e3b1d7db45..f171616ab318 100644 ADD(alias, "f", match_flags & SSAM_MATCH_FUNCTION, function); -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0011-surface-hotplug.patch b/patches/4.19/0011-surface-hotplug.patch index 36b535fd9..f0a573bec 100644 --- a/patches/4.19/0011-surface-hotplug.patch +++ b/patches/4.19/0011-surface-hotplug.patch @@ -1,4 +1,4 @@ -From 409e4b0e04805ade669e80e790d9d69d095542d1 Mon Sep 17 00:00:00 2001 +From 32936a8253505e6bd979421d2210863f0912402c 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 @@ -195,9 +195,9 @@ index 5c58c22e0c08..18f83e554c73 100644 pci_lock_rescan_remove(); -- -2.31.0 +2.31.1 -From ef9e0c79e325c4e285ef090bc1c3d74d1a845344 Mon Sep 17 00:00:00 2001 +From 5ff441f7e63c30dd66ccf946ee90c39fa8dfd6d8 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 @@ -334,9 +334,9 @@ index 18f83e554c73..c512b2ed85ed 100644 #include #include -- -2.31.0 +2.31.1 -From 1b683f869aa3c8980663c2ebca2c29b2bb666be6 Mon Sep 17 00:00:00 2001 +From 1501329547f4a846aadee0cde58fa0b508d67f2f 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 @@ -547,9 +547,9 @@ index d4b7049cbc70..576362d0b1cd 100644 struct pci_dev *pdev = ctrl_dev(ctrl); u16 stat_mask = 0, ctrl_mask = 0; -- -2.31.0 +2.31.1 -From 68f795201525d4c25e0476b1ef24b32fedb42e77 Mon Sep 17 00:00:00 2001 +From 89e68119dbb90fc18110be3fd9300111c18eb3b7 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 @@ -745,9 +745,9 @@ index 576362d0b1cd..7f4173d6771a 100644 pciehp_power_off_slot(ctrl->slot); } -- -2.31.0 +2.31.1 -From 3645dd3df6deb52583d3bb60cfcd34e55c4c7105 Mon Sep 17 00:00:00 2001 +From 7df99b5c238106f0f50f710f98a64bbfafdff51b 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 @@ -790,9 +790,9 @@ index cb474338f39d..18aa830e79e4 100644 if (pdev->link_state) -- -2.31.0 +2.31.1 -From f24038ccb2f063b826a9c9dec6cc8128d45d2dc1 Mon Sep 17 00:00:00 2001 +From 8440f1713e6d5867d2ca2ae04f846509c7aa4998 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 @@ -876,9 +876,9 @@ index 2c3b5bd59b18..dee5a7507403 100644 result = reset_link(udev, service); -- -2.31.0 +2.31.1 -From 4bae59c48bc02c2f1883007fae55b1efaabc6321 Mon Sep 17 00:00:00 2001 +From b4a04a144ecdd35bf98ebb4ecb7c9a2425dbc485 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 @@ -2068,9 +2068,9 @@ index 8da87931bd45..b9c1396db6fe 100644 ctrl_dbg(ctrl, "%s: domain:bus:dev = %04x:%02x:00\n", __func__, pci_domain_nr(parent), parent->number); -- -2.31.0 +2.31.1 -From c859165e11b72f29a611692e7c4de24a0e1605eb Mon Sep 17 00:00:00 2001 +From b3d355fba3a64c6469f4cd565796205d66239041 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 @@ -2375,9 +2375,9 @@ index 4a17d71e15d3..e4d6ec960630 100644 } -- -2.31.0 +2.31.1 -From 82da1298706ea01fccfe3733cfce6a89d818871b Mon Sep 17 00:00:00 2001 +From 7965dea44558f973fed8197c03aae612ac3f16f4 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 @@ -2506,9 +2506,9 @@ index 2499489158cc..df82a0335515 100644 int request_result; wait_queue_head_t requester; -- -2.31.0 +2.31.1 -From 1f709c3fab76965232f69a39d26b82202c8bd3fc Mon Sep 17 00:00:00 2001 +From 2b6a2237ddb62b4c251b8cbe8b0bf7ed2007ebca 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 @@ -2703,9 +2703,9 @@ index ec6c48ecd7d5..74c8e9190fed 100644 atomic_t enable_cnt; /* pci_enable_device has been called */ -- -2.31.0 +2.31.1 -From 6f6e8ad98c26848ceabcf7083994614b31ff7ba4 Mon Sep 17 00:00:00 2001 +From 245f9609c1d5a13942ed673a813800b377e8275c 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() @@ -2754,9 +2754,9 @@ index 2d437c40f83b..4a874e8fa1d5 100644 /* Don't do the same thing twice in a row for one device. */ -- -2.31.0 +2.31.1 -From 2b3ee56386a9a934be2bfe3231c8585f27ba9ec8 Mon Sep 17 00:00:00 2001 +From daa2f8ac9722fee94cd8917067e9421b7049db5f 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 @@ -2868,9 +2868,9 @@ index 0693870a9e24..b5c7f5ef597a 100644 * pciehp has a 1:1 bus:slot relationship so we ultimately want a secondary * bus reset of the bridge, but at the same time we want to ensure that it is -- -2.31.0 +2.31.1 -From e0179087b123bff3bfb5c6a681f05d001ab50bc0 Mon Sep 17 00:00:00 2001 +From 68952d2bb2ce34e97fa7580a529c7dcc1bd135f5 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 @@ -2910,9 +2910,9 @@ index b5c7f5ef597a..242b9f30210a 100644 /* -- -2.31.0 +2.31.1 -From 796c9fa2533e540c08b5ebf3ddf3771600ade0d9 Mon Sep 17 00:00:00 2001 +From 3e04fc09f35a044af9f5f3a6a8898264ed2abeea 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 @@ -2963,9 +2963,9 @@ index 23a5a0c2c3fe..5badf8a1ce0a 100644 if (pci_bridge_d3_possible(dev)) { /* -- -2.31.0 +2.31.1 -From 4d9f6f415d5d8929c0efba821b964398f77a55ad Mon Sep 17 00:00:00 2001 +From 873adacfbe6639e22f473b469899d830c7aaaad1 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 @@ -3075,9 +3075,9 @@ index 5badf8a1ce0a..59d2567e2db2 100644 }; -- -2.31.0 +2.31.1 -From 2c12db73a0055836c77b070e3a89c49add66f334 Mon Sep 17 00:00:00 2001 +From 2bddb8adbf5e3571c9ccac8228fba175698c6a1f 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 @@ -3132,9 +3132,9 @@ index 8e6e4ce869fb..e5de25ebc4cf 100644 }; -- -2.31.0 +2.31.1 -From 6f72794bc189f1ed83079fb0a9805bec0e1fd718 Mon Sep 17 00:00:00 2001 +From f56d3923f4d034a30806927b9429daa09f486e9c 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 @@ -3372,7 +3372,7 @@ index 51b4cf9f25da..130df1c8ed7d 100644 out_free: ACPI_FREE(props); diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c -index 18f5973b9697..dd7c6b247c01 100644 +index 4ad34c6803ad..721048243d6d 100644 --- a/drivers/gpio/gpiolib-acpi.c +++ b/drivers/gpio/gpiolib-acpi.c @@ -1300,7 +1300,7 @@ int acpi_gpio_count(struct device *dev, const char *con_id) @@ -3385,10 +3385,10 @@ index 18f5973b9697..dd7c6b247c01 100644 return con_id == NULL; diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h -index d9773df60a36..f25d3b37c0ae 100644 +index 8b19618bad0a..af01d052f736 100644 --- a/include/acpi/acpi_bus.h +++ b/include/acpi/acpi_bus.h -@@ -346,10 +346,16 @@ struct acpi_device_physical_node { +@@ -347,10 +347,16 @@ struct acpi_device_physical_node { bool put_online:1; }; @@ -3427,9 +3427,9 @@ index 019468f072b7..2b2d92863923 100644 void **valptr); int acpi_dev_prop_read_single(struct acpi_device *adev, -- -2.31.0 +2.31.1 -From 4be1301a73705b0928870c2521e849e7c08ffd42 Mon Sep 17 00:00:00 2001 +From 811f39fb61f340c52ac90f3192b9006e435c1d46 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 @@ -3592,9 +3592,9 @@ index e9ede82ee2c2..0a5efc437bd1 100644 int (*set_state)(struct pci_dev *dev, pci_power_t state); pci_power_t (*get_state)(struct pci_dev *dev); -- -2.31.0 +2.31.1 -From 51d6fb417a66f00690a88007d9572efd740e1ff4 Mon Sep 17 00:00:00 2001 +From 297e2c04935411c1f515901333bd3b9b2ad2af8f 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 @@ -3646,9 +3646,9 @@ index 242b9f30210a..7074d4923811 100644 /* * Controllers with the Intel CF118 and similar errata advertise -- -2.31.0 +2.31.1 -From e3e02f02fead629703040c9ebea6593f10cbf0c2 Mon Sep 17 00:00:00 2001 +From e63b8d162dacb137e43889aef82e56cc4b9b3f2c 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 @@ -3735,9 +3735,9 @@ index 7074d4923811..a37ff79a6e9e 100644 /* -- -2.31.0 +2.31.1 -From a8c7db053193d1415988154b8285f4225e9a2845 Mon Sep 17 00:00:00 2001 +From 7b743f564849a013590718ae1f87931a2ab27fa7 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 @@ -3820,9 +3820,9 @@ index a60eb5780cc0..65bb9c2c1a5b 100644 if (dmi_check_system(bridge_d3_blacklist)) return false; -- -2.31.0 +2.31.1 -From 305720c6a37a395a2ae101469ac8921dc9a3715d Mon Sep 17 00:00:00 2001 +From 6ba8801cab94b75444606335d19ad717f8bfb17b 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 @@ -3893,9 +3893,9 @@ index 1edf5a1836ea..ee1518650d55 100644 &dev_attr_vendor.attr, &dev_attr_device.attr, -- -2.31.0 +2.31.1 -From 2aa3d716e1b36de1466eff662830721cbb12365a Mon Sep 17 00:00:00 2001 +From ed2b56d8fa7ae4e93fa8bd918fa83eb8d1ba1244 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Tue, 16 Mar 2021 16:51:40 +0100 Subject: [PATCH] PCI: PM: Do not read power state in pci_enable_device_flags() @@ -3961,9 +3961,9 @@ index 65bb9c2c1a5b..5f3f35d314c3 100644 bridge = pci_upstream_bridge(dev); if (bridge) -- -2.31.0 +2.31.1 -From 2f4bec195ebab9b5d532359e9dfe94e222637ebd Mon Sep 17 00:00:00 2001 +From 6809b59b49cdd8ce570615f5ec209b042c61c9b2 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 @@ -4313,5 +4313,5 @@ index 000000000000..cfcc15cfbacb +MODULE_DESCRIPTION("Surface Hot-Plug Signaling Driver for Surface Book Devices"); +MODULE_LICENSE("GPL"); -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0012-surface-typecover.patch b/patches/4.19/0012-surface-typecover.patch index 210443442..731f2261f 100644 --- a/patches/4.19/0012-surface-typecover.patch +++ b/patches/4.19/0012-surface-typecover.patch @@ -1,4 +1,4 @@ -From 6685c04697aeb4561fd14fc20af6983b8c35f7eb Mon Sep 17 00:00:00 2001 +From 1598d3916be42d1df5057f0a105a104c542a7827 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 @@ -229,5 +229,5 @@ index ccda72f748ee..96fb231fd266 100644 { .driver_data = MT_CLS_GOOGLE, HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE, -- -2.31.0 +2.31.1 diff --git a/patches/4.19/0013-ath10k-firmware-override.patch b/patches/4.19/0013-ath10k-firmware-override.patch index a59e6adc3..b13bce644 100644 --- a/patches/4.19/0013-ath10k-firmware-override.patch +++ b/patches/4.19/0013-ath10k-firmware-override.patch @@ -1,4 +1,4 @@ -From abb8d9b0569cb3c2ebfa130888df618c4f577808 Mon Sep 17 00:00:00 2001 +From f60a84abb8fe9758170c71ff52ce6c3e721a3079 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 @@ -117,5 +117,5 @@ index 436eac342b62..c9028d59bfe2 100644 ret = firmware_request_nowarn(&fw, filename, ar->dev); ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n", -- -2.31.0 +2.31.1 diff --git a/pkg/arch/kernel-lts/PKGBUILD b/pkg/arch/kernel-lts/PKGBUILD index 996be740e..623e81ce5 100644 --- a/pkg/arch/kernel-lts/PKGBUILD +++ b/pkg/arch/kernel-lts/PKGBUILD @@ -45,19 +45,19 @@ sha256sums=('bacfd95ddf51df70b2962fc685b5217fc449e644f16996e49d87eb259b84a5f5' '4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6' 'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2' 'c523d8ba9f02992c34b325cd7b07e27bfead33ecab29877e659a12b2d56b1118' - '3b9ccfbecd4c0f863d9827474a7ff539bcb567fac71702c7d1ec0e0f6ef3b395' - 'ce3d7f436db1921133f5d5ea690f6da4a826baff7ba028b8fcac95a9f8b9b05b' - '4da5f9717c44cac5192a499aad8f59f93059fd7b789900a14b1b688a1fc10868' - '5df438b90ed0c927f332e3be5f57bbc3f27e3a0614503e86240c043e39821e1f' - '764b81b2b0d000ae504f6fde010f24bfce11ff3c51f69095690cca5fec6902c6' - '8fa229294ba09ecedb87e5bb068ae1f4269f2d762eb24048cae7ea7c9bdb6f26' - '1654b5c309cedbbf66707e2a41bac94500877bc07f753022b4fb87765fdaa223' - '7164181b7eea79594b87a7c7466f9f60d2ce342d400d8952cac9aa221c1c20d5' - '1c23d9a09308bf0718be8f3b2926d64fe1bf2032b419b5e9fef1a7d3c3583576' - '2fef563d542f29ace07423ce65dbd9d69c42fed1489006854b286681b6a12bed' - '5abe86145b507a1bee0ef7292a4297f4e39911367e65ffd0a8e74e4eb3c78ad9' - '0852b52ef56722222f821b61d9fcce6ad605e0cda25892295661e19412029579' - '80bb49f6a6902b184c80f895797ef263cf6d3e9276e474430094ad323b4f41cb') + '815e084784acbcd1054921d2ed8c8a55e02680d9f338685370fca86ca0ca262f' + '061d6e2f364594506ac3c381be95bbe514c021361d02fcf6c4d648c900879294' + '93a1b7047ee684e4247f674ea612f28a49984254c12db38ef5d31ba9465c86b5' + '8e589623fd9c8ad8a6932f4c53b3de7a1b3902eb499eab9e08783d8850bedad5' + 'bfa5e1d3f93b0ca22bf9f50e00a017830318d6d6c5a7455424a0047b9f5b77a4' + '95f69f3427e89833d25e65c0c2562f0f55242e0d877a5a5b8e1f938467948638' + '476a2449781a88e3afd1c6fa4c9569425bf071322423e8130d3e0d46f11e7696' + 'aaaf0da127ddce8b3b9f3469679d893e464411d171c22197f2f1ffe4a40b0fe9' + '3e104e0daf6a25ff54a2ca7818f703acae2449d1588d34f29ad8fca2bb089714' + '98af9cd82b2b1fff8fe26756156ee22ffc9500c812d06111738ca5bae28da1a1' + '3708ea9339ac4476b8356d68462bf24552dabd485ec56af8bb2ced09108aac65' + '28a1c13e691dc957e3807d78ac80a98ce3f3ddb5818ac492eed2f5a518ef4f06' + '540b2c73d5abfa4832070968e696b7149ebc71e38f610df275cb670422482bdc') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase