瀏覽代碼

Update v6.9 patches

Changes:
 - Update ITHC
   - Enable support for SL6 and SP10
   - Add Fixes for SP8
   - Based on https://github.com/quo/ithc-linux/commit/34539af4726d970f9765363bb78b5fd920611a0b

 Links:
  - kernel: https://github.com/linux-surface/kernel/commit/22cdd5415bd4420622e1a3439f2975ffde071801
Maximilian Luz 11 月之前
父節點
當前提交
5e25cad4d0

+ 3 - 3
patches/6.9/0001-secureboot.patch

@@ -1,4 +1,4 @@
-From a4b96f72850f2e7259e12c3a4a9d59131078a49e Mon Sep 17 00:00:00 2001
+From 0a65c8b311295b6fda9386f397a4adc1e3dc28b5 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 9 Jun 2024 19:48:58 +0200
 Subject: [PATCH] Revert "efi/x86: Set the PE/COFF header's NX compat flag
@@ -17,7 +17,7 @@ Patchset: secureboot
  1 file changed, 4 insertions(+)
 
 diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
-index b5c79f43359bc..a1bbedd989e42 100644
+index b5c79f43359b..a1bbedd989e4 100644
 --- a/arch/x86/boot/header.S
 +++ b/arch/x86/boot/header.S
 @@ -111,7 +111,11 @@ extra_header_fields:
@@ -33,5 +33,5 @@ index b5c79f43359bc..a1bbedd989e42 100644
  	.long	0				# SizeOfStackReserve
  	.long	0				# SizeOfStackCommit
 -- 
-2.45.1
+2.45.2
 

+ 5 - 5
patches/6.9/0002-surface3-oemb.patch

@@ -1,4 +1,4 @@
-From c70635debfb516e9fd4e6e1a627a184ef1a7ebf9 Mon Sep 17 00:00:00 2001
+From 3878b34a7bc634d6293876adb4f66f7ba332eb4a 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
@@ -40,7 +40,7 @@ Patchset: surface3-oemb
  3 files changed, 24 insertions(+)
 
 diff --git a/drivers/platform/surface/surface3-wmi.c b/drivers/platform/surface/surface3-wmi.c
-index c15ed7a12784a..1ec8edb5aafaf 100644
+index c15ed7a12784..1ec8edb5aafa 100644
 --- a/drivers/platform/surface/surface3-wmi.c
 +++ b/drivers/platform/surface/surface3-wmi.c
 @@ -37,6 +37,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
@@ -58,7 +58,7 @@ index c15ed7a12784a..1ec8edb5aafaf 100644
  	{ }
  };
 diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
-index d0d24a53df746..43e06166a5d95 100644
+index d0d24a53df74..43e06166a5d9 100644
 --- a/sound/soc/codecs/rt5645.c
 +++ b/sound/soc/codecs/rt5645.c
 @@ -3777,6 +3777,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
@@ -78,7 +78,7 @@ index d0d24a53df746..43e06166a5d95 100644
  		/*
  		 * Match for the GPDwin which unfortunately uses somewhat
 diff --git a/sound/soc/intel/common/soc-acpi-intel-cht-match.c b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
-index 5e2ec60e2954b..207868c699f29 100644
+index 5e2ec60e2954..207868c699f2 100644
 --- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 +++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
 @@ -27,6 +27,14 @@ static const struct dmi_system_id cht_table[] = {
@@ -97,5 +97,5 @@ index 5e2ec60e2954b..207868c699f29 100644
  };
  
 -- 
-2.45.1
+2.45.2
 

+ 13 - 13
patches/6.9/0003-mwifiex.patch

@@ -1,4 +1,4 @@
-From 7a613d68d8ec81985333f0ccbd3c7e2515a8396c Mon Sep 17 00:00:00 2001
+From 20f0445b1c1b466002feed9461a2244c4426ea21 Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Tue, 3 Nov 2020 13:28:04 +0100
 Subject: [PATCH] mwifiex: Add quirk resetting the PCI bridge on MS Surface
@@ -32,7 +32,7 @@ Patchset: mwifiex
  3 files changed, 31 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index 5f997becdbaa2..9a9929424513a 100644
+index 5f997becdbaa..9a9929424513 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
 @@ -1702,9 +1702,21 @@ mwifiex_pcie_send_boot_cmd(struct mwifiex_adapter *adapter, struct sk_buff *skb)
@@ -58,7 +58,7 @@ index 5f997becdbaa2..9a9929424513a 100644
  	mwifiex_write_reg(adapter, reg->rx_rdptr, card->rxbd_rdptr | tx_wrap);
  }
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
-index dd6d21f1dbfd7..f46b06f8d6435 100644
+index dd6d21f1dbfd..f46b06f8d643 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
 @@ -13,7 +13,8 @@ static const struct dmi_system_id mwifiex_quirk_table[] = {
@@ -151,7 +151,7 @@ index dd6d21f1dbfd7..f46b06f8d6435 100644
  
  static void mwifiex_pcie_set_power_d3cold(struct pci_dev *pdev)
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
-index d6ff964aec5bf..5d30ae39d65ec 100644
+index d6ff964aec5b..5d30ae39d65e 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
 @@ -4,6 +4,7 @@
@@ -163,9 +163,9 @@ index d6ff964aec5bf..5d30ae39d65ec 100644
  void mwifiex_initialize_quirks(struct pcie_service_card *card);
  int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
 -- 
-2.45.1
+2.45.2
 
-From 72063300ceaac5353d979ab3fb1c90431d49973d Mon Sep 17 00:00:00 2001
+From a6da6d0ae56bfcb0a6cbb29ffa5084f68d33ff80 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+
@@ -187,7 +187,7 @@ Patchset: mwifiex
  3 files changed, 27 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index 9a9929424513a..2273e30297766 100644
+index 9a9929424513..2273e3029776 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
 @@ -377,6 +377,7 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
@@ -212,7 +212,7 @@ index 9a9929424513a..2273e30297766 100644
  }
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
-index f46b06f8d6435..99b024ecbadea 100644
+index f46b06f8d643..99b024ecbade 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
 @@ -14,7 +14,8 @@ static const struct dmi_system_id mwifiex_quirk_table[] = {
@@ -306,7 +306,7 @@ index f46b06f8d6435..99b024ecbadea 100644
  
  static void mwifiex_pcie_set_power_d3cold(struct pci_dev *pdev)
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
-index 5d30ae39d65ec..c14eb56eb9118 100644
+index 5d30ae39d65e..c14eb56eb911 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie_quirks.h
 @@ -5,6 +5,7 @@
@@ -318,9 +318,9 @@ index 5d30ae39d65ec..c14eb56eb9118 100644
  void mwifiex_initialize_quirks(struct pcie_service_card *card);
  int mwifiex_pcie_reset_d3cold_quirk(struct pci_dev *pdev);
 -- 
-2.45.1
+2.45.2
 
-From ba70b3a57603beac9f007e173a7189ad12056a16 Mon Sep 17 00:00:00 2001
+From 44f49d2976d1b066787084164f231a6752dc056c Mon Sep 17 00:00:00 2001
 From: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= <verdre@v0yd.nl>
 Date: Thu, 25 Mar 2021 11:33:02 +0100
 Subject: [PATCH] Bluetooth: btusb: Lower passive lescan interval on Marvell
@@ -356,7 +356,7 @@ Patchset: mwifiex
  1 file changed, 15 insertions(+)
 
 diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
-index fb716849b60f3..1e7b3798108f7 100644
+index fb716849b60f..1e7b3798108f 100644
 --- a/drivers/bluetooth/btusb.c
 +++ b/drivers/bluetooth/btusb.c
 @@ -65,6 +65,7 @@ static struct usb_driver btusb_driver;
@@ -396,5 +396,5 @@ index fb716849b60f3..1e7b3798108f7 100644
  	    (id->driver_info & BTUSB_MEDIATEK)) {
  		hdev->setup = btusb_mtk_setup;
 -- 
-2.45.1
+2.45.2
 

+ 3 - 3
patches/6.9/0004-ath10k.patch

@@ -1,4 +1,4 @@
-From 3d6d8efe56a7b9ad8cea6616c918f5c057ec97c6 Mon Sep 17 00:00:00 2001
+From f5c625e43ac2d2dcd37ed08391e3a6e40437cc81 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
@@ -20,7 +20,7 @@ Patchset: ath10k
  1 file changed, 58 insertions(+)
 
 diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c
-index fa5e2e6518313..8921b0ebf36b7 100644
+index fa5e2e651831..8921b0ebf36b 100644
 --- a/drivers/net/wireless/ath/ath10k/core.c
 +++ b/drivers/net/wireless/ath/ath10k/core.c
 @@ -39,6 +39,9 @@ static bool fw_diag_log;
@@ -117,5 +117,5 @@ index fa5e2e6518313..8921b0ebf36b7 100644
  	ret = firmware_request_nowarn(&fw, filename, ar->dev);
  	ath10k_dbg(ar, ATH10K_DBG_BOOT, "boot fw request '%s': %d\n",
 -- 
-2.45.1
+2.45.2
 

+ 42 - 42
patches/6.9/0005-ipts.patch

@@ -1,4 +1,4 @@
-From c2d6692b776f0d082e204f153ee9cca409e6aa1d Mon Sep 17 00:00:00 2001
+From 22e330a89ef3a3b8765bffcc67ad1426c715ff46 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Thu, 30 Jul 2020 13:21:53 +0200
 Subject: [PATCH] mei: me: Add Icelake device ID for iTouch
@@ -11,7 +11,7 @@ Patchset: ipts
  2 files changed, 2 insertions(+)
 
 diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
-index c3a6657dcd4a2..82eef2f4eb0a8 100644
+index c3a6657dcd4a..82eef2f4eb0a 100644
 --- a/drivers/misc/mei/hw-me-regs.h
 +++ b/drivers/misc/mei/hw-me-regs.h
 @@ -92,6 +92,7 @@
@@ -23,7 +23,7 @@ index c3a6657dcd4a2..82eef2f4eb0a8 100644
  
  #define MEI_DEV_ID_JSP_N      0x4DE0  /* Jasper Lake Point N */
 diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
-index 6589635f8ba32..a1df48a434e2f 100644
+index 6589635f8ba3..a1df48a434e2 100644
 --- a/drivers/misc/mei/pci-me.c
 +++ b/drivers/misc/mei/pci-me.c
 @@ -97,6 +97,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@@ -35,9 +35,9 @@ index 6589635f8ba32..a1df48a434e2f 100644
  
  	{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
 -- 
-2.45.1
+2.45.2
 
-From 070ffec42eb5b8e6c0403bbcaa86a6bd19323dea Mon Sep 17 00:00:00 2001
+From 11229997041587d1c0613fc274e87b442c6596d9 Mon Sep 17 00:00:00 2001
 From: Liban Hannan <liban.p@gmail.com>
 Date: Tue, 12 Apr 2022 23:31:12 +0100
 Subject: [PATCH] iommu: Use IOMMU passthrough mode for IPTS
@@ -61,7 +61,7 @@ Patchset: ipts
  1 file changed, 29 insertions(+)
 
 diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
-index e4a03588a8a0f..61bc54299a591 100644
+index e4a03588a8a0..61bc54299a59 100644
 --- a/drivers/iommu/intel/iommu.c
 +++ b/drivers/iommu/intel/iommu.c
 @@ -39,6 +39,11 @@
@@ -142,9 +142,9 @@ index e4a03588a8a0f..61bc54299a591 100644
  {
  	if (risky_device(dev))
 -- 
-2.45.1
+2.45.2
 
-From 2e10f861a1556ad45bf1e4a7d5c81806653cdeb7 Mon Sep 17 00:00:00 2001
+From 2bd70f61f21bd369fcb90399530b9d2e63ad91b6 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Sun, 11 Dec 2022 12:00:59 +0100
 Subject: [PATCH] hid: Add support for Intel Precise Touch and Stylus
@@ -211,7 +211,7 @@ Patchset: ipts
  create mode 100644 drivers/hid/ipts/thread.h
 
 diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
-index 4c682c6507040..a263e49b2ae29 100644
+index 4c682c650704..a263e49b2ae2 100644
 --- a/drivers/hid/Kconfig
 +++ b/drivers/hid/Kconfig
 @@ -1351,4 +1351,6 @@ source "drivers/hid/amd-sfh-hid/Kconfig"
@@ -222,7 +222,7 @@ index 4c682c6507040..a263e49b2ae29 100644
 +
  endif # HID_SUPPORT
 diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
-index 082a728eac600..f4bad1b8d813f 100644
+index 082a728eac60..f4bad1b8d813 100644
 --- a/drivers/hid/Makefile
 +++ b/drivers/hid/Makefile
 @@ -170,3 +170,5 @@ obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER)	+= intel-ish-hid/
@@ -233,7 +233,7 @@ index 082a728eac600..f4bad1b8d813f 100644
 +obj-$(CONFIG_HID_IPTS)          += ipts/
 diff --git a/drivers/hid/ipts/Kconfig b/drivers/hid/ipts/Kconfig
 new file mode 100644
-index 0000000000000..297401bd388dd
+index 000000000000..297401bd388d
 --- /dev/null
 +++ b/drivers/hid/ipts/Kconfig
 @@ -0,0 +1,14 @@
@@ -253,7 +253,7 @@ index 0000000000000..297401bd388dd
 +	  module will be called ipts.
 diff --git a/drivers/hid/ipts/Makefile b/drivers/hid/ipts/Makefile
 new file mode 100644
-index 0000000000000..883896f68e6ad
+index 000000000000..883896f68e6a
 --- /dev/null
 +++ b/drivers/hid/ipts/Makefile
 @@ -0,0 +1,16 @@
@@ -275,7 +275,7 @@ index 0000000000000..883896f68e6ad
 +ipts-objs += thread.o
 diff --git a/drivers/hid/ipts/cmd.c b/drivers/hid/ipts/cmd.c
 new file mode 100644
-index 0000000000000..63a4934bbc5fa
+index 000000000000..63a4934bbc5f
 --- /dev/null
 +++ b/drivers/hid/ipts/cmd.c
 @@ -0,0 +1,61 @@
@@ -342,7 +342,7 @@ index 0000000000000..63a4934bbc5fa
 +}
 diff --git a/drivers/hid/ipts/cmd.h b/drivers/hid/ipts/cmd.h
 new file mode 100644
-index 0000000000000..2b4079075b642
+index 000000000000..2b4079075b64
 --- /dev/null
 +++ b/drivers/hid/ipts/cmd.h
 @@ -0,0 +1,60 @@
@@ -408,7 +408,7 @@ index 0000000000000..2b4079075b642
 +#endif /* IPTS_CMD_H */
 diff --git a/drivers/hid/ipts/context.h b/drivers/hid/ipts/context.h
 new file mode 100644
-index 0000000000000..ba33259f1f7c5
+index 000000000000..ba33259f1f7c
 --- /dev/null
 +++ b/drivers/hid/ipts/context.h
 @@ -0,0 +1,52 @@
@@ -466,7 +466,7 @@ index 0000000000000..ba33259f1f7c5
 +#endif /* IPTS_CONTEXT_H */
 diff --git a/drivers/hid/ipts/control.c b/drivers/hid/ipts/control.c
 new file mode 100644
-index 0000000000000..5360842d260ba
+index 000000000000..5360842d260b
 --- /dev/null
 +++ b/drivers/hid/ipts/control.c
 @@ -0,0 +1,486 @@
@@ -958,7 +958,7 @@ index 0000000000000..5360842d260ba
 +}
 diff --git a/drivers/hid/ipts/control.h b/drivers/hid/ipts/control.h
 new file mode 100644
-index 0000000000000..26629c5144edb
+index 000000000000..26629c5144ed
 --- /dev/null
 +++ b/drivers/hid/ipts/control.h
 @@ -0,0 +1,126 @@
@@ -1090,7 +1090,7 @@ index 0000000000000..26629c5144edb
 +#endif /* IPTS_CONTROL_H */
 diff --git a/drivers/hid/ipts/desc.h b/drivers/hid/ipts/desc.h
 new file mode 100644
-index 0000000000000..307438c7c80cd
+index 000000000000..307438c7c80c
 --- /dev/null
 +++ b/drivers/hid/ipts/desc.h
 @@ -0,0 +1,80 @@
@@ -1176,7 +1176,7 @@ index 0000000000000..307438c7c80cd
 +#endif /* IPTS_DESC_H */
 diff --git a/drivers/hid/ipts/eds1.c b/drivers/hid/ipts/eds1.c
 new file mode 100644
-index 0000000000000..ecbb3a8bdaf60
+index 000000000000..ecbb3a8bdaf6
 --- /dev/null
 +++ b/drivers/hid/ipts/eds1.c
 @@ -0,0 +1,103 @@
@@ -1285,7 +1285,7 @@ index 0000000000000..ecbb3a8bdaf60
 +}
 diff --git a/drivers/hid/ipts/eds1.h b/drivers/hid/ipts/eds1.h
 new file mode 100644
-index 0000000000000..eeeb6575e3e89
+index 000000000000..eeeb6575e3e8
 --- /dev/null
 +++ b/drivers/hid/ipts/eds1.h
 @@ -0,0 +1,35 @@
@@ -1326,7 +1326,7 @@ index 0000000000000..eeeb6575e3e89
 +			  enum hid_report_type report_type, enum hid_class_request request_type);
 diff --git a/drivers/hid/ipts/eds2.c b/drivers/hid/ipts/eds2.c
 new file mode 100644
-index 0000000000000..198dc65d78876
+index 000000000000..198dc65d7887
 --- /dev/null
 +++ b/drivers/hid/ipts/eds2.c
 @@ -0,0 +1,144 @@
@@ -1476,7 +1476,7 @@ index 0000000000000..198dc65d78876
 +}
 diff --git a/drivers/hid/ipts/eds2.h b/drivers/hid/ipts/eds2.h
 new file mode 100644
-index 0000000000000..064e3716907ab
+index 000000000000..064e3716907a
 --- /dev/null
 +++ b/drivers/hid/ipts/eds2.h
 @@ -0,0 +1,35 @@
@@ -1517,7 +1517,7 @@ index 0000000000000..064e3716907ab
 +			  enum hid_report_type report_type, enum hid_class_request request_type);
 diff --git a/drivers/hid/ipts/hid.c b/drivers/hid/ipts/hid.c
 new file mode 100644
-index 0000000000000..e34a1a4f9fa77
+index 000000000000..e34a1a4f9fa7
 --- /dev/null
 +++ b/drivers/hid/ipts/hid.c
 @@ -0,0 +1,225 @@
@@ -1748,7 +1748,7 @@ index 0000000000000..e34a1a4f9fa77
 +}
 diff --git a/drivers/hid/ipts/hid.h b/drivers/hid/ipts/hid.h
 new file mode 100644
-index 0000000000000..1ebe77447903a
+index 000000000000..1ebe77447903
 --- /dev/null
 +++ b/drivers/hid/ipts/hid.h
 @@ -0,0 +1,24 @@
@@ -1778,7 +1778,7 @@ index 0000000000000..1ebe77447903a
 +#endif /* IPTS_HID_H */
 diff --git a/drivers/hid/ipts/main.c b/drivers/hid/ipts/main.c
 new file mode 100644
-index 0000000000000..fb5b5c13ee3ea
+index 000000000000..fb5b5c13ee3e
 --- /dev/null
 +++ b/drivers/hid/ipts/main.c
 @@ -0,0 +1,126 @@
@@ -1910,7 +1910,7 @@ index 0000000000000..fb5b5c13ee3ea
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/hid/ipts/mei.c b/drivers/hid/ipts/mei.c
 new file mode 100644
-index 0000000000000..1e0395ceae4a4
+index 000000000000..1e0395ceae4a
 --- /dev/null
 +++ b/drivers/hid/ipts/mei.c
 @@ -0,0 +1,188 @@
@@ -2104,7 +2104,7 @@ index 0000000000000..1e0395ceae4a4
 +}
 diff --git a/drivers/hid/ipts/mei.h b/drivers/hid/ipts/mei.h
 new file mode 100644
-index 0000000000000..973bade6b0fdd
+index 000000000000..973bade6b0fd
 --- /dev/null
 +++ b/drivers/hid/ipts/mei.h
 @@ -0,0 +1,66 @@
@@ -2176,7 +2176,7 @@ index 0000000000000..973bade6b0fdd
 +#endif /* IPTS_MEI_H */
 diff --git a/drivers/hid/ipts/receiver.c b/drivers/hid/ipts/receiver.c
 new file mode 100644
-index 0000000000000..ef66c3c9db807
+index 000000000000..ef66c3c9db80
 --- /dev/null
 +++ b/drivers/hid/ipts/receiver.c
 @@ -0,0 +1,250 @@
@@ -2432,7 +2432,7 @@ index 0000000000000..ef66c3c9db807
 +}
 diff --git a/drivers/hid/ipts/receiver.h b/drivers/hid/ipts/receiver.h
 new file mode 100644
-index 0000000000000..3de7da62d40c1
+index 000000000000..3de7da62d40c
 --- /dev/null
 +++ b/drivers/hid/ipts/receiver.h
 @@ -0,0 +1,16 @@
@@ -2454,7 +2454,7 @@ index 0000000000000..3de7da62d40c1
 +#endif /* IPTS_RECEIVER_H */
 diff --git a/drivers/hid/ipts/resources.c b/drivers/hid/ipts/resources.c
 new file mode 100644
-index 0000000000000..cc14653b2a9f5
+index 000000000000..cc14653b2a9f
 --- /dev/null
 +++ b/drivers/hid/ipts/resources.c
 @@ -0,0 +1,131 @@
@@ -2591,7 +2591,7 @@ index 0000000000000..cc14653b2a9f5
 +}
 diff --git a/drivers/hid/ipts/resources.h b/drivers/hid/ipts/resources.h
 new file mode 100644
-index 0000000000000..2068e13285f0e
+index 000000000000..2068e13285f0
 --- /dev/null
 +++ b/drivers/hid/ipts/resources.h
 @@ -0,0 +1,41 @@
@@ -2638,7 +2638,7 @@ index 0000000000000..2068e13285f0e
 +#endif /* IPTS_RESOURCES_H */
 diff --git a/drivers/hid/ipts/spec-data.h b/drivers/hid/ipts/spec-data.h
 new file mode 100644
-index 0000000000000..e8dd98895a7ee
+index 000000000000..e8dd98895a7e
 --- /dev/null
 +++ b/drivers/hid/ipts/spec-data.h
 @@ -0,0 +1,100 @@
@@ -2744,7 +2744,7 @@ index 0000000000000..e8dd98895a7ee
 +#endif /* IPTS_SPEC_DATA_H */
 diff --git a/drivers/hid/ipts/spec-device.h b/drivers/hid/ipts/spec-device.h
 new file mode 100644
-index 0000000000000..41845f9d90257
+index 000000000000..41845f9d9025
 --- /dev/null
 +++ b/drivers/hid/ipts/spec-device.h
 @@ -0,0 +1,290 @@
@@ -3040,7 +3040,7 @@ index 0000000000000..41845f9d90257
 +#endif /* IPTS_SPEC_DEVICE_H */
 diff --git a/drivers/hid/ipts/spec-hid.h b/drivers/hid/ipts/spec-hid.h
 new file mode 100644
-index 0000000000000..5a58d4a0a610f
+index 000000000000..5a58d4a0a610
 --- /dev/null
 +++ b/drivers/hid/ipts/spec-hid.h
 @@ -0,0 +1,34 @@
@@ -3080,7 +3080,7 @@ index 0000000000000..5a58d4a0a610f
 +#endif /* IPTS_SPEC_HID_H */
 diff --git a/drivers/hid/ipts/thread.c b/drivers/hid/ipts/thread.c
 new file mode 100644
-index 0000000000000..355e92bea26f8
+index 000000000000..355e92bea26f
 --- /dev/null
 +++ b/drivers/hid/ipts/thread.c
 @@ -0,0 +1,84 @@
@@ -3170,7 +3170,7 @@ index 0000000000000..355e92bea26f8
 +}
 diff --git a/drivers/hid/ipts/thread.h b/drivers/hid/ipts/thread.h
 new file mode 100644
-index 0000000000000..1f966b8b32c45
+index 000000000000..1f966b8b32c4
 --- /dev/null
 +++ b/drivers/hid/ipts/thread.h
 @@ -0,0 +1,59 @@
@@ -3234,9 +3234,9 @@ index 0000000000000..1f966b8b32c45
 +
 +#endif /* IPTS_THREAD_H */
 -- 
-2.45.1
+2.45.2
 
-From 1930dddc7cf94e188a3cf6e957b9bd8622ba4a6b Mon Sep 17 00:00:00 2001
+From 9548ddae8daf8630884b8dc207df42ea524dc500 Mon Sep 17 00:00:00 2001
 From: Jasmin Huber <jasmin@jasisonee.ch>
 Date: Mon, 15 Apr 2024 10:22:55 +0200
 Subject: [PATCH] Inlude headers to avoid compiler warnings 6.8 kernels compile
@@ -3251,7 +3251,7 @@ Patchset: ipts
  3 files changed, 3 insertions(+)
 
 diff --git a/drivers/hid/ipts/eds1.c b/drivers/hid/ipts/eds1.c
-index ecbb3a8bdaf60..7b9f54388a9f6 100644
+index ecbb3a8bdaf6..7b9f54388a9f 100644
 --- a/drivers/hid/ipts/eds1.c
 +++ b/drivers/hid/ipts/eds1.c
 @@ -14,6 +14,7 @@
@@ -3263,7 +3263,7 @@ index ecbb3a8bdaf60..7b9f54388a9f6 100644
  
  int ipts_eds1_get_descriptor(struct ipts_context *ipts, u8 **desc_buffer, size_t *desc_size)
 diff --git a/drivers/hid/ipts/eds2.c b/drivers/hid/ipts/eds2.c
-index 198dc65d78876..639940794615d 100644
+index 198dc65d7887..639940794615 100644
 --- a/drivers/hid/ipts/eds2.c
 +++ b/drivers/hid/ipts/eds2.c
 @@ -15,6 +15,7 @@
@@ -3275,7 +3275,7 @@ index 198dc65d78876..639940794615d 100644
  
  int ipts_eds2_get_descriptor(struct ipts_context *ipts, u8 **desc_buffer, size_t *desc_size)
 diff --git a/drivers/hid/ipts/receiver.c b/drivers/hid/ipts/receiver.c
-index ef66c3c9db807..977724c728c3e 100644
+index ef66c3c9db80..977724c728c3 100644
 --- a/drivers/hid/ipts/receiver.c
 +++ b/drivers/hid/ipts/receiver.c
 @@ -16,6 +16,7 @@
@@ -3287,5 +3287,5 @@ index ef66c3c9db807..977724c728c3e 100644
  #include "spec-device.h"
  #include "thread.h"
 -- 
-2.45.1
+2.45.2
 

+ 372 - 33
patches/6.9/0006-ithc.patch

@@ -1,4 +1,4 @@
-From 28368e616f0710082f3c43e3614650b05a09773c Mon Sep 17 00:00:00 2001
+From 888f8f300f9a547535e251f192759902545208f0 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Sun, 11 Dec 2022 12:03:38 +0100
 Subject: [PATCH] iommu: intel: Disable source id verification for ITHC
@@ -10,7 +10,7 @@ Patchset: ithc
  1 file changed, 16 insertions(+)
 
 diff --git a/drivers/iommu/intel/irq_remapping.c b/drivers/iommu/intel/irq_remapping.c
-index 566297bc87ddb..a8cd8f12d5937 100644
+index 566297bc87dd..a8cd8f12d593 100644
 --- a/drivers/iommu/intel/irq_remapping.c
 +++ b/drivers/iommu/intel/irq_remapping.c
 @@ -386,6 +386,22 @@ static int set_msi_sid(struct irte *irte, struct pci_dev *dev)
@@ -37,9 +37,9 @@ index 566297bc87ddb..a8cd8f12d5937 100644
  	 * DMA alias provides us with a PCI device and alias.  The only case
  	 * where the it will return an alias on a different bus than the
 -- 
-2.45.1
+2.45.2
 
-From 07b04f9dbdee2152e14ac7777f71ee3a13dd019d Mon Sep 17 00:00:00 2001
+From e5bbe336297f8d6fbaac16f8b091522bb394e30a Mon Sep 17 00:00:00 2001
 From: quo <tuple@list.ru>
 Date: Sun, 11 Dec 2022 12:10:54 +0100
 Subject: [PATCH] hid: Add support for Intel Touch Host Controller
@@ -72,7 +72,7 @@ Patchset: ithc
  create mode 100644 drivers/hid/ithc/ithc.h
 
 diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
-index a263e49b2ae29..03f0f5af289a4 100644
+index a263e49b2ae2..03f0f5af289a 100644
 --- a/drivers/hid/Kconfig
 +++ b/drivers/hid/Kconfig
 @@ -1353,4 +1353,6 @@ source "drivers/hid/surface-hid/Kconfig"
@@ -83,7 +83,7 @@ index a263e49b2ae29..03f0f5af289a4 100644
 +
  endif # HID_SUPPORT
 diff --git a/drivers/hid/Makefile b/drivers/hid/Makefile
-index f4bad1b8d813f..d32c194400aea 100644
+index f4bad1b8d813..d32c194400ae 100644
 --- a/drivers/hid/Makefile
 +++ b/drivers/hid/Makefile
 @@ -172,3 +172,4 @@ obj-$(CONFIG_AMD_SFH_HID)       += amd-sfh-hid/
@@ -93,7 +93,7 @@ index f4bad1b8d813f..d32c194400aea 100644
 +obj-$(CONFIG_HID_ITHC)          += ithc/
 diff --git a/drivers/hid/ithc/Kbuild b/drivers/hid/ithc/Kbuild
 new file mode 100644
-index 0000000000000..aea83f2ac07b4
+index 000000000000..aea83f2ac07b
 --- /dev/null
 +++ b/drivers/hid/ithc/Kbuild
 @@ -0,0 +1,6 @@
@@ -105,7 +105,7 @@ index 0000000000000..aea83f2ac07b4
 +
 diff --git a/drivers/hid/ithc/Kconfig b/drivers/hid/ithc/Kconfig
 new file mode 100644
-index 0000000000000..ede7130236096
+index 000000000000..ede713023609
 --- /dev/null
 +++ b/drivers/hid/ithc/Kconfig
 @@ -0,0 +1,12 @@
@@ -123,7 +123,7 @@ index 0000000000000..ede7130236096
 +	  module will be called ithc.
 diff --git a/drivers/hid/ithc/ithc-debug.c b/drivers/hid/ithc/ithc-debug.c
 new file mode 100644
-index 0000000000000..1f1f1e33f2e5a
+index 000000000000..1f1f1e33f2e5
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-debug.c
 @@ -0,0 +1,130 @@
@@ -259,7 +259,7 @@ index 0000000000000..1f1f1e33f2e5a
 +
 diff --git a/drivers/hid/ithc/ithc-dma.c b/drivers/hid/ithc/ithc-dma.c
 new file mode 100644
-index 0000000000000..ffb8689b8a780
+index 000000000000..ffb8689b8a78
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-dma.c
 @@ -0,0 +1,373 @@
@@ -638,7 +638,7 @@ index 0000000000000..ffb8689b8a780
 +
 diff --git a/drivers/hid/ithc/ithc-dma.h b/drivers/hid/ithc/ithc-dma.h
 new file mode 100644
-index 0000000000000..93652e4476bf8
+index 000000000000..93652e4476bf
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-dma.h
 @@ -0,0 +1,69 @@
@@ -713,7 +713,7 @@ index 0000000000000..93652e4476bf8
 +
 diff --git a/drivers/hid/ithc/ithc-main.c b/drivers/hid/ithc/ithc-main.c
 new file mode 100644
-index 0000000000000..87ed4aa70fda0
+index 000000000000..87ed4aa70fda
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-main.c
 @@ -0,0 +1,728 @@
@@ -1447,7 +1447,7 @@ index 0000000000000..87ed4aa70fda0
 +
 diff --git a/drivers/hid/ithc/ithc-regs.c b/drivers/hid/ithc/ithc-regs.c
 new file mode 100644
-index 0000000000000..e058721886e37
+index 000000000000..e058721886e3
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-regs.c
 @@ -0,0 +1,96 @@
@@ -1549,7 +1549,7 @@ index 0000000000000..e058721886e37
 +
 diff --git a/drivers/hid/ithc/ithc-regs.h b/drivers/hid/ithc/ithc-regs.h
 new file mode 100644
-index 0000000000000..d4007d9e2bacc
+index 000000000000..d4007d9e2bac
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-regs.h
 @@ -0,0 +1,189 @@
@@ -1744,7 +1744,7 @@ index 0000000000000..d4007d9e2bacc
 +
 diff --git a/drivers/hid/ithc/ithc.h b/drivers/hid/ithc/ithc.h
 new file mode 100644
-index 0000000000000..028e55a4ec53e
+index 000000000000..028e55a4ec53
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc.h
 @@ -0,0 +1,67 @@
@@ -1816,9 +1816,9 @@ index 0000000000000..028e55a4ec53e
 +void ithc_log_regs(struct ithc *ithc);
 +
 -- 
-2.45.1
+2.45.2
 
-From 949ce7e16eb91fb96b2495a002364a82ee543f16 Mon Sep 17 00:00:00 2001
+From 299f645a4bc247c2f5adae925f56978870b133f8 Mon Sep 17 00:00:00 2001
 From: quo <tuple@list.ru>
 Date: Fri, 19 Apr 2024 22:11:09 +0200
 Subject: [PATCH] hid: ithc: Update from quo/ithc-linux
@@ -1856,7 +1856,7 @@ Patchset: ithc
  create mode 100644 drivers/hid/ithc/ithc-quickspi.h
 
 diff --git a/drivers/hid/ithc/Kbuild b/drivers/hid/ithc/Kbuild
-index aea83f2ac07b4..4937ba1312973 100644
+index aea83f2ac07b..4937ba131297 100644
 --- a/drivers/hid/ithc/Kbuild
 +++ b/drivers/hid/ithc/Kbuild
 @@ -1,6 +1,6 @@
@@ -1868,7 +1868,7 @@ index aea83f2ac07b4..4937ba1312973 100644
  ccflags-y := -std=gnu11 -Wno-declaration-after-statement
  
 diff --git a/drivers/hid/ithc/ithc-debug.c b/drivers/hid/ithc/ithc-debug.c
-index 1f1f1e33f2e5a..2d8c6afe99663 100644
+index 1f1f1e33f2e5..2d8c6afe9966 100644
 --- a/drivers/hid/ithc/ithc-debug.c
 +++ b/drivers/hid/ithc/ithc-debug.c
 @@ -85,10 +85,11 @@ static ssize_t ithc_debugfs_cmd_write(struct file *f, const char __user *buf, si
@@ -1935,7 +1935,7 @@ index 1f1f1e33f2e5a..2d8c6afe99663 100644
  	*dbgm = dbg;
 diff --git a/drivers/hid/ithc/ithc-debug.h b/drivers/hid/ithc/ithc-debug.h
 new file mode 100644
-index 0000000000000..38c53d916bdb5
+index 000000000000..38c53d916bdb
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-debug.h
 @@ -0,0 +1,7 @@
@@ -1947,7 +1947,7 @@ index 0000000000000..38c53d916bdb5
 +void ithc_log_regs(struct ithc *ithc);
 +
 diff --git a/drivers/hid/ithc/ithc-dma.c b/drivers/hid/ithc/ithc-dma.c
-index ffb8689b8a780..bf4eab33062b0 100644
+index ffb8689b8a78..bf4eab33062b 100644
 --- a/drivers/hid/ithc/ithc-dma.c
 +++ b/drivers/hid/ithc/ithc-dma.c
 @@ -173,10 +173,9 @@ int ithc_dma_rx_init(struct ithc *ithc, u8 channel)
@@ -2128,7 +2128,7 @@ index ffb8689b8a780..bf4eab33062b0 100644
  	return ret;
  }
 diff --git a/drivers/hid/ithc/ithc-dma.h b/drivers/hid/ithc/ithc-dma.h
-index 93652e4476bf8..1749a5819b3e7 100644
+index 93652e4476bf..1749a5819b3e 100644
 --- a/drivers/hid/ithc/ithc-dma.h
 +++ b/drivers/hid/ithc/ithc-dma.h
 @@ -11,27 +11,6 @@ struct ithc_phys_region_desc {
@@ -2176,7 +2176,7 @@ index 93652e4476bf8..1749a5819b3e7 100644
  
 diff --git a/drivers/hid/ithc/ithc-hid.c b/drivers/hid/ithc/ithc-hid.c
 new file mode 100644
-index 0000000000000..065646ab499ef
+index 000000000000..065646ab499e
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-hid.c
 @@ -0,0 +1,207 @@
@@ -2389,7 +2389,7 @@ index 0000000000000..065646ab499ef
 +
 diff --git a/drivers/hid/ithc/ithc-hid.h b/drivers/hid/ithc/ithc-hid.h
 new file mode 100644
-index 0000000000000..599eb912c8c84
+index 000000000000..599eb912c8c8
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-hid.h
 @@ -0,0 +1,32 @@
@@ -2427,7 +2427,7 @@ index 0000000000000..599eb912c8c84
 +
 diff --git a/drivers/hid/ithc/ithc-legacy.c b/drivers/hid/ithc/ithc-legacy.c
 new file mode 100644
-index 0000000000000..5c1da11e3f1d2
+index 000000000000..5c1da11e3f1d
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-legacy.c
 @@ -0,0 +1,252 @@
@@ -2685,7 +2685,7 @@ index 0000000000000..5c1da11e3f1d2
 +
 diff --git a/drivers/hid/ithc/ithc-legacy.h b/drivers/hid/ithc/ithc-legacy.h
 new file mode 100644
-index 0000000000000..28d6924620722
+index 000000000000..28d692462072
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-legacy.h
 @@ -0,0 +1,8 @@
@@ -2698,7 +2698,7 @@ index 0000000000000..28d6924620722
 +	size_t maxlen);
 +
 diff --git a/drivers/hid/ithc/ithc-main.c b/drivers/hid/ithc/ithc-main.c
-index 87ed4aa70fda0..2acf02e41d40f 100644
+index 87ed4aa70fda..2acf02e41d40 100644
 --- a/drivers/hid/ithc/ithc-main.c
 +++ b/drivers/hid/ithc/ithc-main.c
 @@ -5,28 +5,6 @@
@@ -3260,7 +3260,7 @@ index 87ed4aa70fda0..2acf02e41d40f 100644
  module_init(ithc_init);
 diff --git a/drivers/hid/ithc/ithc-quickspi.c b/drivers/hid/ithc/ithc-quickspi.c
 new file mode 100644
-index 0000000000000..760e55ead0788
+index 000000000000..760e55ead078
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-quickspi.c
 @@ -0,0 +1,578 @@
@@ -3844,7 +3844,7 @@ index 0000000000000..760e55ead0788
 +
 diff --git a/drivers/hid/ithc/ithc-quickspi.h b/drivers/hid/ithc/ithc-quickspi.h
 new file mode 100644
-index 0000000000000..74d882f6b2f0a
+index 000000000000..74d882f6b2f0
 --- /dev/null
 +++ b/drivers/hid/ithc/ithc-quickspi.h
 @@ -0,0 +1,39 @@
@@ -3888,7 +3888,7 @@ index 0000000000000..74d882f6b2f0a
 +	size_t maxlen);
 +
 diff --git a/drivers/hid/ithc/ithc-regs.c b/drivers/hid/ithc/ithc-regs.c
-index e058721886e37..c0f13506af205 100644
+index e058721886e3..c0f13506af20 100644
 --- a/drivers/hid/ithc/ithc-regs.c
 +++ b/drivers/hid/ithc/ithc-regs.c
 @@ -22,46 +22,104 @@ void bitsb(__iomem u8 *reg, u8 mask, u8 val)
@@ -4004,7 +4004,7 @@ index e058721886e37..c0f13506af205 100644
  		return -EINVAL;
  
 diff --git a/drivers/hid/ithc/ithc-regs.h b/drivers/hid/ithc/ithc-regs.h
-index d4007d9e2bacc..a9d2364546442 100644
+index d4007d9e2bac..a9d236454644 100644
 --- a/drivers/hid/ithc/ithc-regs.h
 +++ b/drivers/hid/ithc/ithc-regs.h
 @@ -1,14 +1,34 @@
@@ -4225,7 +4225,7 @@ index d4007d9e2bacc..a9d2364546442 100644
  int ithc_spi_command(struct ithc *ithc, u8 command, u32 offset, u32 size, void *data);
  
 diff --git a/drivers/hid/ithc/ithc.h b/drivers/hid/ithc/ithc.h
-index 028e55a4ec53e..e90c380444325 100644
+index 028e55a4ec53..e90c38044432 100644
 --- a/drivers/hid/ithc/ithc.h
 +++ b/drivers/hid/ithc/ithc.h
 @@ -1,20 +1,19 @@
@@ -4336,5 +4336,344 @@ index 028e55a4ec53e..e90c380444325 100644
 -void ithc_log_regs(struct ithc *ithc);
  
 -- 
-2.45.1
+2.45.2
+
+From 79abe7fc9d3cd1eda0d9904695a98e98eab037aa Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Sun, 4 Aug 2024 16:04:53 +0200
+Subject: [PATCH] hid: ithc: Update from quo/ithc-linux
+
+ - Enable support for SL6/SP10
+ - Fixes for SP8
+
+Based on: https://github.com/quo/ithc-linux/commit/34539af4726d970f9765363bb78b5fd920611a0b
+
+Signed-off-by: Maximilian Luz <luzmaximilian@gmail.com>
+Patchset: ithc
+---
+ drivers/hid/ithc/ithc-legacy.c   |  4 +-
+ drivers/hid/ithc/ithc-main.c     | 91 +++++++++-----------------------
+ drivers/hid/ithc/ithc-quickspi.c | 53 ++++++++++++++-----
+ drivers/hid/ithc/ithc-regs.h     | 15 +++---
+ drivers/hid/ithc/ithc.h          |  9 +++-
+ 5 files changed, 82 insertions(+), 90 deletions(-)
+
+diff --git a/drivers/hid/ithc/ithc-legacy.c b/drivers/hid/ithc/ithc-legacy.c
+index 5c1da11e3f1d..8883987fb352 100644
+--- a/drivers/hid/ithc/ithc-legacy.c
++++ b/drivers/hid/ithc/ithc-legacy.c
+@@ -82,8 +82,10 @@ int ithc_legacy_init(struct ithc *ithc)
+ 	// Setting the following bit seems to make reading the config more reliable.
+ 	bitsl_set(&ithc->regs->dma_rx[0].init_unknown, INIT_UNKNOWN_31);
+ 
+-	// Setting this bit may be necessary on some ADL devices.
++	// Setting this bit may be necessary on ADL devices.
+ 	switch (ithc->pci->device) {
++	case PCI_DEVICE_ID_INTEL_THC_ADL_S_PORT1:
++	case PCI_DEVICE_ID_INTEL_THC_ADL_S_PORT2:
+ 	case PCI_DEVICE_ID_INTEL_THC_ADL_P_PORT1:
+ 	case PCI_DEVICE_ID_INTEL_THC_ADL_P_PORT2:
+ 	case PCI_DEVICE_ID_INTEL_THC_ADL_M_PORT1:
+diff --git a/drivers/hid/ithc/ithc-main.c b/drivers/hid/ithc/ithc-main.c
+index 2acf02e41d40..ac56c253674b 100644
+--- a/drivers/hid/ithc/ithc-main.c
++++ b/drivers/hid/ithc/ithc-main.c
+@@ -6,25 +6,14 @@ MODULE_DESCRIPTION("Intel Touch Host Controller driver");
+ MODULE_LICENSE("Dual BSD/GPL");
+ 
+ static const struct pci_device_id ithc_pci_tbl[] = {
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_LKF_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_LKF_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_TGL_LP_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_TGL_LP_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_TGL_H_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_TGL_H_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_ADL_S_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_ADL_S_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_ADL_P_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_ADL_P_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_ADL_M_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_ADL_M_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_RPL_S_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_RPL_S_PORT2) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_MTL_PORT1) },
+-	{ PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_THC_MTL_PORT2) },
+-	// XXX So far the THC seems to be the only Intel PCI device with PCI_CLASS_INPUT_PEN,
+-	// so instead of the device list we could just do:
+-	// { .vendor = PCI_VENDOR_ID_INTEL, .device = PCI_ANY_ID, .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID, .class = PCI_CLASS_INPUT_PEN, .class_mask = ~0, },
++	{
++		.vendor = PCI_VENDOR_ID_INTEL,
++		.device = PCI_ANY_ID,
++		.subvendor = PCI_ANY_ID,
++		.subdevice = PCI_ANY_ID,
++		.class = PCI_CLASS_INPUT_PEN << 8,
++		.class_mask = ~0,
++	},
+ 	{}
+ };
+ MODULE_DEVICE_TABLE(pci, ithc_pci_tbl);
+@@ -52,50 +41,14 @@ static int ithc_idle_ltr_us = -1;
+ module_param_named(idleltr, ithc_idle_ltr_us, int, 0);
+ MODULE_PARM_DESC(idleltr, "Idle LTR value override (in microseconds)");
+ 
++static unsigned int ithc_idle_delay_ms = 1000;
++module_param_named(idledelay, ithc_idle_delay_ms, uint, 0);
++MODULE_PARM_DESC(idleltr, "Minimum idle time before applying idle LTR value (in milliseconds)");
++
+ static bool ithc_log_regs_enabled = false;
+ module_param_named(logregs, ithc_log_regs_enabled, bool, 0);
+ MODULE_PARM_DESC(logregs, "Log changes in register values (for debugging)");
+ 
+-// Sysfs attributes
+-
+-static ssize_t vendor_show(struct device *dev, struct device_attribute *attr, char *buf)
+-{
+-	struct ithc *ithc = dev_get_drvdata(dev);
+-	if (!ithc || !ithc->have_config)
+-		return -ENODEV;
+-	return sprintf(buf, "0x%04x", ithc->vendor_id);
+-}
+-static DEVICE_ATTR_RO(vendor);
+-static ssize_t product_show(struct device *dev, struct device_attribute *attr, char *buf)
+-{
+-	struct ithc *ithc = dev_get_drvdata(dev);
+-	if (!ithc || !ithc->have_config)
+-		return -ENODEV;
+-	return sprintf(buf, "0x%04x", ithc->product_id);
+-}
+-static DEVICE_ATTR_RO(product);
+-static ssize_t revision_show(struct device *dev, struct device_attribute *attr, char *buf)
+-{
+-	struct ithc *ithc = dev_get_drvdata(dev);
+-	if (!ithc || !ithc->have_config)
+-		return -ENODEV;
+-	return sprintf(buf, "%u", ithc->product_rev);
+-}
+-static DEVICE_ATTR_RO(revision);
+-
+-static const struct attribute_group *ithc_attribute_groups[] = {
+-	&(const struct attribute_group){
+-		.name = DEVNAME,
+-		.attrs = (struct attribute *[]){
+-			&dev_attr_vendor.attr,
+-			&dev_attr_product.attr,
+-			&dev_attr_revision.attr,
+-			NULL
+-		},
+-	},
+-	NULL
+-};
+-
+ // Interrupts/polling
+ 
+ static void ithc_disable_interrupts(struct ithc *ithc)
+@@ -124,14 +77,19 @@ static void ithc_clear_interrupts(struct ithc *ithc)
+ 		&ithc->regs->dma_tx.status);
+ }
+ 
++static void ithc_idle_timer_callback(struct timer_list *t)
++{
++	struct ithc *ithc = container_of(t, struct ithc, idle_timer);
++	ithc_set_ltr_idle(ithc);
++}
++
+ static void ithc_process(struct ithc *ithc)
+ {
+ 	ithc_log_regs(ithc);
+ 
+ 	// The THC automatically transitions from LTR idle to active at the start of a DMA transfer.
+-	// It does not appear to automatically go back to idle, so we switch it back here, since
+-	// the DMA transfer should be complete.
+-	ithc_set_ltr_idle(ithc);
++	// It does not appear to automatically go back to idle, so we switch it back after a delay.
++	mod_timer(&ithc->idle_timer, jiffies + msecs_to_jiffies(ithc_idle_delay_ms));
+ 
+ 	bool rx0 = ithc_use_rx0 && (readl(&ithc->regs->dma_rx[0].status) & (DMA_RX_STATUS_ERROR | DMA_RX_STATUS_HAVE_DATA)) != 0;
+ 	bool rx1 = ithc_use_rx1 && (readl(&ithc->regs->dma_rx[1].status) & (DMA_RX_STATUS_ERROR | DMA_RX_STATUS_HAVE_DATA)) != 0;
+@@ -231,10 +189,10 @@ static int ithc_init_device(struct ithc *ithc)
+ 	// Set Latency Tolerance Reporting config. The device will automatically
+ 	// apply these values depending on whether it is active or idle.
+ 	// If active value is too high, DMA buffer data can become truncated.
+-	// By default, we set the active LTR value to 100us, and idle to 100ms.
++	// By default, we set the active LTR value to 50us, and idle to 100ms.
+ 	u64 active_ltr_ns = ithc_active_ltr_us >= 0 ? (u64)ithc_active_ltr_us * 1000
+ 		: cfg.has_config && cfg.has_active_ltr ? (u64)cfg.active_ltr << 10
+-		: 100 * 1000;
++		: 50 * 1000;
+ 	u64 idle_ltr_ns = ithc_idle_ltr_us >= 0 ? (u64)ithc_idle_ltr_us * 1000
+ 		: cfg.has_config && cfg.has_idle_ltr ? (u64)cfg.idle_ltr << 10
+ 		: 100 * 1000 * 1000;
+@@ -279,6 +237,7 @@ static void ithc_stop(void *res)
+ 	else
+ 		ithc_legacy_exit(ithc);
+ 	ithc_disable(ithc);
++	del_timer_sync(&ithc->idle_timer);
+ 
+ 	// Clear DMA config.
+ 	for (unsigned int i = 0; i < 2; i++) {
+@@ -343,13 +302,14 @@ static int ithc_start(struct pci_dev *pci)
+ 
+ 	// Initialize HID and DMA.
+ 	CHECK_RET(ithc_hid_init, ithc);
+-	CHECK(devm_device_add_groups, &pci->dev, ithc_attribute_groups);
+ 	if (ithc_use_rx0)
+ 		CHECK_RET(ithc_dma_rx_init, ithc, 0);
+ 	if (ithc_use_rx1)
+ 		CHECK_RET(ithc_dma_rx_init, ithc, 1);
+ 	CHECK_RET(ithc_dma_tx_init, ithc);
+ 
++	timer_setup(&ithc->idle_timer, ithc_idle_timer_callback, 0);
++
+ 	// Add ithc_stop() callback AFTER setting up DMA buffers, so that polling/irqs/DMA are
+ 	// disabled BEFORE the buffers are freed.
+ 	CHECK_RET(devm_add_action_or_reset, &pci->dev, ithc_stop, ithc);
+@@ -452,7 +412,6 @@ static struct pci_driver ithc_driver = {
+ 		.restore = ithc_restore,
+ 	},
+ 	.driver.probe_type = PROBE_PREFER_ASYNCHRONOUS,
+-	//.dev_groups = ithc_attribute_groups, // could use this (since 5.14), however the attributes won't have valid values until config has been read anyway
+ };
+ 
+ static int __init ithc_init(void)
+diff --git a/drivers/hid/ithc/ithc-quickspi.c b/drivers/hid/ithc/ithc-quickspi.c
+index 760e55ead078..e2d1690b8cf8 100644
+--- a/drivers/hid/ithc/ithc-quickspi.c
++++ b/drivers/hid/ithc/ithc-quickspi.c
+@@ -257,6 +257,14 @@ void ithc_print_acpi_config(struct ithc *ithc, const struct ithc_acpi_config *cf
+ 		spi_frequency, limit_packet_size, tx_delay, active_ltr, idle_ltr);
+ }
+ 
++static void set_opcode(struct ithc *ithc, size_t i, u8 opcode)
++{
++	writeb(opcode, &ithc->regs->opcode[i].header);
++	writeb(opcode, &ithc->regs->opcode[i].single);
++	writeb(opcode, &ithc->regs->opcode[i].dual);
++	writeb(opcode, &ithc->regs->opcode[i].quad);
++}
++
+ static int ithc_quickspi_init_regs(struct ithc *ithc, const struct ithc_acpi_config *cfg)
+ {
+ 	pci_dbg(ithc->pci, "initializing QuickSPI registers\n");
+@@ -279,26 +287,47 @@ static int ithc_quickspi_init_regs(struct ithc *ithc, const struct ithc_acpi_con
+ 	// SPI addresses and opcodes
+ 	if (cfg->has_input_report_header_address)
+ 		writel(cfg->input_report_header_address, &ithc->regs->spi_header_addr);
+-	if (cfg->has_input_report_body_address)
++	if (cfg->has_input_report_body_address) {
+ 		writel(cfg->input_report_body_address, &ithc->regs->dma_rx[0].spi_addr);
++		writel(cfg->input_report_body_address, &ithc->regs->dma_rx[1].spi_addr);
++	}
+ 	if (cfg->has_output_report_body_address)
+ 		writel(cfg->output_report_body_address, &ithc->regs->dma_tx.spi_addr);
+ 
+-	if (cfg->has_read_opcode) {
+-		writeb(cfg->read_opcode, &ithc->regs->read_opcode);
+-		writeb(cfg->read_opcode, &ithc->regs->read_opcode_single);
+-		writeb(cfg->read_opcode, &ithc->regs->read_opcode_dual);
+-		writeb(cfg->read_opcode, &ithc->regs->read_opcode_quad);
+-	}
+-	if (cfg->has_write_opcode) {
+-		writeb(cfg->write_opcode, &ithc->regs->write_opcode);
+-		writeb(cfg->write_opcode, &ithc->regs->write_opcode_single);
+-		writeb(cfg->write_opcode, &ithc->regs->write_opcode_dual);
+-		writeb(cfg->write_opcode, &ithc->regs->write_opcode_quad);
++	switch (ithc->pci->device) {
++	// LKF/TGL don't support QuickSPI.
++	// For ADL, opcode layout is RX/TX/unused.
++	case PCI_DEVICE_ID_INTEL_THC_ADL_S_PORT1:
++	case PCI_DEVICE_ID_INTEL_THC_ADL_S_PORT2:
++	case PCI_DEVICE_ID_INTEL_THC_ADL_P_PORT1:
++	case PCI_DEVICE_ID_INTEL_THC_ADL_P_PORT2:
++	case PCI_DEVICE_ID_INTEL_THC_ADL_M_PORT1:
++	case PCI_DEVICE_ID_INTEL_THC_ADL_M_PORT2:
++		if (cfg->has_read_opcode) {
++			set_opcode(ithc, 0, cfg->read_opcode);
++		}
++		if (cfg->has_write_opcode) {
++			set_opcode(ithc, 1, cfg->write_opcode);
++		}
++		break;
++	// For MTL, opcode layout was changed to RX/RX/TX.
++	// (RPL layout is unknown.)
++	default:
++		if (cfg->has_read_opcode) {
++			set_opcode(ithc, 0, cfg->read_opcode);
++			set_opcode(ithc, 1, cfg->read_opcode);
++		}
++		if (cfg->has_write_opcode) {
++			set_opcode(ithc, 2, cfg->write_opcode);
++		}
++		break;
+ 	}
++
+ 	ithc_log_regs(ithc);
+ 
+ 	// The rest...
++	bitsl_set(&ithc->regs->dma_rx[0].init_unknown, INIT_UNKNOWN_31);
++
+ 	bitsl(&ithc->regs->quickspi_config1,
+ 		QUICKSPI_CONFIG1_UNKNOWN_0(0xff) | QUICKSPI_CONFIG1_UNKNOWN_5(0xff) |
+ 		QUICKSPI_CONFIG1_UNKNOWN_10(0xff) | QUICKSPI_CONFIG1_UNKNOWN_16(0xffff),
+diff --git a/drivers/hid/ithc/ithc-regs.h b/drivers/hid/ithc/ithc-regs.h
+index a9d236454644..4f541fe533fa 100644
+--- a/drivers/hid/ithc/ithc-regs.h
++++ b/drivers/hid/ithc/ithc-regs.h
+@@ -129,15 +129,12 @@ struct ithc_registers {
+ 	/* 1008 */ u32 control_bits;
+ 	/* 100c */ u32 _unknown_100c;
+ 	/* 1010 */ u32 spi_config;
+-	/* 1014 */ u8 read_opcode; // maybe for header?
+-	/* 1015 */ u8 read_opcode_quad;
+-	/* 1016 */ u8 read_opcode_dual;
+-	/* 1017 */ u8 read_opcode_single;
+-	/* 1018 */ u8 write_opcode; // not used?
+-	/* 1019 */ u8 write_opcode_quad;
+-	/* 101a */ u8 write_opcode_dual;
+-	/* 101b */ u8 write_opcode_single;
+-	/* 101c */ u32 _unknown_101c;
++	struct {
++		/* 1014/1018/101c */ u8 header;
++		/* 1015/1019/101d */ u8 quad;
++		/* 1016/101a/101e */ u8 dual;
++		/* 1017/101b/101f */ u8 single;
++	} opcode[3];
+ 	/* 1020 */ u32 error_control;
+ 	/* 1024 */ u32 error_status; // write to clear
+ 	/* 1028 */ u32 error_flags; // write to clear
+diff --git a/drivers/hid/ithc/ithc.h b/drivers/hid/ithc/ithc.h
+index e90c38044432..aec320d4e945 100644
+--- a/drivers/hid/ithc/ithc.h
++++ b/drivers/hid/ithc/ithc.h
+@@ -14,6 +14,8 @@
+ #include <linux/module.h>
+ #include <linux/pci.h>
+ #include <linux/poll.h>
++#include <linux/timer.h>
++#include <linux/vmalloc.h>
+ 
+ #define DEVNAME "ithc"
+ #define DEVFULLNAME "Intel Touch Host Controller"
+@@ -46,8 +48,10 @@
+ #define PCI_DEVICE_ID_INTEL_THC_RPL_S_PORT1  0x7a58
+ #define PCI_DEVICE_ID_INTEL_THC_RPL_S_PORT2  0x7a59
+ // Meteor Lake
+-#define PCI_DEVICE_ID_INTEL_THC_MTL_PORT1    0x7e48
+-#define PCI_DEVICE_ID_INTEL_THC_MTL_PORT2    0x7e4a
++#define PCI_DEVICE_ID_INTEL_THC_MTL_S_PORT1  0x7f59
++#define PCI_DEVICE_ID_INTEL_THC_MTL_S_PORT2  0x7f5b
++#define PCI_DEVICE_ID_INTEL_THC_MTL_MP_PORT1 0x7e49
++#define PCI_DEVICE_ID_INTEL_THC_MTL_MP_PORT2 0x7e4b
+ 
+ struct ithc;
+ 
+@@ -63,6 +67,7 @@ struct ithc {
+ 	struct pci_dev *pci;
+ 	int irq;
+ 	struct task_struct *poll_thread;
++	struct timer_list idle_timer;
+ 
+ 	struct ithc_registers __iomem *regs;
+ 	struct ithc_registers *prev_regs; // for debugging
+-- 
+2.45.2
 

+ 42 - 42
patches/6.9/0007-surface-sam.patch

@@ -1,4 +1,4 @@
-From 4dd4e50694677d063eceb17e44b24fd0473df390 Mon Sep 17 00:00:00 2001
+From cebca0467ba24265a1e51432ac35beac33891a6e Mon Sep 17 00:00:00 2001
 From: Hans de Goede <hdegoede@redhat.com>
 Date: Thu, 9 May 2024 16:15:49 +0200
 Subject: [PATCH] serial: Clear UPF_DEAD before calling
@@ -46,7 +46,7 @@ Patchset: surface-sam
  1 file changed, 4 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
-index c476d884356db..b47a277978a0b 100644
+index c476d884356d..b47a277978a0 100644
 --- a/drivers/tty/serial/serial_core.c
 +++ b/drivers/tty/serial/serial_core.c
 @@ -3211,6 +3211,9 @@ static int serial_core_add_one_port(struct uart_driver *drv, struct uart_port *u
@@ -77,9 +77,9 @@ index c476d884356db..b47a277978a0b 100644
  
  	return 0;
 -- 
-2.45.1
+2.45.2
 
-From f467f4373c2620fbf27c1ce0246bad8437034e33 Mon Sep 17 00:00:00 2001
+From e453ab926ce00cd87c30f55342031d4f3bf78e53 Mon Sep 17 00:00:00 2001
 From: Weifeng Liu <weifeng.liu.z@gmail.com>
 Date: Sun, 5 May 2024 21:07:50 +0800
 Subject: [PATCH] platform/surface: aggregator: Log critical errors during SAM
@@ -101,7 +101,7 @@ Patchset: surface-sam
  1 file changed, 28 insertions(+), 14 deletions(-)
 
 diff --git a/drivers/platform/surface/aggregator/core.c b/drivers/platform/surface/aggregator/core.c
-index ba550eaa06fcf..797d0645bd77f 100644
+index ba550eaa06fc..797d0645bd77 100644
 --- a/drivers/platform/surface/aggregator/core.c
 +++ b/drivers/platform/surface/aggregator/core.c
 @@ -618,15 +618,17 @@ static const struct acpi_gpio_mapping ssam_acpi_gpios[] = {
@@ -213,9 +213,9 @@ index ba550eaa06fcf..797d0645bd77f 100644
  	ssam_controller_lock(ctrl);
  	ssam_controller_shutdown(ctrl);
 -- 
-2.45.1
+2.45.2
 
-From aa3d6b4b41566cbb68ba342463fee27924238b30 Mon Sep 17 00:00:00 2001
+From d3ddbc07009ade7bd60e9575b4d280e44c8c2f63 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Fri, 19 Apr 2024 20:41:47 +0200
 Subject: [PATCH] platform/surface: aggregator: Fix warning when controller is
@@ -254,7 +254,7 @@ Patchset: surface-sam
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/platform/surface/aggregator/controller.c b/drivers/platform/surface/aggregator/controller.c
-index 7fc602e01487d..7e89f547999b2 100644
+index 7fc602e01487..7e89f547999b 100644
 --- a/drivers/platform/surface/aggregator/controller.c
 +++ b/drivers/platform/surface/aggregator/controller.c
 @@ -1354,7 +1354,8 @@ void ssam_controller_destroy(struct ssam_controller *ctrl)
@@ -268,9 +268,9 @@ index 7fc602e01487d..7e89f547999b2 100644
  	/*
  	 * Note: New events could still have been received after the previous
 -- 
-2.45.1
+2.45.2
 
-From dd4678d91fa59cdf247be667fa64b8959029123d Mon Sep 17 00:00:00 2001
+From 46aeacf7b116bd6e1711b1678f8c8c9d631e95c9 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 22 Oct 2023 14:57:11 +0200
 Subject: [PATCH] platform/surface: aggregator_registry: Add support for
@@ -287,7 +287,7 @@ Patchset: surface-sam
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 035d6b4105cd6..74688a2ed4b2e 100644
+index 035d6b4105cd..74688a2ed4b2 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -374,6 +374,9 @@ static const struct acpi_device_id ssam_platform_hub_match[] = {
@@ -301,9 +301,9 @@ index 035d6b4105cd6..74688a2ed4b2e 100644
  	{ "MSHW0123", (unsigned long)ssam_node_group_sls },
  
 -- 
-2.45.1
+2.45.2
 
-From 3598d00445216e0b1b0b3e4141c5a2f359bf19c4 Mon Sep 17 00:00:00 2001
+From e42a81ec22305c91f44562c0386f651dfdc48db1 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Mon, 20 Nov 2023 19:47:00 +0100
 Subject: [PATCH] platform/surface: aggregator_registry: Add support for
@@ -321,7 +321,7 @@ Patchset: surface-sam
  1 file changed, 21 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 74688a2ed4b2e..f02a933160ff2 100644
+index 74688a2ed4b2..f02a933160ff 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -253,8 +253,8 @@ static const struct software_node *ssam_node_group_sl5[] = {
@@ -371,9 +371,9 @@ index 74688a2ed4b2e..f02a933160ff2 100644
  	{ },
  };
 -- 
-2.45.1
+2.45.2
 
-From eab61a4d3b4de4f3f61789748ecff660b07fbf8b Mon Sep 17 00:00:00 2001
+From 779ad78ae568b1bf03927655133b23bdee5fc77c Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 9 Jun 2024 20:05:57 +0200
 Subject: [PATCH] platform/surface: aggregator_registry: Add support for
@@ -391,7 +391,7 @@ Patchset: surface-sam
  1 file changed, 19 insertions(+)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index f02a933160ff2..34df1bdad83bd 100644
+index f02a933160ff..34df1bdad83b 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -253,6 +253,22 @@ static const struct software_node *ssam_node_group_sl5[] = {
@@ -428,9 +428,9 @@ index f02a933160ff2..34df1bdad83bd 100644
  	{ "MSHW0118", (unsigned long)ssam_node_group_slg1 },
  
 -- 
-2.45.1
+2.45.2
 
-From 1b6e5187d5961bd4bf4aa939426f0dfa9f01abd8 Mon Sep 17 00:00:00 2001
+From 4a7f3f74a7d92f3e0567f7e876e77bf7c8bbcf6d Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 30 Dec 2023 18:07:54 +0100
 Subject: [PATCH] hwmon: Add thermal sensor driver for Surface Aggregator
@@ -452,7 +452,7 @@ Patchset: surface-sam
  create mode 100644 drivers/hwmon/surface_temp.c
 
 diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
-index 83945397b6eb1..338ef73c96a3a 100644
+index 83945397b6eb..338ef73c96a3 100644
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
 @@ -2070,6 +2070,16 @@ config SENSORS_SURFACE_FAN
@@ -473,7 +473,7 @@ index 83945397b6eb1..338ef73c96a3a 100644
  	tristate "Texas Instruments ADC128D818"
  	depends on I2C
 diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
-index 5c31808f6378d..de8bc99719e63 100644
+index 5c31808f6378..de8bc99719e6 100644
 --- a/drivers/hwmon/Makefile
 +++ b/drivers/hwmon/Makefile
 @@ -208,6 +208,7 @@ obj-$(CONFIG_SENSORS_SMSC47M192)+= smsc47m192.o
@@ -486,7 +486,7 @@ index 5c31808f6378d..de8bc99719e63 100644
  obj-$(CONFIG_SENSORS_TC74)	+= tc74.o
 diff --git a/drivers/hwmon/surface_temp.c b/drivers/hwmon/surface_temp.c
 new file mode 100644
-index 0000000000000..48c3e826713f6
+index 000000000000..48c3e826713f
 --- /dev/null
 +++ b/drivers/hwmon/surface_temp.c
 @@ -0,0 +1,165 @@
@@ -656,9 +656,9 @@ index 0000000000000..48c3e826713f6
 +MODULE_DESCRIPTION("Thermal sensor subsystem driver for Surface System Aggregator Module");
 +MODULE_LICENSE("GPL");
 -- 
-2.45.1
+2.45.2
 
-From 5e8b9e18c1502bd5371a42014b104e91467a3437 Mon Sep 17 00:00:00 2001
+From 98e9eaae15a93f4dbe3898d3c188e710b791528a Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 30 Dec 2023 18:12:23 +0100
 Subject: [PATCH] hwmon: surface_temp: Add support for sensor names
@@ -676,7 +676,7 @@ Patchset: surface-sam
  1 file changed, 96 insertions(+), 17 deletions(-)
 
 diff --git a/drivers/hwmon/surface_temp.c b/drivers/hwmon/surface_temp.c
-index 48c3e826713f6..4c08926139dbf 100644
+index 48c3e826713f..4c08926139db 100644
 --- a/drivers/hwmon/surface_temp.c
 +++ b/drivers/hwmon/surface_temp.c
 @@ -17,6 +17,27 @@
@@ -851,9 +851,9 @@ index 48c3e826713f6..4c08926139dbf 100644
  			"surface_thermal", ssam_temp, &ssam_temp_hwmon_chip_info,
  			NULL);
 -- 
-2.45.1
+2.45.2
 
-From 1e3af9982108daf50b030c5672df1f2791107608 Mon Sep 17 00:00:00 2001
+From fdf1850fe9d4ee229a5602361be23c126ce65c8a Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 30 Dec 2023 18:21:12 +0100
 Subject: [PATCH] platform/surface: aggregator_registry: Add support for
@@ -869,7 +869,7 @@ Patchset: surface-sam
  1 file changed, 7 insertions(+)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 34df1bdad83bd..c0bf0cadcd258 100644
+index 34df1bdad83b..c0bf0cadcd25 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -74,6 +74,12 @@ static const struct software_node ssam_node_tmp_pprof = {
@@ -894,9 +894,9 @@ index 34df1bdad83bd..c0bf0cadcd258 100644
  	&ssam_node_pos_tablet_switch,
  	&ssam_node_hid_kip_keyboard,
 -- 
-2.45.1
+2.45.2
 
-From fe8e2664ddcf80418be9e2f4ae3b9211257b6647 Mon Sep 17 00:00:00 2001
+From c98dd80f6541a1bd7108324f65d77a04a6978e39 Mon Sep 17 00:00:00 2001
 From: Ivor Wanders <ivor@iwanders.net>
 Date: Sat, 16 Dec 2023 15:56:39 -0500
 Subject: [PATCH] platform/surface: platform_profile: add fan profile switching
@@ -913,7 +913,7 @@ Patchset: surface-sam
  2 files changed, 100 insertions(+), 24 deletions(-)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index c0bf0cadcd258..07a4c4e1120d3 100644
+index c0bf0cadcd25..07a4c4e1120d 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -68,8 +68,8 @@ static const struct software_node ssam_node_bat_sb3base = {
@@ -1039,7 +1039,7 @@ index c0bf0cadcd258..07a4c4e1120d3 100644
  	&ssam_node_fan_speed,
  	&ssam_node_pos_tablet_switch,
 diff --git a/drivers/platform/surface/surface_platform_profile.c b/drivers/platform/surface/surface_platform_profile.c
-index a5a3941b3f43a..e54d0a8f7daa5 100644
+index a5a3941b3f43..e54d0a8f7daa 100644
 --- a/drivers/platform/surface/surface_platform_profile.c
 +++ b/drivers/platform/surface/surface_platform_profile.c
 @@ -1,7 +1,7 @@
@@ -1221,9 +1221,9 @@ index a5a3941b3f43a..e54d0a8f7daa5 100644
  	set_bit(PLATFORM_PROFILE_BALANCED, tpd->handler.choices);
  	set_bit(PLATFORM_PROFILE_BALANCED_PERFORMANCE, tpd->handler.choices);
 -- 
-2.45.1
+2.45.2
 
-From a36158d7724a8799dc53a8605f22d368d52d3bc5 Mon Sep 17 00:00:00 2001
+From 4adc9fe7e3e43927845ff1711d8f0a7c0a3c7e74 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Mon, 10 Jun 2024 21:47:47 +0200
 Subject: [PATCH] platform/surface: aggregator_registry: Add fan and thermal
@@ -1235,7 +1235,7 @@ Patchset: surface-sam
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 07a4c4e1120d3..4dc79f791d390 100644
+index 07a4c4e1120d..4dc79f791d39 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -265,7 +265,9 @@ static const struct software_node *ssam_node_group_sl5[] = {
@@ -1250,9 +1250,9 @@ index 07a4c4e1120d3..4dc79f791d390 100644
  	&ssam_node_hid_main_touchpad,
  	&ssam_node_hid_main_iid5,
 -- 
-2.45.1
+2.45.2
 
-From ed9d1558fb33c0654e51457081b231e24bab480e Mon Sep 17 00:00:00 2001
+From df74cd4f195731eec0d7423b9b5ac5ad54e66206 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Mon, 10 Jun 2024 21:48:02 +0200
 Subject: [PATCH] platform/surface: aggregator_registry: Add fan and thermal
@@ -1264,7 +1264,7 @@ Patchset: surface-sam
  1 file changed, 3 insertions(+), 1 deletion(-)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 4dc79f791d390..77f903a04d128 100644
+index 4dc79f791d39..77f903a04d12 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -312,7 +312,9 @@ static const struct software_node *ssam_node_group_sls2[] = {
@@ -1279,9 +1279,9 @@ index 4dc79f791d390..77f903a04d128 100644
  	&ssam_node_hid_sam_keyboard,
  	&ssam_node_hid_sam_penstash,
 -- 
-2.45.1
+2.45.2
 
-From 72c97a89faddb83b43940ae213db3d96bbd14210 Mon Sep 17 00:00:00 2001
+From fbda016e6525668c554714feb8aa09e1baa3d174 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Fri, 28 Jun 2024 22:31:37 +0200
 Subject: [PATCH] platform/surface: aggregator_registry: Add Support for
@@ -1293,7 +1293,7 @@ Patchset: surface-sam
  1 file changed, 22 insertions(+)
 
 diff --git a/drivers/platform/surface/surface_aggregator_registry.c b/drivers/platform/surface/surface_aggregator_registry.c
-index 77f903a04d128..7d01d989d2a49 100644
+index 77f903a04d12..7d01d989d2a4 100644
 --- a/drivers/platform/surface/surface_aggregator_registry.c
 +++ b/drivers/platform/surface/surface_aggregator_registry.c
 @@ -377,6 +377,25 @@ static const struct software_node *ssam_node_group_sp9[] = {
@@ -1333,5 +1333,5 @@ index 77f903a04d128..7d01d989d2a49 100644
  	{ "MSHW0107", (unsigned long)ssam_node_group_gen5 },
  
 -- 
-2.45.1
+2.45.2
 

+ 8 - 8
patches/6.9/0008-surface-sam-over-hid.patch

@@ -1,4 +1,4 @@
-From 62692a1aeb782ea036a05638ea726e1f3ca5d355 Mon Sep 17 00:00:00 2001
+From 7585229ad1aea953568798708fc2ead8cb90f63d 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
@@ -55,7 +55,7 @@ Patchset: surface-sam-over-hid
  1 file changed, 35 insertions(+)
 
 diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
-index 14ae0cfc325ef..a3a9f81fb47ff 100644
+index 14ae0cfc325e..a3a9f81fb47f 100644
 --- a/drivers/i2c/i2c-core-acpi.c
 +++ b/drivers/i2c/i2c-core-acpi.c
 @@ -639,6 +639,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
@@ -108,9 +108,9 @@ index 14ae0cfc325ef..a3a9f81fb47ff 100644
  		dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
  			 accessor_type, client->addr);
 -- 
-2.45.1
+2.45.2
 
-From 7e84459d76ac641f836ed4831446be21df1ebee7 Mon Sep 17 00:00:00 2001
+From 801a75c7cc5bef355d1e631a44ae5633859b7846 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 13 Feb 2021 16:41:18 +0100
 Subject: [PATCH] platform/surface: Add driver for Surface Book 1 dGPU switch
@@ -133,7 +133,7 @@ Patchset: surface-sam-over-hid
  create mode 100644 drivers/platform/surface/surfacebook1_dgpu_switch.c
 
 diff --git a/drivers/platform/surface/Kconfig b/drivers/platform/surface/Kconfig
-index b629e82af97c0..68656e8f309ed 100644
+index b629e82af97c..68656e8f309e 100644
 --- a/drivers/platform/surface/Kconfig
 +++ b/drivers/platform/surface/Kconfig
 @@ -149,6 +149,13 @@ config SURFACE_AGGREGATOR_TABLET_SWITCH
@@ -151,7 +151,7 @@ index b629e82af97c0..68656e8f309ed 100644
  	tristate "Surface DTX (Detachment System) Driver"
  	depends on SURFACE_AGGREGATOR
 diff --git a/drivers/platform/surface/Makefile b/drivers/platform/surface/Makefile
-index 53344330939bf..7efcd0cdb5329 100644
+index 53344330939b..7efcd0cdb532 100644
 --- a/drivers/platform/surface/Makefile
 +++ b/drivers/platform/surface/Makefile
 @@ -12,6 +12,7 @@ obj-$(CONFIG_SURFACE_AGGREGATOR_CDEV)	+= surface_aggregator_cdev.o
@@ -164,7 +164,7 @@ index 53344330939bf..7efcd0cdb5329 100644
  obj-$(CONFIG_SURFACE_HOTPLUG)		+= surface_hotplug.o
 diff --git a/drivers/platform/surface/surfacebook1_dgpu_switch.c b/drivers/platform/surface/surfacebook1_dgpu_switch.c
 new file mode 100644
-index 0000000000000..8b816ed8f35c6
+index 000000000000..8b816ed8f35c
 --- /dev/null
 +++ b/drivers/platform/surface/surfacebook1_dgpu_switch.c
 @@ -0,0 +1,162 @@
@@ -331,5 +331,5 @@ index 0000000000000..8b816ed8f35c6
 +MODULE_DESCRIPTION("Discrete GPU Power-Switch for Surface Book 1");
 +MODULE_LICENSE("GPL");
 -- 
-2.45.1
+2.45.2
 

+ 6 - 6
patches/6.9/0009-surface-button.patch

@@ -1,4 +1,4 @@
-From 9d868315b886f83d0eb887d0a5ffadcb90788cea Mon Sep 17 00:00:00 2001
+From a012f0cf803890100e9f94b0f7b6407a53878f3c Mon Sep 17 00:00:00 2001
 From: Sachi King <nakato@nakato.io>
 Date: Tue, 5 Oct 2021 00:05:09 +1100
 Subject: [PATCH] Input: soc_button_array - support AMD variant Surface devices
@@ -20,7 +20,7 @@ Patchset: surface-button
  1 file changed, 8 insertions(+), 25 deletions(-)
 
 diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
-index f6d060377d189..b8603f74eb286 100644
+index f6d060377d18..b8603f74eb28 100644
 --- a/drivers/input/misc/soc_button_array.c
 +++ b/drivers/input/misc/soc_button_array.c
 @@ -540,8 +540,8 @@ static const struct soc_device_data soc_device_MSHW0028 = {
@@ -73,9 +73,9 @@ index f6d060377d189..b8603f74eb286 100644
  
  /*
 -- 
-2.45.1
+2.45.2
 
-From 2bb3998d481e605b9733230e1dbf2a7d6ba83999 Mon Sep 17 00:00:00 2001
+From 5cd243c3828123961c317d7fa72f87757b4309ef Mon Sep 17 00:00:00 2001
 From: Sachi King <nakato@nakato.io>
 Date: Tue, 5 Oct 2021 00:22:57 +1100
 Subject: [PATCH] platform/surface: surfacepro3_button: don't load on amd
@@ -96,7 +96,7 @@ Patchset: surface-button
  1 file changed, 6 insertions(+), 24 deletions(-)
 
 diff --git a/drivers/platform/surface/surfacepro3_button.c b/drivers/platform/surface/surfacepro3_button.c
-index 2755601f979cd..4240c98ca2265 100644
+index 2755601f979c..4240c98ca226 100644
 --- a/drivers/platform/surface/surfacepro3_button.c
 +++ b/drivers/platform/surface/surfacepro3_button.c
 @@ -149,7 +149,8 @@ static int surface_button_resume(struct device *dev)
@@ -145,5 +145,5 @@ index 2755601f979cd..4240c98ca2265 100644
  
  
 -- 
-2.45.1
+2.45.2
 

+ 9 - 9
patches/6.9/0010-surface-typecover.patch

@@ -1,4 +1,4 @@
-From 85296a664c811c04159d9711aa5b473bb469f55c Mon Sep 17 00:00:00 2001
+From 8337e937c2495cd8b9de9b44f9f64c2817904788 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sat, 18 Feb 2023 01:02:49 +0100
 Subject: [PATCH] USB: quirks: Add USB_QUIRK_DELAY_INIT for Surface Go 3
@@ -23,7 +23,7 @@ Patchset: surface-typecover
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
-index 13171454f9591..a83beefd25f3f 100644
+index 13171454f959..a83beefd25f3 100644
 --- a/drivers/usb/core/quirks.c
 +++ b/drivers/usb/core/quirks.c
 @@ -223,6 +223,9 @@ static const struct usb_device_id usb_quirk_list[] = {
@@ -37,9 +37,9 @@ index 13171454f9591..a83beefd25f3f 100644
  	{ USB_DEVICE(0x046a, 0x0023), .driver_info = USB_QUIRK_RESET_RESUME },
  
 -- 
-2.45.1
+2.45.2
 
-From 8335c380e55c3640cbd9342c34be2c901d837413 Mon Sep 17 00:00:00 2001
+From 9bf4f93024adfd53daffce089a685fcc5d6d5d9b 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
@@ -75,7 +75,7 @@ Patchset: surface-typecover
  1 file changed, 98 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 56fc78841f245..a266449065a0a 100644
+index 56fc78841f24..a266449065a0 100644
 --- a/drivers/hid/hid-multitouch.c
 +++ b/drivers/hid/hid-multitouch.c
 @@ -34,7 +34,10 @@
@@ -270,9 +270,9 @@ index 56fc78841f245..a266449065a0a 100644
  	{ .driver_data = MT_CLS_GOOGLE,
  		HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE,
 -- 
-2.45.1
+2.45.2
 
-From c54e07fc833334829c1ba249683337e3e09ec212 Mon Sep 17 00:00:00 2001
+From afee306eb14e58d48ddac5e2807d1e3ddb532d7f Mon Sep 17 00:00:00 2001
 From: PJungkamp <p.jungkamp@gmail.com>
 Date: Fri, 25 Feb 2022 12:04:25 +0100
 Subject: [PATCH] hid/multitouch: Add support for surface pro type cover tablet
@@ -301,7 +301,7 @@ Patchset: surface-typecover
  1 file changed, 122 insertions(+), 26 deletions(-)
 
 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index a266449065a0a..060c706e936ac 100644
+index a266449065a0..060c706e936a 100644
 --- a/drivers/hid/hid-multitouch.c
 +++ b/drivers/hid/hid-multitouch.c
 @@ -77,6 +77,7 @@ MODULE_LICENSE("GPL");
@@ -569,5 +569,5 @@ index a266449065a0a..060c706e936ac 100644
  	unregister_pm_notifier(&td->pm_notifier);
  	del_timer_sync(&td->release_timer);
 -- 
-2.45.1
+2.45.2
 

+ 5 - 5
patches/6.9/0011-surface-shutdown.patch

@@ -1,4 +1,4 @@
-From 2426c81454db39a94e544b8c29eaf3ca4cbd5230 Mon Sep 17 00:00:00 2001
+From 6ab472fbfe2677b038998f6482da35a7daf3c14d Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 19 Feb 2023 22:12:24 +0100
 Subject: [PATCH] PCI: Add quirk to prevent calling shutdown mehtod
@@ -23,7 +23,7 @@ Patchset: surface-shutdown
  3 files changed, 40 insertions(+)
 
 diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
-index af2996d0d17ff..3ce0fb61257dc 100644
+index af2996d0d17f..3ce0fb61257d 100644
 --- a/drivers/pci/pci-driver.c
 +++ b/drivers/pci/pci-driver.c
 @@ -505,6 +505,9 @@ static void pci_device_shutdown(struct device *dev)
@@ -37,7 +37,7 @@ index af2996d0d17ff..3ce0fb61257dc 100644
  
  	if (drv && drv->shutdown)
 diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
-index eff7f5df08e27..d1cb4ff3ebc57 100644
+index eff7f5df08e2..d1cb4ff3ebc5 100644
 --- a/drivers/pci/quirks.c
 +++ b/drivers/pci/quirks.c
 @@ -6253,3 +6253,39 @@ static void pci_fixup_d3cold_delay_1sec(struct pci_dev *pdev)
@@ -81,7 +81,7 @@ index eff7f5df08e27..d1cb4ff3ebc57 100644
 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x466d, quirk_no_shutdown);  // Thunderbolt 4 NHI
 +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x46a8, quirk_no_shutdown);  // GPU
 diff --git a/include/linux/pci.h b/include/linux/pci.h
-index 6f9c5ed5eb3ba..01ec9872f2bc4 100644
+index 6f9c5ed5eb3b..01ec9872f2bc 100644
 --- a/include/linux/pci.h
 +++ b/include/linux/pci.h
 @@ -465,6 +465,7 @@ struct pci_dev {
@@ -93,5 +93,5 @@ index 6f9c5ed5eb3ba..01ec9872f2bc4 100644
  	atomic_t	enable_cnt;	/* pci_enable_device has been called */
  
 -- 
-2.45.1
+2.45.2
 

+ 3 - 3
patches/6.9/0012-surface-gpe.patch

@@ -1,4 +1,4 @@
-From 0d62f4e462753400db41bd4afe964c79fbc5beeb Mon Sep 17 00:00:00 2001
+From 453898d99903c0e2a3c9b9b7f297abcb1af80d25 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Sun, 12 Mar 2023 01:41:57 +0100
 Subject: [PATCH] platform/surface: gpe: Add support for Surface Pro 9
@@ -12,7 +12,7 @@ Patchset: surface-gpe
  1 file changed, 17 insertions(+)
 
 diff --git a/drivers/platform/surface/surface_gpe.c b/drivers/platform/surface/surface_gpe.c
-index 62fd4004db31a..103fc4468262a 100644
+index 62fd4004db31..103fc4468262 100644
 --- a/drivers/platform/surface/surface_gpe.c
 +++ b/drivers/platform/surface/surface_gpe.c
 @@ -41,6 +41,11 @@ static const struct property_entry lid_device_props_l4F[] = {
@@ -47,5 +47,5 @@ index 62fd4004db31a..103fc4468262a 100644
  		.ident = "Surface Book 1",
  		.matches = {
 -- 
-2.45.1
+2.45.2
 

+ 36 - 36
patches/6.9/0013-cameras.patch

@@ -1,4 +1,4 @@
-From 594b923f6a4571195fa63773639646bed2e2bb4e Mon Sep 17 00:00:00 2001
+From 2c667679a6694ea9720c30be32ba73977638ac3a Mon Sep 17 00:00:00 2001
 From: Hans de Goede <hdegoede@redhat.com>
 Date: Sun, 10 Oct 2021 20:56:57 +0200
 Subject: [PATCH] ACPI: delay enumeration of devices with a _DEP pointing to an
@@ -58,7 +58,7 @@ Patchset: cameras
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
-index d1464324de951..5d865a34dd9db 100644
+index d1464324de95..5d865a34dd9d 100644
 --- a/drivers/acpi/scan.c
 +++ b/drivers/acpi/scan.c
 @@ -2181,6 +2181,9 @@ static acpi_status acpi_bus_check_add_2(acpi_handle handle, u32 lvl_not_used,
@@ -72,9 +72,9 @@ index d1464324de951..5d865a34dd9db 100644
  	 * Do not enumerate devices with enumeration_by_parent flag set as
  	 * they will be enumerated by their respective parents.
 -- 
-2.45.1
+2.45.2
 
-From fb80060df68ffb77d006dffeb0d799b6b463e48c Mon Sep 17 00:00:00 2001
+From 0ac07f51d4c870ab988a572a9bdf9e3dde99ae46 Mon Sep 17 00:00:00 2001
 From: zouxiaoh <xiaohong.zou@intel.com>
 Date: Fri, 25 Jun 2021 08:52:59 +0800
 Subject: [PATCH] iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs
@@ -100,7 +100,7 @@ Patchset: cameras
  1 file changed, 30 insertions(+)
 
 diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c
-index 61bc54299a591..a61af0f4e9fce 100644
+index 61bc54299a59..a61af0f4e9fc 100644
 --- a/drivers/iommu/intel/iommu.c
 +++ b/drivers/iommu/intel/iommu.c
 @@ -44,6 +44,13 @@
@@ -182,9 +182,9 @@ index 61bc54299a591..a61af0f4e9fce 100644
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x9D3E, quirk_iommu_ipts);
  DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x34E4, quirk_iommu_ipts);
 -- 
-2.45.1
+2.45.2
 
-From eb3ed16ab7a069d5ecc11f6a2211caca3c574c5c Mon Sep 17 00:00:00 2001
+From 1c90833561276f2ca96a844a980a4660255fd241 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <djrscally@gmail.com>
 Date: Sun, 10 Oct 2021 20:57:02 +0200
 Subject: [PATCH] platform/x86: int3472: Enable I2c daisy chain
@@ -201,7 +201,7 @@ Patchset: cameras
  1 file changed, 7 insertions(+)
 
 diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platform/x86/intel/int3472/tps68470.c
-index 1e107fd49f828..e3e1696e7f0ee 100644
+index 1e107fd49f82..e3e1696e7f0e 100644
 --- a/drivers/platform/x86/intel/int3472/tps68470.c
 +++ b/drivers/platform/x86/intel/int3472/tps68470.c
 @@ -46,6 +46,13 @@ static int tps68470_chip_init(struct device *dev, struct regmap *regmap)
@@ -219,9 +219,9 @@ index 1e107fd49f828..e3e1696e7f0ee 100644
  
  	return 0;
 -- 
-2.45.1
+2.45.2
 
-From 29b7931d1f73183b14b407ee2f6d1e3cdf8d2e23 Mon Sep 17 00:00:00 2001
+From 9a9c937d189290f66f1744119731887a3acc6d10 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <dan.scally@ideasonboard.com>
 Date: Thu, 2 Mar 2023 12:59:39 +0000
 Subject: [PATCH] platform/x86: int3472: Remap reset GPIO for INT347E
@@ -243,7 +243,7 @@ Patchset: cameras
  1 file changed, 14 insertions(+)
 
 diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c
-index 07b302e093407..1d3097bc7e487 100644
+index 07b302e09340..1d3097bc7e48 100644
 --- a/drivers/platform/x86/intel/int3472/discrete.c
 +++ b/drivers/platform/x86/intel/int3472/discrete.c
 @@ -83,12 +83,26 @@ static int skl_int3472_map_gpio_to_sensor(struct int3472_discrete_device *int347
@@ -274,9 +274,9 @@ index 07b302e093407..1d3097bc7e487 100644
  					    agpio, func, polarity);
  	if (ret)
 -- 
-2.45.1
+2.45.2
 
-From 6319fff6505329f27cc622fb2a0b604c04ed3bd2 Mon Sep 17 00:00:00 2001
+From b329ea16ddeae06460a32495f79cd82d1c58ee65 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <dan.scally@ideasonboard.com>
 Date: Tue, 21 Mar 2023 13:45:26 +0000
 Subject: [PATCH] media: i2c: Clarify that gain is Analogue gain in OV7251
@@ -291,7 +291,7 @@ Patchset: cameras
  1 file changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/media/i2c/ov7251.c b/drivers/media/i2c/ov7251.c
-index 30f61e04ecaf5..9c1292ca85522 100644
+index 30f61e04ecaf..9c1292ca8552 100644
 --- a/drivers/media/i2c/ov7251.c
 +++ b/drivers/media/i2c/ov7251.c
 @@ -1051,7 +1051,7 @@ static int ov7251_s_ctrl(struct v4l2_ctrl *ctrl)
@@ -313,9 +313,9 @@ index 30f61e04ecaf5..9c1292ca85522 100644
  				     V4L2_CID_TEST_PATTERN,
  				     ARRAY_SIZE(ov7251_test_pattern_menu) - 1,
 -- 
-2.45.1
+2.45.2
 
-From 8fe1d3b0660385751147ba14b70bf785de405768 Mon Sep 17 00:00:00 2001
+From 4b407381f7a1272abf62bd19a32240b4abbb5128 Mon Sep 17 00:00:00 2001
 From: Daniel Scally <dan.scally@ideasonboard.com>
 Date: Wed, 22 Mar 2023 11:01:42 +0000
 Subject: [PATCH] media: v4l2-core: Acquire privacy led in
@@ -334,7 +334,7 @@ Patchset: cameras
  2 files changed, 4 insertions(+), 4 deletions(-)
 
 diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
-index 4bb073587817c..cbcbf91db640a 100644
+index 4bb073587817..cbcbf91db640 100644
 --- a/drivers/media/v4l2-core/v4l2-async.c
 +++ b/drivers/media/v4l2-core/v4l2-async.c
 @@ -792,6 +792,10 @@ int v4l2_async_register_subdev(struct v4l2_subdev *sd)
@@ -349,7 +349,7 @@ index 4bb073587817c..cbcbf91db640a 100644
  	 * No reference taken. The reference is held by the device (struct
  	 * v4l2_subdev.dev), and async sub-device does not exist independently
 diff --git a/drivers/media/v4l2-core/v4l2-fwnode.c b/drivers/media/v4l2-core/v4l2-fwnode.c
-index 89c7192148dfb..44eca113e7727 100644
+index 89c7192148df..44eca113e772 100644
 --- a/drivers/media/v4l2-core/v4l2-fwnode.c
 +++ b/drivers/media/v4l2-core/v4l2-fwnode.c
 @@ -1219,10 +1219,6 @@ int v4l2_async_register_subdev_sensor(struct v4l2_subdev *sd)
@@ -364,9 +364,9 @@ index 89c7192148dfb..44eca113e7727 100644
  	if (ret < 0)
  		goto out_cleanup;
 -- 
-2.45.1
+2.45.2
 
-From 801bb9a48ddc1eb3ce5353d0d5c7315851efcce1 Mon Sep 17 00:00:00 2001
+From 1058d4acabef10a3e2002f4c6017cc9f83300ec9 Mon Sep 17 00:00:00 2001
 From: Kate Hsuan <hpa@redhat.com>
 Date: Tue, 21 Mar 2023 23:37:16 +0800
 Subject: [PATCH] platform: x86: int3472: Add MFD cell for tps68470 LED
@@ -382,7 +382,7 @@ Patchset: cameras
  1 file changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/drivers/platform/x86/intel/int3472/tps68470.c b/drivers/platform/x86/intel/int3472/tps68470.c
-index e3e1696e7f0ee..423dc555093f7 100644
+index e3e1696e7f0e..423dc555093f 100644
 --- a/drivers/platform/x86/intel/int3472/tps68470.c
 +++ b/drivers/platform/x86/intel/int3472/tps68470.c
 @@ -17,7 +17,7 @@
@@ -405,9 +405,9 @@ index e3e1696e7f0ee..423dc555093f7 100644
  		for (i = 0; i < board_data->n_gpiod_lookups; i++)
  			gpiod_add_lookup_table(board_data->tps68470_gpio_lookup_tables[i]);
 -- 
-2.45.1
+2.45.2
 
-From b5bf7bf96d471674edb3adc1ca037d22104a8151 Mon Sep 17 00:00:00 2001
+From 0c84792426ef55475cf21abe08692e849baea648 Mon Sep 17 00:00:00 2001
 From: Kate Hsuan <hpa@redhat.com>
 Date: Tue, 21 Mar 2023 23:37:17 +0800
 Subject: [PATCH] include: mfd: tps68470: Add masks for LEDA and LEDB
@@ -425,7 +425,7 @@ Patchset: cameras
  1 file changed, 5 insertions(+)
 
 diff --git a/include/linux/mfd/tps68470.h b/include/linux/mfd/tps68470.h
-index 7807fa329db00..2d2abb25b944f 100644
+index 7807fa329db0..2d2abb25b944 100644
 --- a/include/linux/mfd/tps68470.h
 +++ b/include/linux/mfd/tps68470.h
 @@ -34,6 +34,7 @@
@@ -446,9 +446,9 @@ index 7807fa329db00..2d2abb25b944f 100644
 +
  #endif /* __LINUX_MFD_TPS68470_H */
 -- 
-2.45.1
+2.45.2
 
-From eb8c1aedc9f1b8ea35d575a3d5ff7cec5a038945 Mon Sep 17 00:00:00 2001
+From bcdf2d2c87ec937d77fad091d249f321d9adc727 Mon Sep 17 00:00:00 2001
 From: Kate Hsuan <hpa@redhat.com>
 Date: Tue, 21 Mar 2023 23:37:18 +0800
 Subject: [PATCH] leds: tps68470: Add LED control for tps68470
@@ -471,7 +471,7 @@ Patchset: cameras
  create mode 100644 drivers/leds/leds-tps68470.c
 
 diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig
-index 05e6af88b88cd..c120eb0b5aa8e 100644
+index 05e6af88b88c..c120eb0b5aa8 100644
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
 @@ -909,6 +909,18 @@ config LEDS_TPS6105X
@@ -494,7 +494,7 @@ index 05e6af88b88cd..c120eb0b5aa8e 100644
  	tristate "LED support for SGI Octane machines"
  	depends on LEDS_CLASS
 diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile
-index effdfc6f1e951..6ce609b2cdac6 100644
+index effdfc6f1e95..6ce609b2cdac 100644
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
 @@ -86,6 +86,7 @@ obj-$(CONFIG_LEDS_TCA6507)		+= leds-tca6507.o
@@ -507,7 +507,7 @@ index effdfc6f1e951..6ce609b2cdac6 100644
  obj-$(CONFIG_LEDS_WM8350)		+= leds-wm8350.o
 diff --git a/drivers/leds/leds-tps68470.c b/drivers/leds/leds-tps68470.c
 new file mode 100644
-index 0000000000000..35aeb5db89c8f
+index 000000000000..35aeb5db89c8
 --- /dev/null
 +++ b/drivers/leds/leds-tps68470.c
 @@ -0,0 +1,185 @@
@@ -697,9 +697,9 @@ index 0000000000000..35aeb5db89c8f
 +MODULE_DESCRIPTION("LED driver for TPS68470 PMIC");
 +MODULE_LICENSE("GPL v2");
 -- 
-2.45.1
+2.45.2
 
-From f4f947cb92583d5358a128c8d9f3508b5af9124c Mon Sep 17 00:00:00 2001
+From 95b7370aee5aed2b2cad5baf8a6835b47fd2d8a5 Mon Sep 17 00:00:00 2001
 From: mojyack <mojyack@gmail.com>
 Date: Sat, 3 Feb 2024 12:59:53 +0900
 Subject: [PATCH] media: staging: ipu3-imgu: Fix multiple calls of s_stream on
@@ -713,7 +713,7 @@ Patchset: cameras
  1 file changed, 8 insertions(+), 8 deletions(-)
 
 diff --git a/drivers/staging/media/ipu3/ipu3-v4l2.c b/drivers/staging/media/ipu3/ipu3-v4l2.c
-index 3df58eb3e8822..81aff2d5d8988 100644
+index 3df58eb3e882..81aff2d5d898 100644
 --- a/drivers/staging/media/ipu3/ipu3-v4l2.c
 +++ b/drivers/staging/media/ipu3/ipu3-v4l2.c
 @@ -538,18 +538,18 @@ static void imgu_vb2_stop_streaming(struct vb2_queue *vq)
@@ -744,9 +744,9 @@ index 3df58eb3e8822..81aff2d5d8988 100644
  		r = imgu_s_stream(imgu, false);
  		if (!r)
 -- 
-2.45.1
+2.45.2
 
-From c3495660cd36f2dca4371530ae94a42adab57f71 Mon Sep 17 00:00:00 2001
+From 7078234b232f3ebc7b79b14e385c70a3bfd31b4d Mon Sep 17 00:00:00 2001
 From: mojyack <mojyack@gmail.com>
 Date: Tue, 26 Mar 2024 05:55:44 +0900
 Subject: [PATCH] media: i2c: dw9719: fix probe error on surface go 2
@@ -762,7 +762,7 @@ Patchset: cameras
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/media/i2c/dw9719.c b/drivers/media/i2c/dw9719.c
-index c626ed845928c..0094cfda57ea8 100644
+index c626ed845928..0094cfda57ea 100644
 --- a/drivers/media/i2c/dw9719.c
 +++ b/drivers/media/i2c/dw9719.c
 @@ -82,6 +82,9 @@ static int dw9719_power_up(struct dw9719_device *dw9719)
@@ -776,5 +776,5 @@ index c626ed845928c..0094cfda57ea8 100644
  	cci_write(dw9719->regmap, DW9719_CONTROL, 1, &ret);
  
 -- 
-2.45.1
+2.45.2
 

+ 6 - 6
patches/6.9/0014-amd-gpio.patch

@@ -1,4 +1,4 @@
-From 7b3fa7073f0ce137fa8ed1192e37c48772705052 Mon Sep 17 00:00:00 2001
+From e77ba620d8f52dacab1b3515fe05617fd7b28141 Mon Sep 17 00:00:00 2001
 From: Sachi King <nakato@nakato.io>
 Date: Sat, 29 May 2021 17:47:38 +1000
 Subject: [PATCH] ACPI: Add quirk for Surface Laptop 4 AMD missing irq 7
@@ -21,7 +21,7 @@ Patchset: amd-gpio
  1 file changed, 17 insertions(+)
 
 diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
-index 4bf82dbd2a6b5..7a8cb090c6568 100644
+index 4bf82dbd2a6b..7a8cb090c656 100644
 --- a/arch/x86/kernel/acpi/boot.c
 +++ b/arch/x86/kernel/acpi/boot.c
 @@ -22,6 +22,7 @@
@@ -63,9 +63,9 @@ index 4bf82dbd2a6b5..7a8cb090c6568 100644
  	mp_config_acpi_legacy_irqs();
  
 -- 
-2.45.1
+2.45.2
 
-From bad564b5cc50539fe028ccac8b67b0896fbde7fa Mon Sep 17 00:00:00 2001
+From 07d6fb46ee1d967a8882c85e0abc0ce12dffbf1d Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
 Date: Thu, 3 Jun 2021 14:04:26 +0200
 Subject: [PATCH] ACPI: Add AMD 13" Surface Laptop 4 model to irq 7 override
@@ -80,7 +80,7 @@ Patchset: amd-gpio
  1 file changed, 8 insertions(+), 1 deletion(-)
 
 diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
-index 7a8cb090c6568..0faafc323e673 100644
+index 7a8cb090c656..0faafc323e67 100644
 --- a/arch/x86/kernel/acpi/boot.c
 +++ b/arch/x86/kernel/acpi/boot.c
 @@ -1219,12 +1219,19 @@ static void __init mp_config_acpi_legacy_irqs(void)
@@ -105,5 +105,5 @@ index 7a8cb090c6568..0faafc323e673 100644
  };
  
 -- 
-2.45.1
+2.45.2
 

+ 3 - 3
patches/6.9/0015-rtc.patch

@@ -1,4 +1,4 @@
-From 0d942a7b3bc0613de7ae4c7583bd9625e75c203a Mon Sep 17 00:00:00 2001
+From d42ba535b58d5fb2325b26fba1460435afa86dac Mon Sep 17 00:00:00 2001
 From: "Bart Groeneveld | GPX Solutions B.V" <bart@gpxbv.nl>
 Date: Mon, 5 Dec 2022 16:08:46 +0100
 Subject: [PATCH] acpi: allow usage of acpi_tad on HW-reduced platforms
@@ -21,7 +21,7 @@ Patchset: rtc
  1 file changed, 24 insertions(+), 12 deletions(-)
 
 diff --git a/drivers/acpi/acpi_tad.c b/drivers/acpi/acpi_tad.c
-index 1d670dbe4d1dd..71c9e375ca1ca 100644
+index 1d670dbe4d1d..71c9e375ca1c 100644
 --- a/drivers/acpi/acpi_tad.c
 +++ b/drivers/acpi/acpi_tad.c
 @@ -432,6 +432,14 @@ static ssize_t caps_show(struct device *dev, struct device_attribute *attr,
@@ -106,5 +106,5 @@ index 1d670dbe4d1dd..71c9e375ca1ca 100644
  		ret = sysfs_create_group(&dev->kobj, &acpi_tad_dc_attr_group);
  		if (ret)
 -- 
-2.45.1
+2.45.2