Jelajahi Sumber

IPTS: Add device link for PM

qzed 6 tahun lalu
induk
melakukan
cf887d8c46

+ 2 - 2
patches/5.2/0001-surface-acpi.patch

@@ -1,6 +1,6 @@
-From 64f3368a6822e2b9d031b6c372316b7e92206a23 Mon Sep 17 00:00:00 2001
+From 6e3f7064ceb76ee5d28ae13ff82a5389ab1dae41 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:10:38 +0200
+Date: Fri, 26 Jul 2019 04:44:14 +0200
 Subject: [PATCH 01/12] surface-acpi
 
 ---

+ 2 - 2
patches/5.2/0002-suspend.patch

@@ -1,6 +1,6 @@
-From 2291bc5ea806399d9c649bb8a889400ce8672ec3 Mon Sep 17 00:00:00 2001
+From 650da81322f891cb9606f38e8613992f2013a9cd Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:11:02 +0200
+Date: Fri, 26 Jul 2019 04:44:56 +0200
 Subject: [PATCH 02/12] suspend
 
 ---

+ 2 - 2
patches/5.2/0003-buttons.patch

@@ -1,6 +1,6 @@
-From ca1590dfcd342f0f1fb0a2fd4b262d067d2fd1fd Mon Sep 17 00:00:00 2001
+From 4aeededdff17f504089c636a70133881becdad5a Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:11:17 +0200
+Date: Fri, 26 Jul 2019 04:45:10 +0200
 Subject: [PATCH 03/12] buttons
 
 ---

+ 2 - 2
patches/5.2/0004-cameras.patch

@@ -1,6 +1,6 @@
-From 6a9467f92c3ea31879bb760a43dc950150641e5e Mon Sep 17 00:00:00 2001
+From 322870ba12ce3a20155d4d445b43094f90836dd8 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:11:26 +0200
+Date: Fri, 26 Jul 2019 04:45:19 +0200
 Subject: [PATCH 04/12] cameras
 
 ---

+ 36 - 30
patches/5.2/0005-ipts.patch

@@ -1,6 +1,6 @@
-From ccfb3ab207379ed7efafbb0f58298620a875b3f8 Mon Sep 17 00:00:00 2001
+From 3d53d1dd3d6d79a795c58006eeda264bbba28140 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:11:35 +0200
+Date: Fri, 26 Jul 2019 04:45:32 +0200
 Subject: [PATCH 05/12] ipts
 
 ---
@@ -15,7 +15,7 @@ Subject: [PATCH 05/12] ipts
  drivers/gpu/drm/i915/intel_guc.h            |    1 +
  drivers/gpu/drm/i915/intel_guc_submission.c |   89 +-
  drivers/gpu/drm/i915/intel_guc_submission.h |    4 +
- drivers/gpu/drm/i915/intel_ipts.c           |  657 ++++++++++++
+ drivers/gpu/drm/i915/intel_ipts.c           |  661 ++++++++++++
  drivers/gpu/drm/i915/intel_ipts.h           |   36 +
  drivers/gpu/drm/i915/intel_lrc.c            |   15 +-
  drivers/gpu/drm/i915/intel_lrc.h            |    6 +
@@ -27,7 +27,7 @@ Subject: [PATCH 05/12] ipts
  drivers/misc/ipts/Makefile                  |   13 +
  drivers/misc/ipts/ipts-binary-spec.h        |  118 +++
  drivers/misc/ipts/ipts-dbgfs.c              |  152 +++
- drivers/misc/ipts/ipts-gfx.c                |  184 ++++
+ 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.h                |   34 +
@@ -44,8 +44,8 @@ Subject: [PATCH 05/12] ipts
  drivers/misc/ipts/ipts.h                    |  200 ++++
  drivers/misc/mei/hw-me-regs.h               |    1 +
  drivers/misc/mei/pci-me.c                   |    1 +
- include/linux/intel_ipts_if.h               |   75 ++
- 41 files changed, 5578 insertions(+), 25 deletions(-)
+ include/linux/intel_ipts_if.h               |   76 ++
+ 41 files changed, 5584 insertions(+), 25 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
@@ -418,10 +418,10 @@ 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..efc9607f6f73
+index 000000000000..5d9145ac221c
 --- /dev/null
 +++ b/drivers/gpu/drm/i915/intel_ipts.c
-@@ -0,0 +1,657 @@
+@@ -0,0 +1,661 @@
 +/*
 + * Copyright  2016 Intel Corporation
 + *
@@ -920,32 +920,36 @@ index 000000000000..efc9607f6f73
 +
 +int intel_ipts_connect(intel_ipts_connect_t *ipts_connect)
 +{
++	u32 flags = DL_FLAG_PM_RUNTIME | DL_FLAG_AUTOREMOVE_CONSUMER;
 +	struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev);
-+	int ret = 0;
 +
 +	if (!intel_ipts.initialized)
 +		return -EIO;
 +
-+	if (ipts_connect && ipts_connect->if_version <=
-+					SUPPORTED_IPTS_INTERFACE_VERSION) {
++	if (!ipts_connect)
++		return -EINVAL;
 +
-+		/* return gpu operations for ipts */
-+		ipts_connect->ipts_ops.get_wq_info = intel_ipts_get_wq_info;
-+		ipts_connect->ipts_ops.map_buffer = intel_ipts_map_buffer;
-+		ipts_connect->ipts_ops.unmap_buffer = intel_ipts_unmap_buffer;
-+		ipts_connect->gfx_version = INTEL_INFO(dev_priv)->gen;
-+		ipts_connect->gfx_handle = (uint64_t)&intel_ipts;
++	if (ipts_connect->if_version > SUPPORTED_IPTS_INTERFACE_VERSION)
++		return -EINVAL;
 +
-+		/* save callback and data */
-+		intel_ipts.data = ipts_connect->data;
-+		intel_ipts.ipts_clbks = ipts_connect->ipts_cb;
++	/* set up device-link for PM */
++	if (!device_link_add(ipts_connect->client, intel_ipts.dev->dev, flags))
++		return -EFAULT;
 +
-+		intel_ipts.connected = true;
-+	} else {
-+		ret = -EINVAL;
-+	}
++	/* return gpu operations for ipts */
++	ipts_connect->ipts_ops.get_wq_info = intel_ipts_get_wq_info;
++	ipts_connect->ipts_ops.map_buffer = intel_ipts_map_buffer;
++	ipts_connect->ipts_ops.unmap_buffer = intel_ipts_unmap_buffer;
++	ipts_connect->gfx_version = INTEL_INFO(dev_priv)->gen;
++	ipts_connect->gfx_handle = (uint64_t)&intel_ipts;
 +
-+	return ret;
++	/* save callback and data */
++	intel_ipts.data = ipts_connect->data;
++	intel_ipts.ipts_clbks = ipts_connect->ipts_cb;
++
++	intel_ipts.connected = true;
++
++	return 0;
 +}
 +EXPORT_SYMBOL_GPL(intel_ipts_connect);
 +
@@ -1225,7 +1229,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 42bb635895cf..3a362f107188 100644
+index b603c14d043b..03448d3a29f2 100644
 --- a/drivers/hid/hid-multitouch.c
 +++ b/drivers/hid/hid-multitouch.c
 @@ -169,6 +169,7 @@ struct mt_device {
@@ -1642,10 +1646,10 @@ index 000000000000..1c5c92f7d4ba
 +}
 diff --git a/drivers/misc/ipts/ipts-gfx.c b/drivers/misc/ipts/ipts-gfx.c
 new file mode 100644
-index 000000000000..51727770e75d
+index 000000000000..4989a22227d2
 --- /dev/null
 +++ b/drivers/misc/ipts/ipts-gfx.c
-@@ -0,0 +1,184 @@
+@@ -0,0 +1,185 @@
 +/*
 + *
 + * Intel Integrated Touch Gfx Interface Layer
@@ -1694,6 +1698,7 @@ index 000000000000..51727770e75d
 +	int ret = 0;
 +	intel_ipts_connect_t ipts_connect;
 +
++	ipts_connect.client = ipts->cldev->dev.parent;
 +	ipts_connect.if_version = IPTS_INTERFACE_V1;
 +	ipts_connect.ipts_cb.workload_complete = gfx_processing_complete;
 +	ipts_connect.ipts_cb.notify_gfx_status = notify_gfx_status;
@@ -6099,10 +6104,10 @@ 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..f329bbfb8079
+index 000000000000..bad44fb4f233
 --- /dev/null
 +++ b/include/linux/intel_ipts_if.h
-@@ -0,0 +1,75 @@
+@@ -0,0 +1,76 @@
 +/*
 + *
 + * GFX interface to support Intel Precise Touch & Stylus
@@ -6165,6 +6170,7 @@ index 000000000000..f329bbfb8079
 +} intel_ipts_callback_t;
 +
 +typedef struct intel_ipts_connect {
++	struct device *client;		/* input : client device for PM setup */
 +        intel_ipts_callback_t ipts_cb;	/* input : callback addresses */
 +	void *data;			/* input : callback data */
 +        u32 if_version;			/* input : interface version */

+ 8 - 8
patches/5.2/0006-hid.patch

@@ -1,6 +1,6 @@
-From 6b9b606e885ed534940baeba0b64122895c53c3d Mon Sep 17 00:00:00 2001
+From 4f231b25dd91f0149b9d4be3190165daa7e5ec38 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:11:44 +0200
+Date: Fri, 26 Jul 2019 04:45:42 +0200
 Subject: [PATCH 06/12] hid
 
 ---
@@ -11,10 +11,10 @@ Subject: [PATCH 06/12] hid
  4 files changed, 86 insertions(+), 6 deletions(-)
 
 diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
-index b1636ce22060..676175ffe613 100644
+index bfc584ada4eb..c54a2af1a266 100644
 --- a/drivers/hid/hid-ids.h
 +++ b/drivers/hid/hid-ids.h
-@@ -819,11 +819,22 @@
+@@ -821,11 +821,22 @@
  #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1 0x0732
  #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_600  0x0750
  #define USB_DEVICE_ID_MS_COMFORT_MOUSE_4500	0x076c
@@ -57,10 +57,10 @@ index 8b3a922bdad3..0290a16881e5 100644
  		.driver_data = MS_PRESENTER },
  	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, 0x091B),
 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
-index 3a362f107188..1acf6c25dfb9 100644
+index 03448d3a29f2..09ca4b1f2797 100644
 --- a/drivers/hid/hid-multitouch.c
 +++ b/drivers/hid/hid-multitouch.c
-@@ -1987,6 +1987,63 @@ static const struct hid_device_id mt_devices[] = {
+@@ -1983,6 +1983,63 @@ static const struct hid_device_id mt_devices[] = {
  		HID_USB_DEVICE(USB_VENDOR_ID_LG,
  			USB_DEVICE_ID_LG_MELFAS_MT) },
  
@@ -125,10 +125,10 @@ index 3a362f107188..1acf6c25dfb9 100644
  	{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
  		MT_USB_DEVICE(USB_VENDOR_ID_ASUS,
 diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
-index 74c0ad21b267..dfe97c2a8278 100644
+index 1549c7a2f04c..c17a3c8da927 100644
 --- a/drivers/hid/hid-quirks.c
 +++ b/drivers/hid/hid-quirks.c
-@@ -114,6 +114,17 @@ static const struct hid_device_id hid_quirks[] = {
+@@ -111,6 +111,17 @@ static const struct hid_device_id hid_quirks[] = {
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE_PRO_2), HID_QUIRK_NO_INIT_REPORTS },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TOUCH_COVER_2), HID_QUIRK_NO_INIT_REPORTS },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_2), HID_QUIRK_NO_INIT_REPORTS },

+ 2 - 2
patches/5.2/0007-sdcard-reader.patch

@@ -1,6 +1,6 @@
-From ce4d18ba4bd76b7146e77a3dd147bffc73ef210e Mon Sep 17 00:00:00 2001
+From 21a06ab8a4fc314c83b91d492d90a90ef3d191e6 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:11:54 +0200
+Date: Fri, 26 Jul 2019 04:45:55 +0200
 Subject: [PATCH 07/12] sdcard-reader
 
 ---

+ 2 - 2
patches/5.2/0008-wifi.patch

@@ -1,6 +1,6 @@
-From 95fbe06a2530048e1f2f75a60299f3a3828606cb Mon Sep 17 00:00:00 2001
+From 9635d33d102e805a329b53fa169cd2cb6cf26b4c Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:12:05 +0200
+Date: Fri, 26 Jul 2019 04:46:16 +0200
 Subject: [PATCH 08/12] wifi
 
 ---

+ 2 - 2
patches/5.2/0009-surface3-power.patch

@@ -1,6 +1,6 @@
-From 6e04e0f2688b530aa942bd4a0041b267ffc483b2 Mon Sep 17 00:00:00 2001
+From f8ecd1e208e1e35d600575f5ea289a5c99ee9826 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:12:17 +0200
+Date: Fri, 26 Jul 2019 04:46:48 +0200
 Subject: [PATCH 09/12] surface3-power
 
 ---

+ 2 - 2
patches/5.2/0010-mwlwifi.patch

@@ -1,6 +1,6 @@
-From 9b956e130606d5c0e5e22b2b56028a9c106f83ce Mon Sep 17 00:00:00 2001
+From 3a34928359985f56d92bc287a45b9d23bddcbb89 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:12:32 +0200
+Date: Fri, 26 Jul 2019 04:47:02 +0200
 Subject: [PATCH 10/12] mwlwifi
 
 ---

+ 2 - 2
patches/5.2/0011-surface-lte.patch

@@ -1,6 +1,6 @@
-From b3402fa351f5e312e64d6c42270249039975d6da Mon Sep 17 00:00:00 2001
+From 08d01827a8424ef7cd9e0292a710a35c79fe032c Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:12:45 +0200
+Date: Fri, 26 Jul 2019 04:47:13 +0200
 Subject: [PATCH 11/12] surface-lte
 
 ---

+ 2 - 2
patches/5.2/0012-surfacebook2-dgpu.patch

@@ -1,6 +1,6 @@
-From bfa1d90d15122ae7696f80cd81eeaa801161c5e6 Mon Sep 17 00:00:00 2001
+From d46ce195e6cd1ecfbb833fe678523451a5591ff6 Mon Sep 17 00:00:00 2001
 From: Maximilian Luz <luzmaximilian@gmail.com>
-Date: Fri, 26 Jul 2019 04:12:57 +0200
+Date: Fri, 26 Jul 2019 04:47:27 +0200
 Subject: [PATCH 12/12] surfacebook2-dgpu
 
 ---