Update v4.19 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: c03772c10e
- SAM: 89b8232d49
This commit is contained in:
Maximilian Luz 2020-07-30 20:32:52 +02:00
parent b8faea49fa
commit 0ccce0b332
No known key found for this signature in database
GPG key ID: 70EC0937F6C26F02
20 changed files with 2523 additions and 1956 deletions

View file

@ -10,7 +10,8 @@ CONFIG_INTEL_IPTS_SURFACE=m
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

View file

@ -1,7 +1,7 @@
From 90c1db6ff4e08814d17ab4fd616c00fd98682ec2 Mon Sep 17 00:00:00 2001
From 425be7bc461cbd94823f74bca33e13cc1209ba0e Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 28 Sep 2019 18:00:43 +0200
Subject: [PATCH 1/8] surface3-power
Subject: [PATCH 1/9] surface3-power
---
drivers/platform/x86/Kconfig | 7 +
@ -11,7 +11,7 @@ Subject: [PATCH 1/8] surface3-power
create mode 100644 drivers/platform/x86/surface3_power.c
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig
index 1e2524de6a63..2ad19dc64a4a 100644
index 1e2524de6a63c..2ad19dc64a4af 100644
--- a/drivers/platform/x86/Kconfig
+++ b/drivers/platform/x86/Kconfig
@@ -1160,6 +1160,13 @@ config SURFACE_3_BUTTON
@ -29,7 +29,7 @@ index 1e2524de6a63..2ad19dc64a4a 100644
tristate "Intel P-Unit IPC Driver"
---help---
diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile
index dc29af4d8e2f..2ea90039a3e4 100644
index dc29af4d8e2fa..2ea90039a3e49 100644
--- a/drivers/platform/x86/Makefile
+++ b/drivers/platform/x86/Makefile
@@ -81,6 +81,7 @@ obj-$(CONFIG_INTEL_PMC_IPC) += intel_pmc_ipc.o
@ -42,7 +42,7 @@ index dc29af4d8e2f..2ea90039a3e4 100644
obj-$(CONFIG_INTEL_TELEMETRY) += intel_telemetry_core.o \
diff --git a/drivers/platform/x86/surface3_power.c b/drivers/platform/x86/surface3_power.c
new file mode 100644
index 000000000000..e0af01a60302
index 0000000000000..e0af01a603025
--- /dev/null
+++ b/drivers/platform/x86/surface3_power.c
@@ -0,0 +1,604 @@
@ -651,5 +651,5 @@ index 000000000000..e0af01a60302
+MODULE_DESCRIPTION("mshw0011 driver");
+MODULE_LICENSE("GPL v2");
--
2.27.0
2.28.0

View file

@ -1,14 +1,14 @@
From 4522b91327647286e77ed42decfd787682b59d26 Mon Sep 17 00:00:00 2001
From 6949462d2c416154c3f66d3ff5289abaad9d3536 Mon Sep 17 00:00:00 2001
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: Sun, 5 Jul 2020 14:56:20 +0300
Subject: [PATCH 2/8] surface3-touchscreen-dma-fix
Subject: [PATCH 2/9] surface3-touchscreen-dma-fix
---
drivers/dma/dw/core.c | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/drivers/dma/dw/core.c b/drivers/dma/dw/core.c
index 055d83b6cb68..acf64302a2b2 100644
index 055d83b6cb68a..acf64302a2b27 100644
--- a/drivers/dma/dw/core.c
+++ b/drivers/dma/dw/core.c
@@ -180,9 +180,6 @@ static void dwc_initialize(struct dw_dma_chan *dwc)
@ -59,5 +59,5 @@ index 055d83b6cb68..acf64302a2b2 100644
channel_clear_bit(dw, MASK.XFER, dwc->mask);
channel_clear_bit(dw, MASK.BLOCK, dwc->mask);
--
2.27.0
2.28.0

View file

@ -1,7 +1,7 @@
From 97823c65c288af66da7dc9eccbfcce7e762dc8a6 Mon Sep 17 00:00:00 2001
From fd6b140ce7e7844492502b24d82de376722dc499 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 3/8] surface3-oemb
Subject: [PATCH 3/9] surface3-oemb
---
drivers/platform/x86/surface3-wmi.c | 7 +++++++
@ -10,7 +10,7 @@ Subject: [PATCH 3/8] surface3-oemb
3 files changed, 24 insertions(+)
diff --git a/drivers/platform/x86/surface3-wmi.c b/drivers/platform/x86/surface3-wmi.c
index 25b176996cb7..58d11877677f 100644
index 25b176996cb79..58d11877677f2 100644
--- a/drivers/platform/x86/surface3-wmi.c
+++ b/drivers/platform/x86/surface3-wmi.c
@@ -41,6 +41,13 @@ static const struct dmi_system_id surface3_dmi_table[] = {
@ -28,7 +28,7 @@ index 25b176996cb7..58d11877677f 100644
{ }
};
diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c
index 9185bd7c5a6d..a514d03ae58f 100644
index 9185bd7c5a6dc..a514d03ae58fc 100644
--- a/sound/soc/codecs/rt5645.c
+++ b/sound/soc/codecs/rt5645.c
@@ -3712,6 +3712,15 @@ static const struct dmi_system_id dmi_platform_data[] = {
@ -48,7 +48,7 @@ index 9185bd7c5a6d..a514d03ae58f 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 91bb99b69601..8418938b32ad 100644
index 91bb99b69601d..8418938b32ad5 100644
--- a/sound/soc/intel/common/soc-acpi-intel-cht-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-cht-match.c
@@ -36,6 +36,14 @@ static const struct dmi_system_id cht_table[] = {
@ -67,5 +67,5 @@ index 91bb99b69601..8418938b32ad 100644
};
--
2.27.0
2.28.0

View file

@ -1,7 +1,7 @@
From 226fbc81a2599e262ed75043d9f800f9ee3813b4 Mon Sep 17 00:00:00 2001
From 721b43d141ff16352b0448130991ac0c0e198bab Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 27 Jul 2019 17:51:37 +0200
Subject: [PATCH 4/8] surface-buttons
Subject: [PATCH 4/9] surface-buttons
---
drivers/input/misc/Kconfig | 6 +-
@ -10,7 +10,7 @@ Subject: [PATCH 4/8] surface-buttons
3 files changed, 151 insertions(+), 16 deletions(-)
diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
index ca59a2be9bc5..ea69610370e8 100644
index ca59a2be9bc53..ea69610370e84 100644
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
@@ -781,10 +781,10 @@ config INPUT_IDEAPAD_SLIDEBAR
@ -28,7 +28,7 @@ index ca59a2be9bc5..ea69610370e8 100644
To compile this driver as a module, choose M here: the
module will be called soc_button_array.
diff --git a/drivers/input/misc/soc_button_array.c b/drivers/input/misc/soc_button_array.c
index 55cd6e0b409c..c564ea99f47d 100644
index 55cd6e0b409c3..c564ea99f47db 100644
--- a/drivers/input/misc/soc_button_array.c
+++ b/drivers/input/misc/soc_button_array.c
@@ -29,6 +29,11 @@ struct soc_button_info {
@ -200,7 +200,7 @@ index 55cd6e0b409c..c564ea99f47d 100644
};
diff --git a/drivers/platform/x86/surfacepro3_button.c b/drivers/platform/x86/surfacepro3_button.c
index 1b491690ce07..96627627060e 100644
index 1b491690ce070..96627627060e9 100644
--- a/drivers/platform/x86/surfacepro3_button.c
+++ b/drivers/platform/x86/surfacepro3_button.c
@@ -24,6 +24,12 @@
@ -272,5 +272,5 @@ index 1b491690ce07..96627627060e 100644
if (!button)
return -ENOMEM;
--
2.27.0
2.28.0

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,65 @@
From 1a23a40eb02e8f4bc9588512c60d69a9e7820332 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 25 Jul 2020 17:19:53 +0200
Subject: [PATCH 6/9] 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 eb05693593875..c2b5a2aca731d 100644
--- a/drivers/i2c/i2c-core-acpi.c
+++ b/drivers/i2c/i2c-core-acpi.c
@@ -532,6 +532,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,
@@ -639,6 +661,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

View file

@ -1,7 +1,7 @@
From 9b7d66bfcb604f583b5a5407beb976fc6aade19d Mon Sep 17 00:00:00 2001
From 41405a469737887a7769e564ff45aa04546f55f0 Mon Sep 17 00:00:00 2001
From: kitakar5525 <34676735+kitakar5525@users.noreply.github.com>
Date: Sat, 28 Sep 2019 17:48:21 +0200
Subject: [PATCH 6/8] suspend
Subject: [PATCH 7/9] suspend
---
drivers/nvme/host/core.c | 36 ++++++++++++--
@ -12,7 +12,7 @@ Subject: [PATCH 6/8] suspend
5 files changed, 162 insertions(+), 6 deletions(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 0d60f2f8f3ee..6dcd37c10153 100644
index 0d60f2f8f3eec..6dcd37c10153f 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -1068,15 +1068,15 @@ static struct nvme_id_ns *nvme_identify_ns(struct nvme_ctrl *ctrl,
@ -79,7 +79,7 @@ index 0d60f2f8f3ee..6dcd37c10153 100644
* Initialize a NVMe controller structures. This needs to be called during
* earliest initialization so that we have the initialized structured around
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index cc4273f11989..40192b661798 100644
index cc4273f119894..40192b6617983 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -436,6 +436,7 @@ void nvme_complete_async_event(struct nvme_ctrl *ctrl, __le16 status,
@ -104,7 +104,7 @@ index cc4273f11989..40192b661798 100644
void nvme_stop_keep_alive(struct nvme_ctrl *ctrl);
int nvme_reset_ctrl(struct nvme_ctrl *ctrl);
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index 3c68a5b35ec1..0cc7bea4eb70 100644
index 3c68a5b35ec1b..0cc7bea4eb707 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -26,6 +26,7 @@
@ -266,7 +266,7 @@ index 3c68a5b35ec1..0cc7bea4eb70 100644
.err_handler = &nvme_err_handler,
};
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
index 6e50f84733b7..b03884b6bc6f 100644
index 6e50f84733b75..b03884b6bc6f8 100644
--- a/drivers/pci/pcie/aspm.c
+++ b/drivers/pci/pcie/aspm.c
@@ -1170,6 +1170,26 @@ static int pcie_aspm_get_policy(char *buffer, const struct kernel_param *kp)
@ -297,7 +297,7 @@ index 6e50f84733b7..b03884b6bc6f 100644
static ssize_t link_state_show(struct device *dev,
struct device_attribute *attr,
diff --git a/include/linux/pci.h b/include/linux/pci.h
index b1f297f4b7b0..94ab2fc800d3 100644
index b1f297f4b7b0b..94ab2fc800d30 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1486,8 +1486,10 @@ extern bool pcie_ports_native;
@ -312,5 +312,5 @@ index b1f297f4b7b0..94ab2fc800d3 100644
#ifdef CONFIG_PCIEAER
--
2.27.0
2.28.0

View file

@ -1,7 +1,7 @@
From 20794de213eeb51ec12cccdf6705ff73ec79a804 Mon Sep 17 00:00:00 2001
From 2c053417d2e08043a1931b8e11b174d882ce9b49 Mon Sep 17 00:00:00 2001
From: Maximilian Luz <luzmaximilian@gmail.com>
Date: Sat, 28 Sep 2019 17:58:17 +0200
Subject: [PATCH 7/8] ipts
Subject: [PATCH 8/9] ipts
---
drivers/gpu/drm/i915/Makefile | 3 +
@ -89,7 +89,7 @@ Subject: [PATCH 7/8] ipts
create mode 100644 include/linux/ipts.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 5794f102f9b8..6ae0e91a213a 100644
index 5794f102f9b8f..6ae0e91a213af 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -155,6 +155,9 @@ i915-y += dvo_ch7017.o \
@ -103,7 +103,7 @@ index 5794f102f9b8..6ae0e91a213a 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 e063e98d1e82..99becb6aed68 100644
index e063e98d1e82e..99becb6aed688 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -31,6 +31,7 @@
@ -191,7 +191,7 @@ index e063e98d1e82..99becb6aed68 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 b0d76a7a0946..81fba8e5ab05 100644
index b0d76a7a0946f..81fba8e5ab050 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -47,11 +47,12 @@
@ -229,7 +229,7 @@ index b0d76a7a0946..81fba8e5ab05 100644
if (i915_gem_suspend(dev_priv))
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index db2e9af49ae6..99bc0c92c411 100644
index db2e9af49ae6f..99bc0c92c4111 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3232,6 +3232,9 @@ void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj,
@ -243,7 +243,7 @@ index db2e9af49ae6..99bc0c92c411 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 ef383fd42988..89da4ff09431 100644
index ef383fd429885..89da4ff094312 100644
--- a/drivers/gpu/drm/i915/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/i915_gem_context.c
@@ -472,6 +472,18 @@ static bool needs_preempt_context(struct drm_i915_private *i915)
@ -266,7 +266,7 @@ index ef383fd42988..89da4ff09431 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 b7c398232136..adf168aed2fe 100644
index b7c3982321369..adf168aed2fe3 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -36,6 +36,7 @@
@ -298,7 +298,7 @@ index b7c398232136..adf168aed2fe 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 295e981e4a39..84415814c007 100644
index 295e981e4a398..84415814c0070 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -145,7 +145,10 @@ i915_param_named_unsafe(edp_vswing, int, 0400,
@ -314,7 +314,7 @@ index 295e981e4a39..84415814c007 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 6c4d4a21474b..4ab800c3de6d 100644
index 6c4d4a21474b5..4ab800c3de6d0 100644
--- a/drivers/gpu/drm/i915/i915_params.h
+++ b/drivers/gpu/drm/i915/i915_params.h
@@ -46,7 +46,7 @@ struct drm_printer;
@ -337,7 +337,7 @@ index 6c4d4a21474b..4ab800c3de6d 100644
#define MEMBER(T, member, ...) T member;
struct i915_params {
diff --git a/drivers/gpu/drm/i915/intel_guc.h b/drivers/gpu/drm/i915/intel_guc.h
index 4121928a495e..8967376accf3 100644
index 4121928a495e0..8967376accf30 100644
--- a/drivers/gpu/drm/i915/intel_guc.h
+++ b/drivers/gpu/drm/i915/intel_guc.h
@@ -69,6 +69,7 @@ struct intel_guc {
@ -349,7 +349,7 @@ index 4121928a495e..8967376accf3 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 4aa5e6463e7b..da80c5f17fee 100644
index 4aa5e6463e7b7..da80c5f17feea 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.c
+++ b/drivers/gpu/drm/i915/intel_guc_submission.c
@@ -88,12 +88,17 @@ static inline struct i915_priolist *to_priolist(struct rb_node *rb)
@ -481,7 +481,7 @@ index 4aa5e6463e7b..da80c5f17fee 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 fb081cefef93..71fc7986585a 100644
index fb081cefef935..71fc7986585ab 100644
--- a/drivers/gpu/drm/i915/intel_guc_submission.h
+++ b/drivers/gpu/drm/i915/intel_guc_submission.h
@@ -79,5 +79,9 @@ void intel_guc_submission_disable(struct intel_guc *guc);
@ -496,7 +496,7 @@ index fb081cefef93..71fc7986585a 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..c1199074924a
index 0000000000000..c1199074924a0
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_ipts.c
@@ -0,0 +1,650 @@
@ -1152,7 +1152,7 @@ index 000000000000..c1199074924a
+}
diff --git a/drivers/gpu/drm/i915/intel_ipts.h b/drivers/gpu/drm/i915/intel_ipts.h
new file mode 100644
index 000000000000..67f90b72f237
index 0000000000000..67f90b72f2378
--- /dev/null
+++ b/drivers/gpu/drm/i915/intel_ipts.h
@@ -0,0 +1,34 @@
@ -1191,7 +1191,7 @@ index 000000000000..67f90b72f237
+
+#endif //_INTEL_IPTS_H_
diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
index 13e97faabaa7..a4af67d3d6ff 100644
index 13e97faabaa74..a4af67d3d6ffd 100644
--- a/drivers/gpu/drm/i915/intel_lrc.c
+++ b/drivers/gpu/drm/i915/intel_lrc.c
@@ -164,9 +164,6 @@
@ -1242,7 +1242,7 @@ index 13e97faabaa7..a4af67d3d6ff 100644
struct intel_context *ce)
{
diff --git a/drivers/gpu/drm/i915/intel_lrc.h b/drivers/gpu/drm/i915/intel_lrc.h
index 4dfb78e3ec7e..32159231a16e 100644
index 4dfb78e3ec7e4..32159231a16e7 100644
--- a/drivers/gpu/drm/i915/intel_lrc.h
+++ b/drivers/gpu/drm/i915/intel_lrc.h
@@ -106,4 +106,12 @@ void intel_lr_context_resume(struct drm_i915_private *dev_priv);
@ -1259,7 +1259,7 @@ index 4dfb78e3ec7e..32159231a16e 100644
+
#endif /* _INTEL_LRC_H_ */
diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c
index 4a9f139e7b73..c137a57f6702 100644
index 4a9f139e7b738..c137a57f67026 100644
--- a/drivers/gpu/drm/i915/intel_panel.c
+++ b/drivers/gpu/drm/i915/intel_panel.c
@@ -34,6 +34,7 @@
@ -1291,7 +1291,7 @@ index 4a9f139e7b73..c137a57f6702 100644
static void pch_enable_backlight(const struct intel_crtc_state *crtc_state,
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
index 3726eacdf65d..77263b5f5915 100644
index 3726eacdf65de..77263b5f5915a 100644
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
@@ -520,6 +520,7 @@ source "drivers/misc/ti-st/Kconfig"
@ -1303,7 +1303,7 @@ index 3726eacdf65d..77263b5f5915 100644
source "drivers/misc/mic/Kconfig"
source "drivers/misc/genwqe/Kconfig"
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index af22bbc3d00c..eb1eb0d58c32 100644
index af22bbc3d00cb..eb1eb0d58c327 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
@@ -44,6 +44,7 @@ obj-y += lis3lv02d/
@ -1316,7 +1316,7 @@ index af22bbc3d00c..eb1eb0d58c32 100644
obj-$(CONFIG_SRAM) += sram.o
diff --git a/drivers/misc/ipts/Kconfig b/drivers/misc/ipts/Kconfig
new file mode 100644
index 000000000000..900d2c58ca74
index 0000000000000..900d2c58ca74c
--- /dev/null
+++ b/drivers/misc/ipts/Kconfig
@@ -0,0 +1,12 @@
@ -1334,7 +1334,7 @@ index 000000000000..900d2c58ca74
+source "drivers/misc/ipts/companion/Kconfig"
diff --git a/drivers/misc/ipts/Makefile b/drivers/misc/ipts/Makefile
new file mode 100644
index 000000000000..bb3982f48afc
index 0000000000000..bb3982f48afcb
--- /dev/null
+++ b/drivers/misc/ipts/Makefile
@@ -0,0 +1,19 @@
@ -1359,7 +1359,7 @@ index 000000000000..bb3982f48afc
+obj-y += companion/
diff --git a/drivers/misc/ipts/companion.c b/drivers/misc/ipts/companion.c
new file mode 100644
index 000000000000..8f66b852f137
index 0000000000000..8f66b852f1371
--- /dev/null
+++ b/drivers/misc/ipts/companion.c
@@ -0,0 +1,211 @@
@ -1576,7 +1576,7 @@ index 000000000000..8f66b852f137
+}
diff --git a/drivers/misc/ipts/companion.h b/drivers/misc/ipts/companion.h
new file mode 100644
index 000000000000..7a1e4b388c40
index 0000000000000..7a1e4b388c40a
--- /dev/null
+++ b/drivers/misc/ipts/companion.h
@@ -0,0 +1,25 @@
@ -1607,7 +1607,7 @@ index 000000000000..7a1e4b388c40
+#endif // _IPTS_COMPANION_H_
diff --git a/drivers/misc/ipts/companion/Kconfig b/drivers/misc/ipts/companion/Kconfig
new file mode 100644
index 000000000000..ef17d9bb5242
index 0000000000000..ef17d9bb5242f
--- /dev/null
+++ b/drivers/misc/ipts/companion/Kconfig
@@ -0,0 +1,8 @@
@ -1621,7 +1621,7 @@ index 000000000000..ef17d9bb5242
+ If you have a Microsoft Surface using IPTS, select y or m here.
diff --git a/drivers/misc/ipts/companion/Makefile b/drivers/misc/ipts/companion/Makefile
new file mode 100644
index 000000000000..b37f2f59937a
index 0000000000000..b37f2f59937a8
--- /dev/null
+++ b/drivers/misc/ipts/companion/Makefile
@@ -0,0 +1,2 @@
@ -1629,7 +1629,7 @@ index 000000000000..b37f2f59937a
+obj-$(CONFIG_INTEL_IPTS_SURFACE)+= ipts-surface.o
diff --git a/drivers/misc/ipts/companion/ipts-surface.c b/drivers/misc/ipts/companion/ipts-surface.c
new file mode 100644
index 000000000000..a717dfcdfeba
index 0000000000000..a717dfcdfeba7
--- /dev/null
+++ b/drivers/misc/ipts/companion/ipts-surface.c
@@ -0,0 +1,157 @@
@ -1792,7 +1792,7 @@ index 000000000000..a717dfcdfeba
+IPTS_SURFACE_FIRMWARE("MSHW0137");
diff --git a/drivers/misc/ipts/dbgfs.c b/drivers/misc/ipts/dbgfs.c
new file mode 100644
index 000000000000..fd9388de17e7
index 0000000000000..fd9388de17e78
--- /dev/null
+++ b/drivers/misc/ipts/dbgfs.c
@@ -0,0 +1,277 @@
@ -2075,7 +2075,7 @@ index 000000000000..fd9388de17e7
+}
diff --git a/drivers/misc/ipts/gfx.c b/drivers/misc/ipts/gfx.c
new file mode 100644
index 000000000000..b8900f514c75
index 0000000000000..b8900f514c756
--- /dev/null
+++ b/drivers/misc/ipts/gfx.c
@@ -0,0 +1,180 @@
@ -2261,7 +2261,7 @@ index 000000000000..b8900f514c75
+}
diff --git a/drivers/misc/ipts/gfx.h b/drivers/misc/ipts/gfx.h
new file mode 100644
index 000000000000..2880e122e9f9
index 0000000000000..2880e122e9f96
--- /dev/null
+++ b/drivers/misc/ipts/gfx.h
@@ -0,0 +1,25 @@
@ -2292,7 +2292,7 @@ index 000000000000..2880e122e9f9
+#endif // _IPTS_GFX_H_
diff --git a/drivers/misc/ipts/hid.c b/drivers/misc/ipts/hid.c
new file mode 100644
index 000000000000..1b7ad2a774a8
index 0000000000000..1b7ad2a774a86
--- /dev/null
+++ b/drivers/misc/ipts/hid.c
@@ -0,0 +1,469 @@
@ -2767,7 +2767,7 @@ index 000000000000..1b7ad2a774a8
+}
diff --git a/drivers/misc/ipts/hid.h b/drivers/misc/ipts/hid.h
new file mode 100644
index 000000000000..c943979e0198
index 0000000000000..c943979e01983
--- /dev/null
+++ b/drivers/misc/ipts/hid.h
@@ -0,0 +1,21 @@
@ -2794,7 +2794,7 @@ index 000000000000..c943979e0198
+#endif // _IPTS_HID_H_
diff --git a/drivers/misc/ipts/ipts.c b/drivers/misc/ipts/ipts.c
new file mode 100644
index 000000000000..dfafabf8dd94
index 0000000000000..dfafabf8dd949
--- /dev/null
+++ b/drivers/misc/ipts/ipts.c
@@ -0,0 +1,62 @@
@ -2862,7 +2862,7 @@ index 000000000000..dfafabf8dd94
+}
diff --git a/drivers/misc/ipts/ipts.h b/drivers/misc/ipts/ipts.h
new file mode 100644
index 000000000000..32eb3ffd68a3
index 0000000000000..32eb3ffd68a3b
--- /dev/null
+++ b/drivers/misc/ipts/ipts.h
@@ -0,0 +1,172 @@
@ -3040,7 +3040,7 @@ index 000000000000..32eb3ffd68a3
+#endif // _IPTS_H_
diff --git a/drivers/misc/ipts/kernel.c b/drivers/misc/ipts/kernel.c
new file mode 100644
index 000000000000..a2c43228e2c7
index 0000000000000..a2c43228e2c7d
--- /dev/null
+++ b/drivers/misc/ipts/kernel.c
@@ -0,0 +1,1047 @@
@ -4093,7 +4093,7 @@ index 000000000000..a2c43228e2c7
+}
diff --git a/drivers/misc/ipts/kernel.h b/drivers/misc/ipts/kernel.h
new file mode 100644
index 000000000000..7be45da01cfc
index 0000000000000..7be45da01cfc0
--- /dev/null
+++ b/drivers/misc/ipts/kernel.h
@@ -0,0 +1,17 @@
@ -4116,7 +4116,7 @@ index 000000000000..7be45da01cfc
+#endif // _IPTS_KERNEL_H_
diff --git a/drivers/misc/ipts/mei-msgs.h b/drivers/misc/ipts/mei-msgs.h
new file mode 100644
index 000000000000..036b74f7234e
index 0000000000000..036b74f7234ef
--- /dev/null
+++ b/drivers/misc/ipts/mei-msgs.h
@@ -0,0 +1,901 @@
@ -5023,7 +5023,7 @@ index 000000000000..036b74f7234e
+#endif // _IPTS_MEI_MSGS_H_
diff --git a/drivers/misc/ipts/mei.c b/drivers/misc/ipts/mei.c
new file mode 100644
index 000000000000..03b5d747a728
index 0000000000000..03b5d747a728f
--- /dev/null
+++ b/drivers/misc/ipts/mei.c
@@ -0,0 +1,238 @@
@ -5267,7 +5267,7 @@ index 000000000000..03b5d747a728
+MODULE_LICENSE("GPL");
diff --git a/drivers/misc/ipts/msg-handler.c b/drivers/misc/ipts/msg-handler.c
new file mode 100644
index 000000000000..9431b1dfc6e0
index 0000000000000..9431b1dfc6e06
--- /dev/null
+++ b/drivers/misc/ipts/msg-handler.c
@@ -0,0 +1,405 @@
@ -5678,7 +5678,7 @@ index 000000000000..9431b1dfc6e0
+}
diff --git a/drivers/misc/ipts/msg-handler.h b/drivers/misc/ipts/msg-handler.h
new file mode 100644
index 000000000000..eca4238adf4b
index 0000000000000..eca4238adf4b1
--- /dev/null
+++ b/drivers/misc/ipts/msg-handler.h
@@ -0,0 +1,28 @@
@ -5712,7 +5712,7 @@ index 000000000000..eca4238adf4b
+#endif /* _IPTS_MSG_HANDLER_H */
diff --git a/drivers/misc/ipts/params.c b/drivers/misc/ipts/params.c
new file mode 100644
index 000000000000..3ea76ca8342a
index 0000000000000..3ea76ca8342a9
--- /dev/null
+++ b/drivers/misc/ipts/params.c
@@ -0,0 +1,42 @@
@ -5760,7 +5760,7 @@ index 000000000000..3ea76ca8342a
+
diff --git a/drivers/misc/ipts/params.h b/drivers/misc/ipts/params.h
new file mode 100644
index 000000000000..c20546bacb08
index 0000000000000..c20546bacb086
--- /dev/null
+++ b/drivers/misc/ipts/params.h
@@ -0,0 +1,25 @@
@ -5791,7 +5791,7 @@ index 000000000000..c20546bacb08
+#endif // _IPTS_PARAMS_H_
diff --git a/drivers/misc/ipts/resource.c b/drivers/misc/ipts/resource.c
new file mode 100644
index 000000000000..cfd212f2cac0
index 0000000000000..cfd212f2cac09
--- /dev/null
+++ b/drivers/misc/ipts/resource.c
@@ -0,0 +1,291 @@
@ -6088,7 +6088,7 @@ index 000000000000..cfd212f2cac0
+}
diff --git a/drivers/misc/ipts/resource.h b/drivers/misc/ipts/resource.h
new file mode 100644
index 000000000000..27b9c17fcb89
index 0000000000000..27b9c17fcb89a
--- /dev/null
+++ b/drivers/misc/ipts/resource.h
@@ -0,0 +1,26 @@
@ -6120,7 +6120,7 @@ index 000000000000..27b9c17fcb89
+#endif // _IPTS_RESOURCE_H_
diff --git a/drivers/misc/ipts/sensor-regs.h b/drivers/misc/ipts/sensor-regs.h
new file mode 100644
index 000000000000..c1afab48249b
index 0000000000000..c1afab48249b7
--- /dev/null
+++ b/drivers/misc/ipts/sensor-regs.h
@@ -0,0 +1,834 @@
@ -6960,7 +6960,7 @@ index 000000000000..c1afab48249b
+#endif // _IPTS_SENSOR_REGS_H_
diff --git a/drivers/misc/ipts/state.h b/drivers/misc/ipts/state.h
new file mode 100644
index 000000000000..ef73d28db47c
index 0000000000000..ef73d28db47cc
--- /dev/null
+++ b/drivers/misc/ipts/state.h
@@ -0,0 +1,22 @@
@ -6987,7 +6987,7 @@ index 000000000000..ef73d28db47c
+
+#endif // _IPTS_STATE_H_
diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h
index 2ac1dc5104b7..5daa857a4938 100644
index 2ac1dc5104b7a..5daa857a49389 100644
--- a/drivers/misc/mei/hw-me-regs.h
+++ b/drivers/misc/mei/hw-me-regs.h
@@ -119,6 +119,7 @@
@ -6999,7 +6999,7 @@ index 2ac1dc5104b7..5daa857a4938 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 b4bf12f27caf..34f4338fa641 100644
index b4bf12f27caf5..34f4338fa6417 100644
--- a/drivers/misc/mei/pci-me.c
+++ b/drivers/misc/mei/pci-me.c
@@ -86,6 +86,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = {
@ -7012,7 +7012,7 @@ index b4bf12f27caf..34f4338fa641 100644
{MEI_PCI_DEVICE(MEI_DEV_ID_LBG, MEI_ME_PCH12_CFG)},
diff --git a/include/linux/ipts-binary.h b/include/linux/ipts-binary.h
new file mode 100644
index 000000000000..98b54d74ff88
index 0000000000000..98b54d74ff888
--- /dev/null
+++ b/include/linux/ipts-binary.h
@@ -0,0 +1,140 @@
@ -7158,7 +7158,7 @@ index 000000000000..98b54d74ff88
+#endif // IPTS_BINARY_H
diff --git a/include/linux/ipts-companion.h b/include/linux/ipts-companion.h
new file mode 100644
index 000000000000..de31f5e0b186
index 0000000000000..de31f5e0b186b
--- /dev/null
+++ b/include/linux/ipts-companion.h
@@ -0,0 +1,29 @@
@ -7193,7 +7193,7 @@ index 000000000000..de31f5e0b186
+#endif // IPTS_COMPANION_H
diff --git a/include/linux/ipts-gfx.h b/include/linux/ipts-gfx.h
new file mode 100644
index 000000000000..cb9d98fe96e4
index 0000000000000..cb9d98fe96e4b
--- /dev/null
+++ b/include/linux/ipts-gfx.h
@@ -0,0 +1,86 @@
@ -7285,7 +7285,7 @@ index 000000000000..cb9d98fe96e4
+#endif // IPTS_GFX_H
diff --git a/include/linux/ipts.h b/include/linux/ipts.h
new file mode 100644
index 000000000000..f229a3436851
index 0000000000000..f229a34368516
--- /dev/null
+++ b/include/linux/ipts.h
@@ -0,0 +1,19 @@
@ -7309,5 +7309,5 @@ index 000000000000..f229a3436851
+
+#endif // IPTS_H
--
2.27.0
2.28.0

View file

@ -1,7 +1,7 @@
From a3b7c2bb5b8337176501abb3a94941716340d3fc Mon Sep 17 00:00:00 2001
From d62b2cd4d47686639f5950a87013db90860c8d0b 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 8/8] wifi
Subject: [PATCH 9/9] wifi
---
.../net/wireless/marvell/mwifiex/cfg80211.c | 26 ++++++
@ -10,7 +10,7 @@ Subject: [PATCH 8/8] wifi
3 files changed, 83 insertions(+), 60 deletions(-)
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 650191db25cb..dd487fc9c1a1 100644
index 650191db25cbe..dd487fc9c1a1e 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 650191db25cb..dd487fc9c1a1 100644
}
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
index 991b9cc18000..2464f536192c 100644
index 991b9cc180006..2464f536192cb 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -146,40 +146,45 @@ static bool mwifiex_pcie_ok_to_access_hw(struct mwifiex_adapter *adapter)
@ -191,7 +191,7 @@ index 991b9cc18000..2464f536192c 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 4ed10cf82f9a..410bef3d6a6e 100644
index 4ed10cf82f9a4..410bef3d6a6eb 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,
@ -254,5 +254,5 @@ index 4ed10cf82f9a..410bef3d6a6e 100644
if (priv->bss_type != MWIFIEX_BSS_TYPE_UAP) {
/* Send cmd to FW to enable/disable 11D function */
--
2.27.0
2.28.0

View file

@ -1 +0,0 @@
../../../patches/4.19/0002-surface3-spi.patch

View file

@ -0,0 +1 @@
../../../patches/4.19/0002-surface3-touchscreen-dma-fix.patch

View file

@ -0,0 +1 @@
../../../patches/4.19/0006-surface-sam-over-hid.patch

View file

@ -1 +0,0 @@
../../../patches/4.19/0006-suspend.patch

View file

@ -1 +0,0 @@
../../../patches/4.19/0007-ipts.patch

View file

@ -0,0 +1 @@
../../../patches/4.19/0007-suspend.patch

View file

@ -0,0 +1 @@
../../../patches/4.19/0008-ipts.patch

View file

@ -1 +0,0 @@
../../../patches/4.19/0008-wifi.patch

View file

@ -0,0 +1 @@
../../../patches/4.19/0009-wifi.patch

View file

@ -21,13 +21,14 @@ source=(
surface.config
0001-surface3-power.patch
0002-surface3-spi.patch
0002-surface3-touchscreen-dma-fix.patch
0003-surface3-oemb.patch
0004-surface-buttons.patch
0005-surface-sam.patch
0006-suspend.patch
0007-ipts.patch
0008-wifi.patch
0006-surface-sam-over-hid.patch
0007-suspend.patch
0008-ipts.patch
0009-wifi.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
@ -38,15 +39,16 @@ sha256sums=('7d7da84f65d31546911283c36478b548bc78c4139061a7a0241feca8318e3a6f'
'SKIP'
'4e68572e7cc4c5368f0236e0792660ae8498373988625dca46e509399a7eaea6'
'a13581d3c6dc595206e4fe7fcf6b542e7a1bdbe96101f0f010fc5be49f99baf2'
'c602c46325ef87e19f437a7326ac4e36e539f005a27ad1416e75bbc227cade58'
'a0e6169ae0fb77f49e4fb28c1faad4a71420589c7cf55be5e47a910b491397c3'
'42a7965b44000bdecff52f01233e7c9ba57e6493c0dece0e5b691d38d5ddf4cd'
'12abbaa948773818957784f933f275d68da8de68f2e19658524ae6b96a37e625'
'44fce33d651d35a7880d3cc84b1cf8498bd49224d8c53783d9cb141c5cad0bd5'
'274e642e95359c4eaaa408235ee33388eae20609b2fe56ad7dbce7d1f1dd540f'
'6c6b4f223d4ee9766adcc7e747fe5b0695e037bab4820325791678260e4b3797'
'3e9b860b46bec6f23b55fd33a27fece4b2e7856e77aec7c6b4010cdee2640f4f'
'b8e01cb8f6c68d0e6695c94ebc2970773b864bb9146c83c8c1cdcf5d84765ee1')
'ecd70de98096cd4fbfaf1c52a9d3d56a0a5c909761e674afb8373fa1b046a944'
'97fa4e1e781e21d93c13a0f3f935cb8c20a617ca17c8f1be2667e7f7e323a2ee'
'07841f5045ba1119bda8379b8b64b4dfde252473bbb4c791a71af9df9257905b'
'43bab276a7a3a927f1a9446c38637f3b4a8e17b3d3a162e8b849f5f70202912f'
'ed98e5aeafadb5c921edd4e446cce7cf5a4fb71645fd6cf1cd0d66144e8daf48'
'8ff8701bb94b375bfe50870ba11da302c89da176dd5e9e6acc7a5644f2d0e0c9'
'0becd7832ae34fe09c7fc9101aa566a8c1a5ec710de9720ca3cda35c49f0d830'
'0685d86f61df78ce2b0533fb563adb00b2a40bba6e55f766fdffde4dfa621a01'
'7cd6c85a466a58a564d91fc1d5de1073d163a1b44825b61a17041f5fe3c63907'
'53a78facd545a19d196c070d8c16d26937336133b0284d5137c9e9a549b729ef')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase