瀏覽代碼

Update v5.7 patches

Changes:
  SAM:
    - Enable performance modes on Surface Laptop 1 and 2.
    - Support for D0-exit/D0-entry notifications, sent to the SAM
      controller when suspending (D0-exit) or resuming (D0-entry) on
      newer (gen. 7+) devices.
    - Replace sysfs-based debug device with new debugfs-based debug
      device.
    - More internal restructuring and internal API changes.
    - Some small bug fixes.

  SAM-over-HID:
    - Add ACPI support for SAM-over-HID. This allows setting dGPU power
      on the Surface Book 1 via ACPI calls.

Links:
- kernel: https://github.com/linux-surface/kernel/commit/551b70e29582e2ccd1ec255ebdd464f090f00e1b
- SAM: https://github.com/linux-surface/surface-aggregator-module/commit/89b8232d49856a3a1e9710761a87d81c347b574f
Maximilian Luz 5 年之前
父節點
當前提交
8fb0a8e62a

+ 3 - 1
configs/surface-5.7.config

@@ -4,7 +4,8 @@
 CONFIG_GPIO_SYSFS=y                         # required for SURFACE_SAM_HPS
 CONFIG_SURFACE_SAM=m
 CONFIG_SURFACE_SAM_SSH=m
-CONFIG_SURFACE_SAM_SSH_DEBUG_DEVICE=y
+CONFIG_SURFACE_SAM_SSH_ERROR_INJECTION=n
+CONFIG_SURFACE_SAM_DEBUGFS=m
 CONFIG_SURFACE_SAM_SAN=m
 CONFIG_SURFACE_SAM_VHF=m
 CONFIG_SURFACE_SAM_DTX=m
@@ -15,6 +16,7 @@ CONFIG_SURFACE_SAM_SID_PERFMODE=m
 CONFIG_SURFACE_SAM_SID_VHF=m
 CONFIG_SURFACE_SAM_SID_POWER=m
 
+
 #
 # IPTS touchscreen
 #

+ 6 - 6
patches/5.7/0001-surface3-oemb.patch

@@ -1,7 +1,7 @@
-From 6230d1f07f3a1348abe61d624fbda86de6e05a92 Mon Sep 17 00:00:00 2001
+From b39f1ffc5acaf5fb37349604be84dcf7bae99db8 Mon Sep 17 00:00:00 2001
 From: Chih-Wei Huang <cwhuang@linux.org.tw>
 Date: Tue, 18 Sep 2018 11:01:37 +0800
-Subject: [PATCH 1/4] surface3-oemb
+Subject: [PATCH 1/5] surface3-oemb
 
 ---
  drivers/platform/x86/surface3-wmi.c               | 7 +++++++
@@ -10,7 +10,7 @@ Subject: [PATCH 1/4] surface3-oemb
  3 files changed, 24 insertions(+)
 
 diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/x86/surface3-wmi.c
-index 130b6f52a600..801083aa56d6 100644
+index 130b6f52a6001..801083aa56d6d 100644
 --- a/drivers/platform/x86/surface3-wmi.c
 +++ b/drivers/platform/x86/surface3-wmi.c
 @@ -37,6 +37,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
@@ -28,7 +28,7 @@ index 130b6f52a600..801083aa56d6 100644
  	{ }
  };
 diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
-index e2e1d5b03b38..5ff38592ba6d 100644
+index e2e1d5b03b381..5ff38592ba6db 100644
 --- a/sound/soc/codecs/rt5645.c
 +++ b/sound/soc/codecs/rt5645.c
 @@ -3687,6 +3687,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
@@ -48,7 +48,7 @@ index e2e1d5b03b38..5ff38592ba6d 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 2752dc955733..ef36a316e2ed 100644
+index 2752dc9557334..ef36a316e2ed6 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[] = {
@@ -67,5 +67,5 @@ index 2752dc955733..ef36a316e2ed 100644
  };
  
 -- 
-2.27.0
+2.28.0
 

文件差異過大導致無法顯示
+ 448 - 178
patches/5.7/0002-surface-sam.patch


+ 65 - 0
patches/5.7/0003-surface-sam-over-hid.patch

@@ -0,0 +1,65 @@
+From 145e87fbe43296e4f4b5ace50f4634f7dc1e5617 Mon Sep 17 00:00:00 2001
+From: Maximilian Luz <luzmaximilian@gmail.com>
+Date: Sat, 25 Jul 2020 17:19:53 +0200
+Subject: [PATCH 3/5] surface-sam-over-hid
+
+---
+ drivers/i2c/i2c-core-acpi.c | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c
+index c8f42f2037cbe..bad03bee6e6f3 100644
+--- a/drivers/i2c/i2c-core-acpi.c
++++ b/drivers/i2c/i2c-core-acpi.c
+@@ -578,6 +578,28 @@ static int acpi_gsb_i2c_write_bytes(struct i2c_client *client,
+ 	return (ret == 1) ? 0 : -EIO;
+ }
+ 
++static int acpi_gsb_i2c_write_raw_bytes(struct i2c_client *client,
++		u8 *data, u8 data_len)
++{
++	struct i2c_msg msgs[1];
++	int ret = AE_OK;
++
++	msgs[0].addr = client->addr;
++	msgs[0].flags = client->flags;
++	msgs[0].len = data_len + 1;
++	msgs[0].buf = data;
++
++	ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));
++
++	if (ret < 0) {
++		dev_err(&client->adapter->dev, "i2c write failed: %d\n", ret);
++		return ret;
++	}
++
++	/* 1 transfer must have completed successfully */
++	return (ret == 1) ? 0 : -EIO;
++}
++
+ static acpi_status
+ i2c_acpi_space_handler(u32 function, acpi_physical_address command,
+ 			u32 bits, u64 *value64,
+@@ -679,6 +701,19 @@ i2c_acpi_space_handler(u32 function, acpi_physical_address command,
+ 		}
+ 		break;
+ 
++	case ACPI_GSB_ACCESS_ATTRIB_RAW_BYTES:
++		if (action == ACPI_READ) {
++			dev_warn(&adapter->dev,
++				 "protocol 0x%02x not supported for client 0x%02x\n",
++				 accessor_type, client->addr);
++			ret = AE_BAD_PARAMETER;
++			goto err;
++		} else {
++			status = acpi_gsb_i2c_write_raw_bytes(client,
++					gsb->data, info->access_length);
++		}
++		break;
++
+ 	default:
+ 		dev_warn(&adapter->dev, "protocol 0x%02x not supported for client 0x%02x\n",
+ 			 accessor_type, client->addr);
+-- 
+2.28.0
+

+ 6 - 6
patches/5.7/0003-wifi.patch → patches/5.7/0004-wifi.patch

@@ -1,7 +1,7 @@
-From 2296c53f01b45fb86d2d3e7d1d164feb5422ce34 Mon Sep 17 00:00:00 2001
+From 9038ba92f1b8c0045b3bd90ec87b95c6ea6ce0a3 Mon Sep 17 00:00:00 2001
 From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
 Date: Thu, 20 Feb 2020 16:51:11 +0900
-Subject: [PATCH 3/4] wifi
+Subject: [PATCH 4/5] wifi
 
 ---
  .../net/wireless/marvell/mwifiex/cfg80211.c   | 26 ++++++
@@ -10,7 +10,7 @@ Subject: [PATCH 3/4] wifi
  3 files changed, 84 insertions(+), 57 deletions(-)
 
 diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
-index 12bfd653a405..68404a176794 100644
+index 12bfd653a4052..68404a1767945 100644
 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
 @@ -25,6 +25,11 @@
@@ -54,7 +54,7 @@ index 12bfd653a405..68404a176794 100644
  }
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
-index 87b4ccca4b9a..3bdad5e80ecb 100644
+index 87b4ccca4b9a2..3bdad5e80ecbb 100644
 --- a/drivers/net/wireless/marvell/mwifiex/pcie.c
 +++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
 @@ -146,38 +146,45 @@ static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
@@ -188,7 +188,7 @@ index 87b4ccca4b9a..3bdad5e80ecb 100644
  		 pdev->vendor, pdev->device, pdev->revision);
  
 diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
-index 0bd93f26bd7f..91b03423c09d 100644
+index 0bd93f26bd7f8..91b03423c09d0 100644
 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
 +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
 @@ -2254,7 +2254,6 @@ int mwifiex_sta_prepare_cmd(struct mwifiex_private *priv, uint16_t cmd_no,
@@ -251,5 +251,5 @@ index 0bd93f26bd7f..91b03423c09d 100644
  	if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
  		/* Send cmd to FW to enable/disable 11D function */
 -- 
-2.27.0
+2.28.0
 

+ 40 - 40
patches/5.7/0004-ipts.patch → patches/5.7/0005-ipts.patch

@@ -1,7 +1,7 @@
-From b7236eb55b8650b1fec27e8a9558341e33e3b7ff Mon Sep 17 00:00:00 2001
+From 1755348b5ee91d63b397657d2de6489c465fb586 Mon Sep 17 00:00:00 2001
 From: Dorian Stoll <dorian.stoll@tmsp.io>
 Date: Mon, 27 Jan 2020 21:16:20 +0100
-Subject: [PATCH 4/4] ipts
+Subject: [PATCH 5/5] ipts
 
 ---
  drivers/input/touchscreen/Kconfig             |   2 +
@@ -76,7 +76,7 @@ Subject: [PATCH 4/4] ipts
  create mode 100644 drivers/input/touchscreen/ipts/stylus.h
 
 diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
-index c071f7c407b6..028ff55d779d 100644
+index c071f7c407b61..028ff55d779d0 100644
 --- a/drivers/input/touchscreen/Kconfig
 +++ b/drivers/input/touchscreen/Kconfig
 @@ -1310,4 +1310,6 @@ config TOUCHSCREEN_IQS5XX
@@ -87,7 +87,7 @@ index c071f7c407b6..028ff55d779d 100644
 +
  endif
 diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
-index 94c6162409b3..864f0e092ab6 100644
+index 94c6162409b37..864f0e092ab67 100644
 --- a/drivers/input/touchscreen/Makefile
 +++ b/drivers/input/touchscreen/Makefile
 @@ -45,6 +45,7 @@ obj-$(CONFIG_TOUCHSCREEN_EXC3000)	+= exc3000.o
@@ -100,7 +100,7 @@ index 94c6162409b3..864f0e092ab6 100644
  obj-$(CONFIG_TOUCHSCREEN_INEXIO)	+= inexio.o
 diff --git a/drivers/input/touchscreen/ipts/Kconfig b/drivers/input/touchscreen/ipts/Kconfig
 new file mode 100644
-index 000000000000..d3c530dafa94
+index 0000000000000..d3c530dafa948
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/Kconfig
 @@ -0,0 +1,16 @@
@@ -122,7 +122,7 @@ index 000000000000..d3c530dafa94
 +	  module will be called ipts.
 diff --git a/drivers/input/touchscreen/ipts/Makefile b/drivers/input/touchscreen/ipts/Makefile
 new file mode 100644
-index 000000000000..0f7c904e7317
+index 0000000000000..0f7c904e73171
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/Makefile
 @@ -0,0 +1,17 @@
@@ -145,7 +145,7 @@ index 000000000000..0f7c904e7317
 +ipts-objs += stylus.o
 diff --git a/drivers/input/touchscreen/ipts/context.h b/drivers/input/touchscreen/ipts/context.h
 new file mode 100644
-index 000000000000..ab26552579a5
+index 0000000000000..ab26552579a5c
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/context.h
 @@ -0,0 +1,60 @@
@@ -211,7 +211,7 @@ index 000000000000..ab26552579a5
 +#endif /* _IPTS_CONTEXT_H_ */
 diff --git a/drivers/input/touchscreen/ipts/control.c b/drivers/input/touchscreen/ipts/control.c
 new file mode 100644
-index 000000000000..9179eca66558
+index 0000000000000..9179eca665585
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/control.c
 @@ -0,0 +1,94 @@
@@ -311,7 +311,7 @@ index 000000000000..9179eca66558
 +}
 diff --git a/drivers/input/touchscreen/ipts/control.h b/drivers/input/touchscreen/ipts/control.h
 new file mode 100644
-index 000000000000..e57609c85d62
+index 0000000000000..e57609c85d62a
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/control.h
 @@ -0,0 +1,18 @@
@@ -335,7 +335,7 @@ index 000000000000..e57609c85d62
 +#endif /* _IPTS_CONTROL_H_ */
 diff --git a/drivers/input/touchscreen/ipts/data.c b/drivers/input/touchscreen/ipts/data.c
 new file mode 100644
-index 000000000000..568bf04f7ea6
+index 0000000000000..568bf04f7ea6e
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/data.c
 @@ -0,0 +1,107 @@
@@ -448,7 +448,7 @@ index 000000000000..568bf04f7ea6
 +}
 diff --git a/drivers/input/touchscreen/ipts/data.h b/drivers/input/touchscreen/ipts/data.h
 new file mode 100644
-index 000000000000..fa72c1be0945
+index 0000000000000..fa72c1be09451
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/data.h
 @@ -0,0 +1,12 @@
@@ -466,7 +466,7 @@ index 000000000000..fa72c1be0945
 +#endif /* _IPTS_DATA_H_ */
 diff --git a/drivers/input/touchscreen/ipts/hid.c b/drivers/input/touchscreen/ipts/hid.c
 new file mode 100644
-index 000000000000..2642990b8c42
+index 0000000000000..2642990b8c420
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/hid.c
 @@ -0,0 +1,38 @@
@@ -510,7 +510,7 @@ index 000000000000..2642990b8c42
 +}
 diff --git a/drivers/input/touchscreen/ipts/hid.h b/drivers/input/touchscreen/ipts/hid.h
 new file mode 100644
-index 000000000000..e6cf38fce454
+index 0000000000000..e6cf38fce4541
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/hid.h
 @@ -0,0 +1,13 @@
@@ -529,7 +529,7 @@ index 000000000000..e6cf38fce454
 +#endif /* _IPTS_HID_H_ */
 diff --git a/drivers/input/touchscreen/ipts/init.c b/drivers/input/touchscreen/ipts/init.c
 new file mode 100644
-index 000000000000..fb70d55542af
+index 0000000000000..fb70d55542af7
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/init.c
 @@ -0,0 +1,93 @@
@@ -628,7 +628,7 @@ index 000000000000..fb70d55542af
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/input/touchscreen/ipts/math.c b/drivers/input/touchscreen/ipts/math.c
 new file mode 100644
-index 000000000000..df956e5447e0
+index 0000000000000..df956e5447e03
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/math.c
 @@ -0,0 +1,103 @@
@@ -737,7 +737,7 @@ index 000000000000..df956e5447e0
 +}
 diff --git a/drivers/input/touchscreen/ipts/math.h b/drivers/input/touchscreen/ipts/math.h
 new file mode 100644
-index 000000000000..8e831074ab60
+index 0000000000000..8e831074ab60b
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/math.h
 @@ -0,0 +1,21 @@
@@ -764,7 +764,7 @@ index 000000000000..8e831074ab60
 +#endif /* _IPTS_MATH_H_ */
 diff --git a/drivers/input/touchscreen/ipts/params.c b/drivers/input/touchscreen/ipts/params.c
 new file mode 100644
-index 000000000000..6aa3f5cf1d76
+index 0000000000000..6aa3f5cf1d762
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/params.c
 @@ -0,0 +1,27 @@
@@ -797,7 +797,7 @@ index 000000000000..6aa3f5cf1d76
 +);
 diff --git a/drivers/input/touchscreen/ipts/params.h b/drivers/input/touchscreen/ipts/params.h
 new file mode 100644
-index 000000000000..1f992a3bc21b
+index 0000000000000..1f992a3bc21b9
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/params.h
 @@ -0,0 +1,15 @@
@@ -818,7 +818,7 @@ index 000000000000..1f992a3bc21b
 +#endif /* _IPTS_PARAMS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/payload.c b/drivers/input/touchscreen/ipts/payload.c
 new file mode 100644
-index 000000000000..3572ddc0f2fb
+index 0000000000000..3572ddc0f2fb0
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/payload.c
 @@ -0,0 +1,52 @@
@@ -876,7 +876,7 @@ index 000000000000..3572ddc0f2fb
 +}
 diff --git a/drivers/input/touchscreen/ipts/payload.h b/drivers/input/touchscreen/ipts/payload.h
 new file mode 100644
-index 000000000000..6603714bb6fd
+index 0000000000000..6603714bb6fd0
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/payload.h
 @@ -0,0 +1,14 @@
@@ -896,7 +896,7 @@ index 000000000000..6603714bb6fd
 +#endif /* _IPTS_PAYLOAD_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/commands.h b/drivers/input/touchscreen/ipts/protocol/commands.h
 new file mode 100644
-index 000000000000..2533dfb13584
+index 0000000000000..2533dfb13584a
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/commands.h
 @@ -0,0 +1,61 @@
@@ -963,7 +963,7 @@ index 000000000000..2533dfb13584
 +#endif /* _IPTS_PROTOCOL_COMMANDS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/data.h b/drivers/input/touchscreen/ipts/protocol/data.h
 new file mode 100644
-index 000000000000..148e0545b2e4
+index 0000000000000..148e0545b2e4e
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/data.h
 @@ -0,0 +1,30 @@
@@ -999,7 +999,7 @@ index 000000000000..148e0545b2e4
 +#endif /* _IPTS_PROTOCOL_DATA_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/events.h b/drivers/input/touchscreen/ipts/protocol/events.h
 new file mode 100644
-index 000000000000..f8b771f90bd2
+index 0000000000000..f8b771f90bd2b
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/events.h
 @@ -0,0 +1,29 @@
@@ -1034,7 +1034,7 @@ index 000000000000..f8b771f90bd2
 +#endif /* _IPTS_PROTOCOL_EVENTS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/feedback.h b/drivers/input/touchscreen/ipts/protocol/feedback.h
 new file mode 100644
-index 000000000000..8b3d8b689ee8
+index 0000000000000..8b3d8b689ee83
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/feedback.h
 @@ -0,0 +1,30 @@
@@ -1070,7 +1070,7 @@ index 000000000000..8b3d8b689ee8
 +#endif /* _IPTS_PROTOCOL_FEEDBACK_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/payload.h b/drivers/input/touchscreen/ipts/protocol/payload.h
 new file mode 100644
-index 000000000000..f46da4ea81f2
+index 0000000000000..f46da4ea81f25
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/payload.h
 @@ -0,0 +1,47 @@
@@ -1123,7 +1123,7 @@ index 000000000000..f46da4ea81f2
 +#endif /* _IPTS_PROTOCOL_PAYLOAD_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/responses.h b/drivers/input/touchscreen/ipts/protocol/responses.h
 new file mode 100644
-index 000000000000..27153d82a5d6
+index 0000000000000..27153d82a5d67
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/responses.h
 @@ -0,0 +1,62 @@
@@ -1191,7 +1191,7 @@ index 000000000000..27153d82a5d6
 +#endif /* _IPTS_PROTOCOL_RESPONSES_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/singletouch.h b/drivers/input/touchscreen/ipts/protocol/singletouch.h
 new file mode 100644
-index 000000000000..bf9912ee2af4
+index 0000000000000..bf9912ee2af4c
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/singletouch.h
 @@ -0,0 +1,17 @@
@@ -1214,7 +1214,7 @@ index 000000000000..bf9912ee2af4
 +#endif /* _IPTS_PROTOCOL_SINGLETOUCH_H_ */
 diff --git a/drivers/input/touchscreen/ipts/protocol/stylus.h b/drivers/input/touchscreen/ipts/protocol/stylus.h
 new file mode 100644
-index 000000000000..950850b365df
+index 0000000000000..950850b365dfb
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/protocol/stylus.h
 @@ -0,0 +1,52 @@
@@ -1272,7 +1272,7 @@ index 000000000000..950850b365df
 +#endif /* _IPTS_PAYLOAD_STYLUS_H_ */
 diff --git a/drivers/input/touchscreen/ipts/receiver.c b/drivers/input/touchscreen/ipts/receiver.c
 new file mode 100644
-index 000000000000..ab283994c3e5
+index 0000000000000..ab283994c3e5f
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/receiver.c
 @@ -0,0 +1,265 @@
@@ -1543,7 +1543,7 @@ index 000000000000..ab283994c3e5
 +}
 diff --git a/drivers/input/touchscreen/ipts/receiver.h b/drivers/input/touchscreen/ipts/receiver.h
 new file mode 100644
-index 000000000000..4d413a0abd4c
+index 0000000000000..4d413a0abd4c5
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/receiver.h
 @@ -0,0 +1,8 @@
@@ -1557,7 +1557,7 @@ index 000000000000..4d413a0abd4c
 +#endif /* _IPTS_RECEIVER_H_ */
 diff --git a/drivers/input/touchscreen/ipts/resources.c b/drivers/input/touchscreen/ipts/resources.c
 new file mode 100644
-index 000000000000..704db9fdd3fd
+index 0000000000000..704db9fdd3fd4
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/resources.c
 @@ -0,0 +1,131 @@
@@ -1694,7 +1694,7 @@ index 000000000000..704db9fdd3fd
 +}
 diff --git a/drivers/input/touchscreen/ipts/resources.h b/drivers/input/touchscreen/ipts/resources.h
 new file mode 100644
-index 000000000000..cf9807b0dbe6
+index 0000000000000..cf9807b0dbe62
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/resources.h
 @@ -0,0 +1,11 @@
@@ -1711,7 +1711,7 @@ index 000000000000..cf9807b0dbe6
 +#endif /* _IPTS_RESOURCES_H_ */
 diff --git a/drivers/input/touchscreen/ipts/singletouch.c b/drivers/input/touchscreen/ipts/singletouch.c
 new file mode 100644
-index 000000000000..ed70444f649c
+index 0000000000000..ed70444f649c4
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/singletouch.c
 @@ -0,0 +1,64 @@
@@ -1781,7 +1781,7 @@ index 000000000000..ed70444f649c
 +}
 diff --git a/drivers/input/touchscreen/ipts/singletouch.h b/drivers/input/touchscreen/ipts/singletouch.h
 new file mode 100644
-index 000000000000..53207497a462
+index 0000000000000..53207497a4628
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/singletouch.h
 @@ -0,0 +1,14 @@
@@ -1801,7 +1801,7 @@ index 000000000000..53207497a462
 +#endif /* _IPTS_SINGLETOUCH_H_ */
 diff --git a/drivers/input/touchscreen/ipts/stylus.c b/drivers/input/touchscreen/ipts/stylus.c
 new file mode 100644
-index 000000000000..987fa756fec3
+index 0000000000000..987fa756fec33
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/stylus.c
 @@ -0,0 +1,179 @@
@@ -1986,7 +1986,7 @@ index 000000000000..987fa756fec3
 +}
 diff --git a/drivers/input/touchscreen/ipts/stylus.h b/drivers/input/touchscreen/ipts/stylus.h
 new file mode 100644
-index 000000000000..5b93add1eac2
+index 0000000000000..5b93add1eac2d
 --- /dev/null
 +++ b/drivers/input/touchscreen/ipts/stylus.h
 @@ -0,0 +1,14 @@
@@ -2005,7 +2005,7 @@ index 000000000000..5b93add1eac2
 +
 +#endif /* _IPTS_STYLUS_H_ */
 diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
-index 7becfc768bbc..3d0f9bfb7c49 100644
+index 7becfc768bbcc..3d0f9bfb7c494 100644
 --- a/drivers/misc/mei/hw-me-regs.h
 +++ b/drivers/misc/mei/hw-me-regs.h
 @@ -59,6 +59,7 @@
@@ -2025,7 +2025,7 @@ index 7becfc768bbc..3d0f9bfb7c49 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 81e759674c1b..4f7ba1cdb3c8 100644
+index 81e759674c1b5..4f7ba1cdb3c84 100644
 --- a/drivers/misc/mei/pci-me.c
 +++ b/drivers/misc/mei/pci-me.c
 @@ -68,6 +68,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@@ -2045,7 +2045,7 @@ index 81e759674c1b..4f7ba1cdb3c8 100644
  	{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_LP, MEI_ME_PCH15_CFG)},
  	{MEI_PCI_DEVICE(MEI_DEV_ID_TGP_H, MEI_ME_PCH15_SPS_CFG)},
 diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h
-index 9a61c28ed3ae..47fc20975245 100644
+index 9a61c28ed3ae4..47fc20975245d 100644
 --- a/include/uapi/linux/input.h
 +++ b/include/uapi/linux/input.h
 @@ -271,6 +271,7 @@ struct input_mask {
@@ -2057,5 +2057,5 @@ index 9a61c28ed3ae..47fc20975245 100644
  /*
   * MT_TOOL types
 -- 
-2.27.0
+2.28.0
 

+ 1 - 0
pkg/arch/kernel/0001-surface3-oemb.patch

@@ -0,0 +1 @@
+../../../patches/5.7/0001-surface3-oemb.patch

+ 0 - 1
pkg/arch/kernel/0001-surface3-spi.patch

@@ -1 +0,0 @@
-../../../patches/5.7/0001-surface3-spi.patch

+ 1 - 0
pkg/arch/kernel/0002-surface-sam.patch

@@ -0,0 +1 @@
+../../../patches/5.7/0002-surface-sam.patch

+ 0 - 1
pkg/arch/kernel/0002-surface3-oemb.patch

@@ -1 +0,0 @@
-../../../patches/5.7/0002-surface3-oemb.patch

+ 1 - 0
pkg/arch/kernel/0003-surface-sam-over-hid.patch

@@ -0,0 +1 @@
+../../../patches/5.7/0003-surface-sam-over-hid.patch

+ 0 - 1
pkg/arch/kernel/0003-surface-sam.patch

@@ -1 +0,0 @@
-../../../patches/5.7/0003-surface-sam.patch

+ 9 - 9
pkg/arch/kernel/PKGBUILD

@@ -24,9 +24,9 @@ source=(
 
   surface.config # surface specific options
   arch.config # config changes for linux-surface kernel
-  0001-surface3-spi.patch
-  0002-surface3-oemb.patch
-  0003-surface-sam.patch
+  0001-surface3-oemb.patch
+  0002-surface-sam.patch
+  0003-surface-sam-over-hid.patch
   0004-wifi.patch
   0005-ipts.patch
 )
@@ -37,13 +37,13 @@ validpgpkeys=(
 )
 sha256sums=('f0e42e3c3b20df6dc40a406cdec8751065c74c07221eea9dbbbae88544b512cc'
             '623601ed9d7879dd9dba1cd50fc8051f9db508b49b4fc0c47c5a9eb9165fc04e'
-            '4662d1c8c5557e7531cfd4175809e832aa2d96771454f9631f5c09c2c40eb881'
+            '4029e92c3bbf9a2a6fde0822be48f7ecfa061dc411859fea7ed56d94dda54ee4'
             '8dbaa21d2c03621b0c5d96c4fbcc7a839bea5a34a5f2279a409c3b404756e753'
-            '989dab18f44d9eea6a26256ab2d75dd6bdd029141b75d77ccc36a172c00ed9f6'
-            'ff0b16e6b365b08e6f211ef4fa67ea8a404c46a62c3957380340cbd68bd68a22'
-            '61e64808dab2b3411863b8df97dadc830e4e8e83a25e1be969040ce30cb14fb0'
-            '02622752d30bbb756bde83ebd407f358bf9d6d4595b84589d1e73b965aa2b9ff'
-            'd084a147586361f5d9f4bf6a68dfb40ff1ba0c8c6dc6b886289a04f60bd4cce4')
+            '094ae6976a21ae8eecc835cf8342d5c62ac54c6d3c8686bf9ba45b8c8133f802'
+            'd90dc7ea1d4dae35fc26466e7d029591372c050e55abb09cb600311fe5b381e4'
+            '789c9a68eb94e1f532f77e67d2d8a9db05f7f8ba8b5f8212901acb56d5ab0965'
+            'be4777910aa70ce9e29af587f0ed7138d212c451db000dad2eba06977734c0d8'
+            '27cf02268fb37ab97f20187b2e96f4b80ed89b1accc8054f9ca29a14a6c94f85')
 
 
 export KBUILD_BUILD_HOST=archlinux

部分文件因文件數量過多而無法顯示