Jelajahi Sumber

ipts-5.2: fix crash after some use

- ipts: fix crash caused by calling ipts_send_feedback() repeatedly
(v2-ipts-fix-crash-caused-by-calling-ipts_send_feedback-.patch from kitakar5525/ipts-fix-crash)
kitakar5525 5 tahun lalu
induk
melakukan
03e4a8dff3
1 mengubah file dengan 96 tambahan dan 48 penghapusan
  1. 96 48
      patches/5.2/0005-ipts.patch

+ 96 - 48
patches/5.2/0005-ipts.patch

@@ -1,6 +1,6 @@
-From 20a9d7520a725aebf3fb9fdedd91525041345378 Mon Sep 17 00:00:00 2001
-From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:45:32 +0200
+From d5f7538c2e18ef6e3d6290db4c3372e1509b9150 Mon Sep 17 00:00:00 2001
+From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
+Date: Tue, 10 Sep 2019 21:54:42 +0900
 Subject: [PATCH 05/12] ipts
 
 ---
@@ -30,7 +30,7 @@ Subject: [PATCH 05/12] ipts
  drivers/misc/ipts/ipts-dbgfs.c              |  364 +++++++
  drivers/misc/ipts/ipts-gfx.c                |  185 ++++
  drivers/misc/ipts/ipts-gfx.h                |   24 +
- drivers/misc/ipts/ipts-hid.c                |  456 ++++++++
+ drivers/misc/ipts/ipts-hid.c                |  504 +++++++++
  drivers/misc/ipts/ipts-hid.h                |   34 +
  drivers/misc/ipts/ipts-kernel.c             | 1050 +++++++++++++++++++
  drivers/misc/ipts/ipts-kernel.h             |   23 +
@@ -46,7 +46,7 @@ Subject: [PATCH 05/12] ipts
  drivers/misc/mei/hw-me-regs.h               |    1 +
  drivers/misc/mei/pci-me.c                   |    1 +
  include/linux/intel_ipts_if.h               |   76 ++
- 42 files changed, 5841 insertions(+), 26 deletions(-)
+ 42 files changed, 5889 insertions(+), 26 deletions(-)
  create mode 100644 drivers/gpu/drm/i915/intel_ipts.c
  create mode 100644 drivers/gpu/drm/i915/intel_ipts.h
  create mode 100644 drivers/misc/ipts/Kconfig
@@ -71,7 +71,7 @@ Subject: [PATCH 05/12] ipts
  create mode 100644 include/linux/intel_ipts_if.h
 
 diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
-index fbcb0904f4a8..1a273956b41c 100644
+index fbcb0904f..1a273956b 100644
 --- a/drivers/gpu/drm/i915/Makefile
 +++ b/drivers/gpu/drm/i915/Makefile
 @@ -170,6 +170,9 @@ i915-y += dvo_ch7017.o \
@@ -85,7 +85,7 @@ index fbcb0904f4a8..1a273956b41c 100644
  i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o
  i915-$(CONFIG_DRM_I915_SELFTEST) += \
 diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
-index 5823ffb17821..2ffad9712041 100644
+index 5823ffb17..2ffad9712 100644
 --- a/drivers/gpu/drm/i915/i915_debugfs.c
 +++ b/drivers/gpu/drm/i915/i915_debugfs.c
 @@ -41,6 +41,7 @@
@@ -173,7 +173,7 @@ index 5823ffb17821..2ffad9712041 100644
  
  int i915_debugfs_register(struct drm_i915_private *dev_priv)
 diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
-index 1ad88e6d7c04..b50823fd30fb 100644
+index 1ad88e6d7..b50823fd3 100644
 --- a/drivers/gpu/drm/i915/i915_drv.c
 +++ b/drivers/gpu/drm/i915/i915_drv.c
 @@ -63,6 +63,7 @@
@@ -205,7 +205,7 @@ index 1ad88e6d7c04..b50823fd30fb 100644
  
  	/*
 diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
-index 066fd2a12851..2a872d8725b5 100644
+index 066fd2a12..2a872d872 100644
 --- a/drivers/gpu/drm/i915/i915_drv.h
 +++ b/drivers/gpu/drm/i915/i915_drv.h
 @@ -3184,6 +3184,9 @@ void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj,
@@ -219,7 +219,7 @@ index 066fd2a12851..2a872d8725b5 100644
  __i915_gem_context_lookup_rcu(struct drm_i915_file_private *file_priv, u32 id)
  {
 diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
-index dd728b26b5aa..ae3209b79b25 100644
+index dd728b26b..ae3209b79 100644
 --- a/drivers/gpu/drm/i915/i915_gem_context.c
 +++ b/drivers/gpu/drm/i915/i915_gem_context.c
 @@ -565,6 +565,18 @@ static bool needs_preempt_context(struct drm_i915_private *i915)
@@ -242,7 +242,7 @@ index dd728b26b5aa..ae3209b79b25 100644
  {
  	struct i915_gem_context *ctx;
 diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
-index b92cfd69134b..78fcd4b78480 100644
+index b92cfd691..78fcd4b78 100644
 --- a/drivers/gpu/drm/i915/i915_irq.c
 +++ b/drivers/gpu/drm/i915/i915_irq.c
 @@ -41,6 +41,7 @@
@@ -274,7 +274,7 @@ index b92cfd69134b..78fcd4b78480 100644
  		 GT_RENDER_USER_INTERRUPT << GEN8_BCS_IRQ_SHIFT |
  		 GT_CONTEXT_SWITCH_INTERRUPT << GEN8_BCS_IRQ_SHIFT),
 diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
-index b5be0abbba35..831f2bcae687 100644
+index b5be0abbb..831f2bcae 100644
 --- a/drivers/gpu/drm/i915/i915_params.c
 +++ b/drivers/gpu/drm/i915/i915_params.c
 @@ -143,7 +143,10 @@ i915_param_named_unsafe(edp_vswing, int, 0400,
@@ -290,7 +290,7 @@ index b5be0abbba35..831f2bcae687 100644
  i915_param_named(guc_log_level, int, 0400,
  	"GuC firmware logging level. Requires GuC to be loaded. "
 diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
-index 3f14e9881a0d..e314a2414041 100644
+index 3f14e9881..e314a2414 100644
 --- a/drivers/gpu/drm/i915/i915_params.h
 +++ b/drivers/gpu/drm/i915/i915_params.h
 @@ -54,7 +54,7 @@ struct drm_printer;
@@ -313,7 +313,7 @@ index 3f14e9881a0d..e314a2414041 100644
  #define MEMBER(T, member, ...) T member;
  struct i915_params {
 diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
-index 560274d1c50b..e305a35de9c2 100644
+index 560274d1c..e305a35de 100644
 --- a/drivers/gpu/drm/i915/intel_dp.c
 +++ b/drivers/gpu/drm/i915/intel_dp.c
 @@ -2899,8 +2899,8 @@ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode)
@@ -328,7 +328,7 @@ index 560274d1c50b..e305a35de9c2 100644
  		ret = drm_dp_dpcd_writeb(&intel_dp->aux, DP_SET_POWER,
  					 DP_SET_POWER_D3);
 diff --git a/drivers/gpu/drm/i915/intel_guc.h b/drivers/gpu/drm/i915/intel_guc.h
-index 2c59ff8d9f39..d7f91693972f 100644
+index 2c59ff8d9..d7f916939 100644
 --- a/drivers/gpu/drm/i915/intel_guc.h
 +++ b/drivers/gpu/drm/i915/intel_guc.h
 @@ -67,6 +67,7 @@ struct intel_guc {
@@ -340,7 +340,7 @@ index 2c59ff8d9f39..d7f91693972f 100644
  	struct guc_preempt_work preempt_work[I915_NUM_ENGINES];
  	struct workqueue_struct *preempt_wq;
 diff --git a/drivers/gpu/drm/i915/intel_guc_submission.c b/drivers/gpu/drm/i915/intel_guc_submission.c
-index 46cd0e70aecb..e84c805f7340 100644
+index 46cd0e70a..e84c805f7 100644
 --- a/drivers/gpu/drm/i915/intel_guc_submission.c
 +++ b/drivers/gpu/drm/i915/intel_guc_submission.c
 @@ -93,12 +93,17 @@ static inline struct i915_priolist *to_priolist(struct rb_node *rb)
@@ -472,7 +472,7 @@ index 46cd0e70aecb..e84c805f7340 100644
  #include "selftests/intel_guc.c"
  #endif
 diff --git a/drivers/gpu/drm/i915/intel_guc_submission.h b/drivers/gpu/drm/i915/intel_guc_submission.h
-index aa5e6749c925..c9e5c14e7f67 100644
+index aa5e6749c..c9e5c14e7 100644
 --- a/drivers/gpu/drm/i915/intel_guc_submission.h
 +++ b/drivers/gpu/drm/i915/intel_guc_submission.h
 @@ -84,5 +84,9 @@ void intel_guc_submission_disable(struct intel_guc *guc);
@@ -487,7 +487,7 @@ index aa5e6749c925..c9e5c14e7f67 100644
  #endif
 diff --git a/drivers/gpu/drm/i915/intel_ipts.c b/drivers/gpu/drm/i915/intel_ipts.c
 new file mode 100644
-index 000000000000..3d3c353986f7
+index 000000000..3d3c35398
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/intel_ipts.c
 @@ -0,0 +1,651 @@
@@ -1144,7 +1144,7 @@ index 000000000000..3d3c353986f7
 +}
 diff --git a/drivers/gpu/drm/i915/intel_ipts.h b/drivers/gpu/drm/i915/intel_ipts.h
 new file mode 100644
-index 000000000000..a6965d102417
+index 000000000..a6965d102
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/intel_ipts.h
 @@ -0,0 +1,34 @@
@@ -1183,7 +1183,7 @@ index 000000000000..a6965d102417
 +
 +#endif //_INTEL_IPTS_H_
 diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
-index 11e5a86610bf..4adf38cad6da 100644
+index 11e5a8661..4adf38cad 100644
 --- a/drivers/gpu/drm/i915/intel_lrc.c
 +++ b/drivers/gpu/drm/i915/intel_lrc.c
 @@ -166,8 +166,8 @@
@@ -1237,7 +1237,7 @@ index 11e5a86610bf..4adf38cad6da 100644
  	struct drm_i915_gem_object *ctx_obj;
  	struct i915_vma *vma;
 diff --git a/drivers/gpu/drm/i915/intel_lrc.h b/drivers/gpu/drm/i915/intel_lrc.h
-index 84aa230ea27b..0e8008eb0f3a 100644
+index 84aa230ea..0e8008eb0 100644
 --- a/drivers/gpu/drm/i915/intel_lrc.h
 +++ b/drivers/gpu/drm/i915/intel_lrc.h
 @@ -115,6 +115,12 @@ void intel_execlists_show_requests(struct intel_engine_cs *engine,
@@ -1254,7 +1254,7 @@ index 84aa230ea27b..0e8008eb0f3a 100644
  
  #endif /* _INTEL_LRC_H_ */
 diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
-index 4ab4ce6569e7..2d3c523ba5c7 100644
+index 4ab4ce656..2d3c523ba 100644
 --- a/drivers/gpu/drm/i915/intel_panel.c
 +++ b/drivers/gpu/drm/i915/intel_panel.c
 @@ -37,6 +37,7 @@
@@ -1286,7 +1286,7 @@ index 4ab4ce6569e7..2d3c523ba5c7 100644
  
  static void pch_enable_backlight(const struct intel_crtc_state *crtc_state,
 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index b603c14d043b..03448d3a29f2 100644
+index b603c14d0..03448d3a2 100644
 --- a/drivers/hid/hid-multitouch.c
 +++ b/drivers/hid/hid-multitouch.c
 @@ -169,6 +169,7 @@ struct mt_device {
@@ -1362,7 +1362,7 @@ index b603c14d043b..03448d3a29f2 100644
  
  	INIT_LIST_HEAD(&td->applications);
 diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
-index 85fc77148d19..b697f05eaf31 100644
+index 85fc77148..b697f05ea 100644
 --- a/drivers/misc/Kconfig
 +++ b/drivers/misc/Kconfig
 @@ -500,6 +500,7 @@ source "drivers/misc/ti-st/Kconfig"
@@ -1374,7 +1374,7 @@ index 85fc77148d19..b697f05eaf31 100644
  source "drivers/misc/mic/Kconfig"
  source "drivers/misc/genwqe/Kconfig"
 diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
-index b9affcdaa3d6..e681e345a9ed 100644
+index b9affcdaa..e681e345a 100644
 --- a/drivers/misc/Makefile
 +++ b/drivers/misc/Makefile
 @@ -45,6 +45,7 @@ obj-y				+= lis3lv02d/
@@ -1387,7 +1387,7 @@ index b9affcdaa3d6..e681e345a9ed 100644
  obj-$(CONFIG_SRAM)		+= sram.o
 diff --git a/drivers/misc/ipts/Kconfig b/drivers/misc/ipts/Kconfig
 new file mode 100644
-index 000000000000..360ed3861b82
+index 000000000..360ed3861
 --- /dev/null
 +++ b/drivers/misc/ipts/Kconfig
 @@ -0,0 +1,9 @@
@@ -1402,7 +1402,7 @@ index 000000000000..360ed3861b82
 +	  Intel Kabylake
 diff --git a/drivers/misc/ipts/Makefile b/drivers/misc/ipts/Makefile
 new file mode 100644
-index 000000000000..1783e9cf13c9
+index 000000000..1783e9cf1
 --- /dev/null
 +++ b/drivers/misc/ipts/Makefile
 @@ -0,0 +1,13 @@
@@ -1421,7 +1421,7 @@ index 000000000000..1783e9cf13c9
 +intel-ipts-$(CONFIG_DEBUG_FS) += ipts-dbgfs.o
 diff --git a/drivers/misc/ipts/ipts-binary-spec.h b/drivers/misc/ipts/ipts-binary-spec.h
 new file mode 100644
-index 000000000000..87d4bc4133c4
+index 000000000..87d4bc413
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-binary-spec.h
 @@ -0,0 +1,118 @@
@@ -1545,7 +1545,7 @@ index 000000000000..87d4bc4133c4
 +#endif /* _IPTS_BINARY_SPEC_H */
 diff --git a/drivers/misc/ipts/ipts-dbgfs.c b/drivers/misc/ipts/ipts-dbgfs.c
 new file mode 100644
-index 000000000000..7581b21f81e0
+index 000000000..7581b21f8
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-dbgfs.c
 @@ -0,0 +1,364 @@
@@ -1915,7 +1915,7 @@ index 000000000000..7581b21f81e0
 +}
 diff --git a/drivers/misc/ipts/ipts-gfx.c b/drivers/misc/ipts/ipts-gfx.c
 new file mode 100644
-index 000000000000..4989a22227d2
+index 000000000..4989a2222
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-gfx.c
 @@ -0,0 +1,185 @@
@@ -2106,7 +2106,7 @@ index 000000000000..4989a22227d2
 +}
 diff --git a/drivers/misc/ipts/ipts-gfx.h b/drivers/misc/ipts/ipts-gfx.h
 new file mode 100644
-index 000000000000..03a5f3551ddf
+index 000000000..03a5f3551
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-gfx.h
 @@ -0,0 +1,24 @@
@@ -2136,10 +2136,10 @@ index 000000000000..03a5f3551ddf
 +#endif // _IPTS_GFX_H_
 diff --git a/drivers/misc/ipts/ipts-hid.c b/drivers/misc/ipts/ipts-hid.c
 new file mode 100644
-index 000000000000..e85844dc1158
+index 000000000..84e3fb6c3
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-hid.c
-@@ -0,0 +1,456 @@
+@@ -0,0 +1,504 @@
 +/*
 + * Intel Precise Touch & Stylus HID driver
 + *
@@ -2159,6 +2159,7 @@ index 000000000000..e85844dc1158
 +#include <linux/firmware.h>
 +#include <linux/hid.h>
 +#include <linux/vmalloc.h>
++#include <linux/dmi.h>
 +
 +#include "ipts.h"
 +#include "ipts-resource.h"
@@ -2196,6 +2197,30 @@ index 000000000000..e85844dc1158
 +	char string[128];
 +} kernel_output_payload_error_t;
 +
++static const struct dmi_system_id no_feedback_dmi_table[] = {
++	{
++		.matches = {
++			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"),
++			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Surface Book"),
++		},
++	},
++	{
++		.matches = {
++			DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"),
++			DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Surface Pro 4"),
++		},
++	},
++	{ }
++};
++
++int no_feedback = -1;
++module_param(no_feedback, int, 0644);
++MODULE_PARM_DESC(no_feedback,
++				"Disable sending feedback in order to work around the issue that IPTS "
++				"stops working after some amount of use. "
++				"-1=auto (true if your model is SB1/SP4, false if another model), "
++				"0=false, 1=true, (default: -1)");
++
 +static int ipts_hid_get_hid_descriptor(ipts_info_t *ipts, u8 **desc, int *size)
 +{
 +	u8 *buf;
@@ -2557,7 +2582,30 @@ index 000000000000..e85844dc1158
 +		}
 +	}
 +
++	/*
++	 * XXX: Calling the "ipts_send_feedback" function repeatedly seems to be
++	 * what is causing touch to crash (found by sebanc, see the link below for
++	 * the comment) on some models, especially on Surface Pro 4 and
++	 * Surface Book 1.
++	 * The most desirable fix could be done by raising IPTS GuC priority. Until
++	 * we find a better solution, use this workaround.
++	 *
++	 * Link to the comment where sebanc found this workaround:
++	 * https://github.com/jakeday/linux-surface/issues/374#issuecomment-508234110
++	 * (Touch and pen issue persists · Issue #374 · jakeday/linux-surface)
++	 *
++	 * Link to the usage from kitakar5525 who made this change:
++	 * https://github.com/jakeday/linux-surface/issues/374#issuecomment-517289171
++	 * (Touch and pen issue persists · Issue #374 · jakeday/linux-surface)
++	 */
 +	if (fb_buf) {
++		/* A negative value means "decide by dmi table" */
++		if (no_feedback < 0)
++			no_feedback = dmi_check_system(no_feedback_dmi_table) ? true : false;
++
++		if (no_feedback)
++			return 0;
++
 +		ret = ipts_send_feedback(ipts, parallel_idx, transaction_id);
 +		if (ret)
 +			return ret;
@@ -2598,7 +2646,7 @@ index 000000000000..e85844dc1158
 +}
 diff --git a/drivers/misc/ipts/ipts-hid.h b/drivers/misc/ipts/ipts-hid.h
 new file mode 100644
-index 000000000000..f1b22c912df7
+index 000000000..f1b22c912
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-hid.h
 @@ -0,0 +1,34 @@
@@ -2638,7 +2686,7 @@ index 000000000000..f1b22c912df7
 +#endif /* _IPTS_HID_H_ */
 diff --git a/drivers/misc/ipts/ipts-kernel.c b/drivers/misc/ipts/ipts-kernel.c
 new file mode 100644
-index 000000000000..86fd359d2eed
+index 000000000..86fd359d2
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-kernel.c
 @@ -0,0 +1,1050 @@
@@ -3694,7 +3742,7 @@ index 000000000000..86fd359d2eed
 +}
 diff --git a/drivers/misc/ipts/ipts-kernel.h b/drivers/misc/ipts/ipts-kernel.h
 new file mode 100644
-index 000000000000..0e7f1393b807
+index 000000000..0e7f1393b
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-kernel.h
 @@ -0,0 +1,23 @@
@@ -3723,7 +3771,7 @@ index 000000000000..0e7f1393b807
 +#endif
 diff --git a/drivers/misc/ipts/ipts-mei-msgs.h b/drivers/misc/ipts/ipts-mei-msgs.h
 new file mode 100644
-index 000000000000..8ca146800a47
+index 000000000..8ca146800
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-mei-msgs.h
 @@ -0,0 +1,585 @@
@@ -4314,7 +4362,7 @@ index 000000000000..8ca146800a47
 +#endif // _IPTS_MEI_MSGS_H_
 diff --git a/drivers/misc/ipts/ipts-mei.c b/drivers/misc/ipts/ipts-mei.c
 new file mode 100644
-index 000000000000..199e49cb8d70
+index 000000000..199e49cb8
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-mei.c
 @@ -0,0 +1,282 @@
@@ -4602,7 +4650,7 @@ index 000000000000..199e49cb8d70
 +MODULE_LICENSE("GPL");
 diff --git a/drivers/misc/ipts/ipts-msg-handler.c b/drivers/misc/ipts/ipts-msg-handler.c
 new file mode 100644
-index 000000000000..db5356a1c84e
+index 000000000..db5356a1c
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-msg-handler.c
 @@ -0,0 +1,437 @@
@@ -5045,7 +5093,7 @@ index 000000000000..db5356a1c84e
 +}
 diff --git a/drivers/misc/ipts/ipts-msg-handler.h b/drivers/misc/ipts/ipts-msg-handler.h
 new file mode 100644
-index 000000000000..f37d9ad9af8c
+index 000000000..f37d9ad9a
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-msg-handler.h
 @@ -0,0 +1,33 @@
@@ -5084,7 +5132,7 @@ index 000000000000..f37d9ad9af8c
 +#endif /* _IPTS_MSG_HANDLER_H */
 diff --git a/drivers/misc/ipts/ipts-resource.c b/drivers/misc/ipts/ipts-resource.c
 new file mode 100644
-index 000000000000..47607ef7c461
+index 000000000..47607ef7c
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-resource.c
 @@ -0,0 +1,277 @@
@@ -5367,7 +5415,7 @@ index 000000000000..47607ef7c461
 +}
 diff --git a/drivers/misc/ipts/ipts-resource.h b/drivers/misc/ipts/ipts-resource.h
 new file mode 100644
-index 000000000000..7d66ac72b475
+index 000000000..7d66ac72b
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-resource.h
 @@ -0,0 +1,30 @@
@@ -5403,7 +5451,7 @@ index 000000000000..7d66ac72b475
 +#endif // _IPTS_RESOURCE_H_
 diff --git a/drivers/misc/ipts/ipts-sensor-regs.h b/drivers/misc/ipts/ipts-sensor-regs.h
 new file mode 100644
-index 000000000000..96812b0eb980
+index 000000000..96812b0eb
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-sensor-regs.h
 @@ -0,0 +1,700 @@
@@ -6109,7 +6157,7 @@ index 000000000000..96812b0eb980
 +#endif // _TOUCH_SENSOR_REGS_H
 diff --git a/drivers/misc/ipts/ipts-state.h b/drivers/misc/ipts/ipts-state.h
 new file mode 100644
-index 000000000000..39a2eaf5f004
+index 000000000..39a2eaf5f
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-state.h
 @@ -0,0 +1,29 @@
@@ -6144,7 +6192,7 @@ index 000000000000..39a2eaf5f004
 +#endif // _IPTS_STATE_H_
 diff --git a/drivers/misc/ipts/ipts.h b/drivers/misc/ipts/ipts.h
 new file mode 100644
-index 000000000000..9c34b55ff036
+index 000000000..9c34b55ff
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts.h
 @@ -0,0 +1,200 @@
@@ -6349,7 +6397,7 @@ index 000000000000..9c34b55ff036
 +
 +#endif // _IPTS_H_
 diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
-index d74b182e19f3..a4021bc7d6b3 100644
+index 6c0173772..c7872571d 100644
 --- a/drivers/misc/mei/hw-me-regs.h
 +++ b/drivers/misc/mei/hw-me-regs.h
 @@ -59,6 +59,7 @@
@@ -6361,7 +6409,7 @@ index d74b182e19f3..a4021bc7d6b3 100644
  #define MEI_DEV_ID_SPT_H_2    0xA13B  /* Sunrise Point H 2 */
  
 diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c
-index 7a2b3545a7f9..c3c684cbd17d 100644
+index 57cb68f5c..4044d7946 100644
 --- a/drivers/misc/mei/pci-me.c
 +++ b/drivers/misc/mei/pci-me.c
 @@ -77,6 +77,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@@ -6374,7 +6422,7 @@ index 7a2b3545a7f9..c3c684cbd17d 100644
  	{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_CFG)},
 diff --git a/include/linux/intel_ipts_if.h b/include/linux/intel_ipts_if.h
 new file mode 100644
-index 000000000000..bad44fb4f233
+index 000000000..bad44fb4f
 --- /dev/null
 +++ b/include/linux/intel_ipts_if.h
 @@ -0,0 +1,76 @@