IPTS: Add device link for PM

This commit is contained in:
qzed 2019-07-26 18:30:45 +02:00
parent 9cf56369b0
commit cf887d8c46
12 changed files with 64 additions and 58 deletions

View file

@ -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
---

View file

@ -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
---

View file

@ -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
---

View file

@ -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
---

View file

@ -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 */

View file

@ -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 },

View file

@ -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
---

View file

@ -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
---

View file

@ -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
---

View file

@ -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
---

View file

@ -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
---

View file

@ -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
---