From 9cf56369b0218f409431eace3dc50fc7f30a9395 Mon Sep 17 00:00:00 2001 From: qzed Date: Wed, 24 Jul 2019 15:49:19 +0200 Subject: [PATCH] Update patches for v5.2 --- patches/{5.1 => 5.2}/0001-surface-acpi.patch | 6 +- patches/{5.1 => 5.2}/0002-suspend.patch | 22 +- patches/{5.1 => 5.2}/0003-buttons.patch | 14 +- patches/{5.1 => 5.2}/0004-cameras.patch | 12 +- patches/{5.1 => 5.2}/0005-ipts.patch | 229 +++++++++--------- patches/{5.1 => 5.2}/0006-hid.patch | 4 +- patches/{5.1 => 5.2}/0007-sdcard-reader.patch | 2 +- patches/{5.1 => 5.2}/0008-wifi.patch | 14 +- .../{5.1 => 5.2}/0009-surface3-power.patch | 6 +- patches/{5.1 => 5.2}/0010-mwlwifi.patch | 8 +- patches/{5.1 => 5.2}/0011-surface-lte.patch | 0 .../{5.1 => 5.2}/0012-surfacebook2-dgpu.patch | 6 +- 12 files changed, 164 insertions(+), 159 deletions(-) rename patches/{5.1 => 5.2}/0001-surface-acpi.patch (99%) rename patches/{5.1 => 5.2}/0002-suspend.patch (87%) rename patches/{5.1 => 5.2}/0003-buttons.patch (95%) rename patches/{5.1 => 5.2}/0004-cameras.patch (99%) rename patches/{5.1 => 5.2}/0005-ipts.patch (97%) rename patches/{5.1 => 5.2}/0006-hid.patch (98%) rename patches/{5.1 => 5.2}/0007-sdcard-reader.patch (94%) rename patches/{5.1 => 5.2}/0008-wifi.patch (96%) rename patches/{5.1 => 5.2}/0009-surface3-power.patch (99%) rename patches/{5.1 => 5.2}/0010-mwlwifi.patch (99%) rename patches/{5.1 => 5.2}/0011-surface-lte.patch (100%) rename patches/{5.1 => 5.2}/0012-surfacebook2-dgpu.patch (98%) diff --git a/patches/5.1/0001-surface-acpi.patch b/patches/5.2/0001-surface-acpi.patch similarity index 99% rename from patches/5.1/0001-surface-acpi.patch rename to patches/5.2/0001-surface-acpi.patch index f4fdde651..5576d192d 100644 --- a/patches/5.1/0001-surface-acpi.patch +++ b/patches/5.2/0001-surface-acpi.patch @@ -59,10 +59,10 @@ index d3d2dbfba680..0b7f617a6e9b 100644 buffer_desc = acpi_ut_create_buffer_object(buffer_length); if (!buffer_desc) { diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig -index a1ed13183559..501d06d4f196 100644 +index 5d5cc6111081..4fefae580dec 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig -@@ -622,6 +622,103 @@ config THINKPAD_ACPI_HOTKEY_POLL +@@ -623,6 +623,103 @@ config THINKPAD_ACPI_HOTKEY_POLL If you are not sure, say Y here. The driver enables polling only if it is strictly necessary to do so. @@ -167,7 +167,7 @@ index a1ed13183559..501d06d4f196 100644 tristate "Thinkpad Hard Drive Active Protection System (hdaps)" depends on INPUT diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile -index 86cb76677bc8..be1ce92a365d 100644 +index 87b0069bd781..8b12c19dc165 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -39,6 +39,7 @@ obj-$(CONFIG_TC1100_WMI) += tc1100-wmi.o diff --git a/patches/5.1/0002-suspend.patch b/patches/5.2/0002-suspend.patch similarity index 87% rename from patches/5.1/0002-suspend.patch rename to patches/5.2/0002-suspend.patch index 0802373b5..da13a2583 100644 --- a/patches/5.1/0002-suspend.patch +++ b/patches/5.2/0002-suspend.patch @@ -13,7 +13,7 @@ Subject: [PATCH 02/12] suspend 6 files changed, 40 insertions(+), 1 deletion(-) diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h -index 527d64545023..35840869c8d4 100644 +index 55553d293a98..506656ec65ea 100644 --- a/drivers/nvme/host/nvme.h +++ b/drivers/nvme/host/nvme.h @@ -92,6 +92,11 @@ enum nvme_quirks { @@ -29,7 +29,7 @@ index 527d64545023..35840869c8d4 100644 /* diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c -index 914eea2ea557..1d1ea00b43ac 100644 +index 524d6bd6d095..33b23fbff191 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -23,6 +23,7 @@ @@ -40,7 +40,7 @@ index 914eea2ea557..1d1ea00b43ac 100644 #include "trace.h" #include "nvme.h" -@@ -2864,8 +2865,11 @@ static int nvme_suspend(struct device *dev) +@@ -2839,8 +2840,11 @@ static int nvme_suspend(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); struct nvme_dev *ndev = pci_get_drvdata(pdev); @@ -53,7 +53,7 @@ index 914eea2ea557..1d1ea00b43ac 100644 return 0; } -@@ -2971,6 +2975,10 @@ static const struct pci_device_id nvme_id_table[] = { +@@ -2946,6 +2950,10 @@ static const struct pci_device_id nvme_id_table[] = { .driver_data = NVME_QUIRK_LIGHTNVM, }, { PCI_DEVICE(0x1d1d, 0x2601), /* CNEX Granby */ .driver_data = NVME_QUIRK_LIGHTNVM, }, @@ -65,10 +65,10 @@ index 914eea2ea557..1d1ea00b43ac 100644 { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001) }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) }, diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index cc616a5f6a8f..e2e95850383b 100644 +index 0f16acc323c6..b9ddb77586c7 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -1357,6 +1357,10 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID, +@@ -1356,6 +1356,10 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_AL, PCI_ANY_ID, occur when mode detecting */ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_VENDOR_ID_VIA, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE, 8, quirk_no_ata_d3); @@ -91,10 +91,10 @@ index 70e86148cb1e..44e07bd7e7ee 100644 + #endif /* _LINUX_PCI_IDS_H */ diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c -index 0bd595a0b610..a8385e8894a5 100644 +index 096211299c07..0cb0fe170977 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c -@@ -526,6 +526,8 @@ int suspend_devices_and_enter(suspend_state_t state) +@@ -533,6 +533,8 @@ int suspend_devices_and_enter(suspend_state_t state) goto Resume_devices; } @@ -103,7 +103,7 @@ index 0bd595a0b610..a8385e8894a5 100644 /** * suspend_finish - Clean up before finishing the suspend sequence. * -@@ -534,6 +536,15 @@ int suspend_devices_and_enter(suspend_state_t state) +@@ -541,6 +543,15 @@ int suspend_devices_and_enter(suspend_state_t state) */ static void suspend_finish(void) { @@ -120,10 +120,10 @@ index 0bd595a0b610..a8385e8894a5 100644 pm_notifier_call_chain(PM_POST_SUSPEND); pm_restore_console(); diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index 387efbaf464a..f2762f5989a8 100644 +index 1beca96fb625..4b98db9bbc88 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c -@@ -321,7 +321,16 @@ static int min_extfrag_threshold; +@@ -318,7 +318,16 @@ static int min_extfrag_threshold; static int max_extfrag_threshold = 1000; #endif diff --git a/patches/5.1/0003-buttons.patch b/patches/5.2/0003-buttons.patch similarity index 95% rename from patches/5.1/0003-buttons.patch rename to patches/5.2/0003-buttons.patch index 765257cf2..f324c96a2 100644 --- a/patches/5.1/0003-buttons.patch +++ b/patches/5.2/0003-buttons.patch @@ -10,10 +10,10 @@ Subject: [PATCH 03/12] buttons 3 files changed, 143 insertions(+), 15 deletions(-) diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig -index e15ed1bb8558..d88951da5e81 100644 +index d07c1eb15aa6..7d9ae394e597 100644 --- a/drivers/input/misc/Kconfig +++ b/drivers/input/misc/Kconfig -@@ -791,10 +791,10 @@ config INPUT_IDEAPAD_SLIDEBAR +@@ -813,10 +813,10 @@ config INPUT_IDEAPAD_SLIDEBAR config INPUT_SOC_BUTTON_ARRAY tristate "Windows-compatible SoC Button Array" @@ -28,7 +28,7 @@ index e15ed1bb8558..d88951da5e81 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 bb458beecb43..85be24fbe30b 100644 +index 55cd6e0b409c..8f21c062c85d 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 { @@ -58,7 +58,7 @@ index bb458beecb43..85be24fbe30b 100644 gpio_keys[n_buttons].type = info->event_type; gpio_keys[n_buttons].code = info->event_code; -@@ -313,23 +323,26 @@ static int soc_button_remove(struct platform_device *pdev) +@@ -309,23 +319,26 @@ static int soc_button_remove(struct platform_device *pdev) static int soc_button_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -93,7 +93,7 @@ index bb458beecb43..85be24fbe30b 100644 } error = gpiod_count(dev, NULL); -@@ -361,7 +374,7 @@ static int soc_button_probe(struct platform_device *pdev) +@@ -357,7 +370,7 @@ static int soc_button_probe(struct platform_device *pdev) if (!priv->children[0] && !priv->children[1]) return -ENODEV; @@ -102,7 +102,7 @@ index bb458beecb43..85be24fbe30b 100644 devm_kfree(dev, button_info); return 0; -@@ -372,7 +385,7 @@ static int soc_button_probe(struct platform_device *pdev) +@@ -368,7 +381,7 @@ static int soc_button_probe(struct platform_device *pdev) * is defined in section 2.8.7.2 of "Windows ACPI Design Guide for SoC * Platforms" */ @@ -111,7 +111,7 @@ index bb458beecb43..85be24fbe30b 100644 { "power", 0, EV_KEY, KEY_POWER, false, true }, { "home", 1, EV_KEY, KEY_LEFTMETA, false, true }, { "volume_up", 2, EV_KEY, KEY_VOLUMEUP, true, false }, -@@ -381,9 +394,77 @@ static struct soc_button_info soc_button_PNP0C40[] = { +@@ -377,9 +390,77 @@ static struct soc_button_info soc_button_PNP0C40[] = { { } }; diff --git a/patches/5.1/0004-cameras.patch b/patches/5.2/0004-cameras.patch similarity index 99% rename from patches/5.1/0004-cameras.patch rename to patches/5.2/0004-cameras.patch index eb6f8df01..5b4bc8c7f 100644 --- a/patches/5.1/0004-cameras.patch +++ b/patches/5.2/0004-cameras.patch @@ -21,10 +21,10 @@ Subject: [PATCH 04/12] cameras create mode 100644 drivers/staging/ov5693/ov5693.h diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c -index 10cfe8e51626..a5e6499dec2c 100644 +index 66ee168ddc7e..e4bccfab9da1 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -2399,6 +2399,46 @@ static const struct uvc_device_info uvc_quirk_force_y8 = { +@@ -2394,6 +2394,46 @@ static const struct uvc_device_info uvc_quirk_force_y8 = { * though they are compliant. */ static const struct usb_device_id uvc_ids[] = { @@ -72,13 +72,13 @@ index 10cfe8e51626..a5e6499dec2c 100644 { .match_flags = USB_DEVICE_ID_MATCH_DEVICE | USB_DEVICE_ID_MATCH_INT_INFO, diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile -index d1b17ddcd354..f51e5f6f2053 100644 +index 0da0d3f0b5e4..1fffb6f5a3be 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile -@@ -51,3 +51,4 @@ obj-$(CONFIG_SOC_MT7621) += mt7621-dts/ - obj-$(CONFIG_STAGING_GASKET_FRAMEWORK) += gasket/ - obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/ +@@ -49,3 +49,4 @@ obj-$(CONFIG_XIL_AXIS_FIFO) += axis-fifo/ obj-$(CONFIG_EROFS_FS) += erofs/ + obj-$(CONFIG_FIELDBUS_DEV) += fieldbus/ + obj-$(CONFIG_KPC2000) += kpc2000/ +obj-$(CONFIG_VIDEO_OV5693) += ov5693/ diff --git a/drivers/staging/ov5693/Kconfig b/drivers/staging/ov5693/Kconfig new file mode 100644 diff --git a/patches/5.1/0005-ipts.patch b/patches/5.2/0005-ipts.patch similarity index 97% rename from patches/5.1/0005-ipts.patch rename to patches/5.2/0005-ipts.patch index 7a7f560e2..7e3946df8 100644 --- a/patches/5.1/0005-ipts.patch +++ b/patches/5.2/0005-ipts.patch @@ -13,12 +13,12 @@ Subject: [PATCH 05/12] ipts drivers/gpu/drm/i915/i915_params.h | 5 +- drivers/gpu/drm/i915/intel_dp.c | 4 +- drivers/gpu/drm/i915/intel_guc.h | 1 + - drivers/gpu/drm/i915/intel_guc_submission.c | 90 +- + 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.h | 36 + - drivers/gpu/drm/i915/intel_lrc.c | 12 +- - drivers/gpu/drm/i915/intel_lrc.h | 9 + + drivers/gpu/drm/i915/intel_lrc.c | 15 +- + drivers/gpu/drm/i915/intel_lrc.h | 6 + drivers/gpu/drm/i915/intel_panel.c | 7 + drivers/hid/hid-multitouch.c | 22 +- drivers/misc/Kconfig | 1 + @@ -35,7 +35,7 @@ Subject: [PATCH 05/12] ipts drivers/misc/ipts/ipts-kernel.h | 23 + drivers/misc/ipts/ipts-mei-msgs.h | 585 +++++++++++ drivers/misc/ipts/ipts-mei.c | 282 +++++ - drivers/misc/ipts/ipts-msg-handler.c | 431 ++++++++ + drivers/misc/ipts/ipts-msg-handler.c | 437 ++++++++ drivers/misc/ipts/ipts-msg-handler.h | 32 + drivers/misc/ipts/ipts-resource.c | 277 +++++ drivers/misc/ipts/ipts-resource.h | 30 + @@ -45,7 +45,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 | 75 ++ - 41 files changed, 5573 insertions(+), 25 deletions(-) + 41 files changed, 5578 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 @@ -70,10 +70,10 @@ 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 1787e1299b1b..43df660cd309 100644 +index fbcb0904f4a8..1a273956b41c 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile -@@ -164,6 +164,9 @@ i915-y += dvo_ch7017.o \ +@@ -170,6 +170,9 @@ i915-y += dvo_ch7017.o \ vlv_dsi_pll.o \ intel_vdsc.o @@ -84,18 +84,18 @@ index 1787e1299b1b..43df660cd309 100644 i915-$(CONFIG_DRM_I915_CAPTURE_ERROR) += i915_gpu_error.o i915-$(CONFIG_DRM_I915_SELFTEST) += \ diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 9df65d386d11..40f24ebf88ba 100644 +index 1ad88e6d7c04..f3a175bfe499 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -56,6 +56,7 @@ - #include "intel_drv.h" +@@ -63,6 +63,7 @@ + #include "intel_sprite.h" #include "intel_uc.h" #include "intel_workarounds.h" +#include "intel_ipts.h" static struct drm_driver driver; -@@ -711,6 +712,9 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -723,6 +724,9 @@ static int i915_load_modeset_init(struct drm_device *dev) intel_init_ipc(dev_priv); @@ -105,7 +105,7 @@ index 9df65d386d11..40f24ebf88ba 100644 return 0; cleanup_gem: -@@ -1748,6 +1752,9 @@ void i915_driver_unload(struct drm_device *dev) +@@ -1912,6 +1916,9 @@ void i915_driver_unload(struct drm_device *dev) disable_rpm_wakeref_asserts(dev_priv); @@ -114,8 +114,8 @@ index 9df65d386d11..40f24ebf88ba 100644 + i915_driver_unregister(dev_priv); - /* Flush any external code that still may be under the RCU lock */ -@@ -1884,6 +1891,9 @@ static int i915_drm_suspend(struct drm_device *dev) + /* +@@ -2050,6 +2057,9 @@ static int i915_drm_suspend(struct drm_device *dev) struct pci_dev *pdev = dev_priv->drm.pdev; pci_power_t opregion_target_state; @@ -125,7 +125,7 @@ index 9df65d386d11..40f24ebf88ba 100644 disable_rpm_wakeref_asserts(dev_priv); /* We do a lot of poking in a lot of registers, make sure they work -@@ -2080,6 +2090,9 @@ static int i915_drm_resume(struct drm_device *dev) +@@ -2246,6 +2256,9 @@ static int i915_drm_resume(struct drm_device *dev) enable_rpm_wakeref_asserts(dev_priv); @@ -136,10 +136,10 @@ index 9df65d386d11..40f24ebf88ba 100644 } diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 0c4a76bca5c6..fada1122556a 100644 +index 066fd2a12851..2a872d8725b5 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -3119,6 +3119,9 @@ void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj, +@@ -3184,6 +3184,9 @@ void i915_gem_object_do_bit_17_swizzle(struct drm_i915_gem_object *obj, void i915_gem_object_save_bit_17_swizzle(struct drm_i915_gem_object *obj, struct sg_table *pages); @@ -150,11 +150,11 @@ index 0c4a76bca5c6..fada1122556a 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 280813a4bf82..0e9a93bcf72b 100644 +index dd728b26b5aa..ae3209b79b25 100644 --- a/drivers/gpu/drm/i915/i915_gem_context.c +++ b/drivers/gpu/drm/i915/i915_gem_context.c -@@ -555,6 +555,18 @@ static bool needs_preempt_context(struct drm_i915_private *i915) - return HAS_LOGICAL_RING_PREEMPTION(i915); +@@ -565,6 +565,18 @@ static bool needs_preempt_context(struct drm_i915_private *i915) + return HAS_EXECLISTS(i915); } +struct i915_gem_context *i915_gem_context_create_ipts(struct drm_device *dev) @@ -164,7 +164,7 @@ index 280813a4bf82..0e9a93bcf72b 100644 + + BUG_ON(!mutex_is_locked(&dev->struct_mutex)); + -+ ctx = i915_gem_create_context(dev_priv, NULL); ++ ctx = i915_gem_create_context(dev_priv, 0); + + return ctx; +} @@ -173,19 +173,19 @@ index 280813a4bf82..0e9a93bcf72b 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 441d2674b272..ad066f43cd4f 100644 +index b92cfd69134b..78fcd4b78480 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c -@@ -37,6 +37,7 @@ - #include "i915_drv.h" +@@ -41,6 +41,7 @@ #include "i915_trace.h" #include "intel_drv.h" + #include "intel_psr.h" +#include "intel_ipts.h" /** * DOC: interrupt handling -@@ -1452,6 +1453,9 @@ gen8_cs_irq_handler(struct intel_engine_cs *engine, u32 iir) - tasklet |= USES_GUC_SUBMISSION(engine->i915); +@@ -1520,6 +1521,9 @@ gen8_cs_irq_handler(struct intel_engine_cs *engine, u32 iir) + tasklet |= intel_engine_needs_breadcrumb_tasklet(engine); } + if (iir & GT_RENDER_PIPECTL_NOTIFY_INTERRUPT && i915_modparams.enable_ipts) @@ -194,16 +194,16 @@ index 441d2674b272..ad066f43cd4f 100644 if (tasklet) tasklet_hi_schedule(&engine->execlists.tasklet); } -@@ -3879,7 +3883,8 @@ static void gen8_gt_irq_postinstall(struct drm_i915_private *dev_priv) - { +@@ -4055,7 +4059,8 @@ static void gen8_gt_irq_postinstall(struct drm_i915_private *dev_priv) + /* These are interrupts we'll toggle with the ring mask register */ u32 gt_interrupts[] = { -- GT_RENDER_USER_INTERRUPT << GEN8_RCS_IRQ_SHIFT | -+ GT_RENDER_PIPECTL_NOTIFY_INTERRUPT << GEN8_RCS_IRQ_SHIFT | -+ GT_RENDER_USER_INTERRUPT << GEN8_RCS_IRQ_SHIFT | - GT_CONTEXT_SWITCH_INTERRUPT << GEN8_RCS_IRQ_SHIFT | - GT_RENDER_USER_INTERRUPT << GEN8_BCS_IRQ_SHIFT | - GT_CONTEXT_SWITCH_INTERRUPT << GEN8_BCS_IRQ_SHIFT, +- (GT_RENDER_USER_INTERRUPT << GEN8_RCS_IRQ_SHIFT | ++ (GT_RENDER_PIPECTL_NOTIFY_INTERRUPT << GEN8_RCS_IRQ_SHIFT | ++ GT_RENDER_USER_INTERRUPT << GEN8_RCS_IRQ_SHIFT | + GT_CONTEXT_SWITCH_INTERRUPT << GEN8_RCS_IRQ_SHIFT | + 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 --- a/drivers/gpu/drm/i915/i915_params.c @@ -244,10 +244,10 @@ 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 48da4a969a0a..c332d0686085 100644 +index 560274d1c50b..e305a35de9c2 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c -@@ -2874,8 +2874,8 @@ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode) +@@ -2899,8 +2899,8 @@ void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode) return; if (mode != DRM_MODE_DPMS_ON) { @@ -259,10 +259,10 @@ index 48da4a969a0a..c332d0686085 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 744220296653..459589588063 100644 +index 2c59ff8d9f39..d7f91693972f 100644 --- a/drivers/gpu/drm/i915/intel_guc.h +++ b/drivers/gpu/drm/i915/intel_guc.h -@@ -66,6 +66,7 @@ struct intel_guc { +@@ -67,6 +67,7 @@ struct intel_guc { struct intel_guc_client *execbuf_client; struct intel_guc_client *preempt_client; @@ -271,10 +271,10 @@ index 744220296653..459589588063 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 8bc8aa54aa35..9ddd5ace6f6f 100644 +index 46cd0e70aecb..e84c805f7340 100644 --- a/drivers/gpu/drm/i915/intel_guc_submission.c +++ b/drivers/gpu/drm/i915/intel_guc_submission.c -@@ -94,12 +94,17 @@ static inline struct i915_priolist *to_priolist(struct rb_node *rb) +@@ -93,12 +93,17 @@ static inline struct i915_priolist *to_priolist(struct rb_node *rb) static inline bool is_high_priority(struct intel_guc_client *client) { @@ -294,7 +294,7 @@ index 8bc8aa54aa35..9ddd5ace6f6f 100644 unsigned long offset; unsigned long end; u16 id; -@@ -112,10 +117,15 @@ static int reserve_doorbell(struct intel_guc_client *client) +@@ -111,10 +116,14 @@ static int reserve_doorbell(struct intel_guc_client *client) * priority contexts, the second half for high-priority ones. */ offset = 0; @@ -304,8 +304,7 @@ index 8bc8aa54aa35..9ddd5ace6f6f 100644 - end += offset; + if (IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv)) { + end = GUC_NUM_DOORBELLS; -+ } -+ else { ++ } else { + end = GUC_NUM_DOORBELLS/2; + if (is_high_priority(client)) { + offset = end; @@ -314,7 +313,7 @@ index 8bc8aa54aa35..9ddd5ace6f6f 100644 } id = find_next_zero_bit(client->guc->doorbell_bitmap, end, offset); -@@ -373,9 +383,15 @@ static void guc_stage_desc_init(struct intel_guc_client *client) +@@ -372,9 +381,15 @@ static void guc_stage_desc_init(struct intel_guc_client *client) desc = __get_stage_desc(client); memset(desc, 0, sizeof(*desc)); @@ -333,7 +332,7 @@ index 8bc8aa54aa35..9ddd5ace6f6f 100644 desc->attribute |= GUC_STAGE_DESC_ATTR_PREEMPT; desc->stage_id = client->stage_id; desc->priority = client->priority; -@@ -1204,7 +1220,8 @@ static void guc_interrupts_capture(struct drm_i915_private *dev_priv) +@@ -1302,7 +1317,8 @@ static void guc_interrupts_capture(struct drm_i915_private *dev_priv) I915_WRITE(RING_MODE_GEN7(engine), irqs); /* route USER_INTERRUPT to Host, all others are sent to GuC. */ @@ -343,7 +342,7 @@ index 8bc8aa54aa35..9ddd5ace6f6f 100644 GT_RENDER_USER_INTERRUPT << GEN8_BCS_IRQ_SHIFT; /* These three registers have the same bit definitions */ I915_WRITE(GUC_BCS_RCS_IER, ~irqs); -@@ -1345,6 +1362,59 @@ void intel_guc_submission_disable(struct intel_guc *guc) +@@ -1449,6 +1465,59 @@ void intel_guc_submission_disable(struct intel_guc *guc) guc_clients_disable(guc); } @@ -357,7 +356,7 @@ index 8bc8aa54aa35..9ddd5ace6f6f 100644 + + /* client for execbuf submission */ + client = guc_client_alloc(dev_priv, -+ INTEL_INFO(dev_priv)->ring_mask, ++ INTEL_INFO(dev_priv)->engine_mask, + IS_SKYLAKE(dev_priv) || IS_KABYLAKE(dev_priv) ? GUC_CLIENT_PRIORITY_HIGH : GUC_CLIENT_PRIORITY_NORMAL, + ctx); + if (IS_ERR(client)) { @@ -404,10 +403,10 @@ index 8bc8aa54aa35..9ddd5ace6f6f 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 169c54568340..245a8de1df2a 100644 +index aa5e6749c925..c9e5c14e7f67 100644 --- a/drivers/gpu/drm/i915/intel_guc_submission.h +++ b/drivers/gpu/drm/i915/intel_guc_submission.h -@@ -83,5 +83,9 @@ void intel_guc_submission_disable(struct intel_guc *guc); +@@ -84,5 +84,9 @@ void intel_guc_submission_disable(struct intel_guc *guc); void intel_guc_submission_fini(struct intel_guc *guc); int intel_guc_preempt_work_create(struct intel_guc *guc); void intel_guc_preempt_work_destroy(struct intel_guc *guc); @@ -419,7 +418,7 @@ index 169c54568340..245a8de1df2a 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..b276a2f7839c +index 000000000000..efc9607f6f73 --- /dev/null +++ b/drivers/gpu/drm/i915/intel_ipts.c @@ -0,0 +1,657 @@ @@ -600,7 +599,6 @@ index 000000000000..b276a2f7839c + struct i915_gem_context *ipts_ctx = NULL; + struct drm_i915_private *dev_priv = to_i915(intel_ipts.dev); + struct intel_context *ce = NULL; -+ struct intel_context *pin_ret; + int ret = 0; + + /* Initialize the context right away.*/ @@ -618,7 +616,7 @@ index 000000000000..b276a2f7839c + goto err_unlock; + } + -+ ce = to_intel_context(ipts_ctx, dev_priv->engine[RCS]); ++ ce = intel_context_pin(ipts_ctx, dev_priv->engine[RCS0]); + if (IS_ERR(ce)) { + DRM_ERROR("Failed to create intel context (error %ld)\n", + PTR_ERR(ce)); @@ -626,15 +624,15 @@ index 000000000000..b276a2f7839c + goto err_unlock; + } + -+ ret = execlists_context_deferred_alloc(ipts_ctx, dev_priv->engine[RCS], ce); ++ ret = execlists_context_deferred_alloc(ce, ce->engine); + if (ret) { + DRM_DEBUG("lr context allocation failed : %d\n", ret); + goto err_ctx; + } + -+ pin_ret = execlists_context_pin(dev_priv->engine[RCS], ipts_ctx); -+ if (IS_ERR(pin_ret)) { -+ DRM_DEBUG("lr context pinning failed : %ld\n", PTR_ERR(pin_ret)); ++ ret = execlists_context_pin(ce); ++ if (ret) { ++ DRM_DEBUG("lr context pinning failed : %d\n", ret); + goto err_ctx; + } + @@ -667,7 +665,7 @@ index 000000000000..b276a2f7839c + + ipts_ctx = intel_ipts.ipts_context; + -+ ce = to_intel_context(ipts_ctx, dev_priv->engine[RCS]); ++ ce = intel_context_lookup(ipts_ctx, dev_priv->engine[RCS0]); + + /* Initialize the context right away.*/ + ret = i915_mutex_lock_interruptible(intel_ipts.dev); @@ -677,6 +675,7 @@ index 000000000000..b276a2f7839c + } + + execlists_context_unpin(ce); ++ intel_context_unpin(ce); + i915_gem_context_put(ipts_ctx); + + mutex_unlock(&intel_ipts.dev->struct_mutex); @@ -1123,21 +1122,22 @@ index 000000000000..45d7d1273adf + +#endif //_INTEL_IPTS_H_ diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c -index 5e98fd79bd9d..523bc6354481 100644 +index 11e5a86610bf..4adf38cad6da 100644 --- a/drivers/gpu/drm/i915/intel_lrc.c +++ b/drivers/gpu/drm/i915/intel_lrc.c -@@ -164,9 +164,6 @@ - #define WA_TAIL_DWORDS 2 - #define WA_TAIL_BYTES (sizeof(u32) * WA_TAIL_DWORDS) +@@ -166,8 +166,8 @@ --static int execlists_context_deferred_alloc(struct i915_gem_context *ctx, -- struct intel_engine_cs *engine, -- struct intel_context *ce); + #define ACTIVE_PRIORITY (I915_PRIORITY_NOSEMAPHORE) + +-static int execlists_context_deferred_alloc(struct intel_context *ce, +- struct intel_engine_cs *engine); ++int execlists_context_deferred_alloc(struct intel_context *ce, ++ struct intel_engine_cs *engine); static void execlists_init_reg_state(u32 *reg_state, - struct i915_gem_context *ctx, + struct intel_context *ce, struct intel_engine_cs *engine, -@@ -1209,7 +1206,7 @@ static void execlists_context_destroy(struct intel_context *ce) - i915_gem_object_put(ce->state->obj); +@@ -1183,7 +1183,7 @@ static void __context_unpin(struct i915_vma *vma) + __i915_vma_unpin(vma); } -static void execlists_context_unpin(struct intel_context *ce) @@ -1145,16 +1145,16 @@ index 5e98fd79bd9d..523bc6354481 100644 { struct intel_engine_cs *engine; -@@ -1344,7 +1341,7 @@ static const struct intel_context_ops execlists_context_ops = { - .destroy = execlists_context_destroy, - }; +@@ -1285,7 +1285,7 @@ __execlists_context_pin(struct intel_context *ce, + return ret; + } --static struct intel_context * -+struct intel_context * - execlists_context_pin(struct intel_engine_cs *engine, - struct i915_gem_context *ctx) +-static int execlists_context_pin(struct intel_context *ce) ++int execlists_context_pin(struct intel_context *ce) { -@@ -2399,6 +2396,9 @@ int logical_render_ring_init(struct intel_engine_cs *engine) + return __execlists_context_pin(ce, ce->engine); + } +@@ -2520,6 +2520,9 @@ int logical_render_ring_init(struct intel_engine_cs *engine) engine->emit_flush = gen8_emit_flush_render; engine->emit_fini_breadcrumb = gen8_emit_fini_breadcrumb_rcs; @@ -1164,48 +1164,47 @@ index 5e98fd79bd9d..523bc6354481 100644 ret = logical_ring_init(engine); if (ret) return ret; -@@ -2754,7 +2754,7 @@ populate_lr_context(struct i915_gem_context *ctx, - return ret; +@@ -2881,8 +2884,8 @@ static struct i915_timeline *get_timeline(struct i915_gem_context *ctx) + return i915_timeline_create(ctx->i915, NULL); } --static int execlists_context_deferred_alloc(struct i915_gem_context *ctx, -+int execlists_context_deferred_alloc(struct i915_gem_context *ctx, - struct intel_engine_cs *engine, - struct intel_context *ce) +-static int execlists_context_deferred_alloc(struct intel_context *ce, +- struct intel_engine_cs *engine) ++int execlists_context_deferred_alloc(struct intel_context *ce, ++ struct intel_engine_cs *engine) { + 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 f1aec8a6986f..faa403f1378d 100644 +index 84aa230ea27b..0e8008eb0f3a 100644 --- a/drivers/gpu/drm/i915/intel_lrc.h +++ b/drivers/gpu/drm/i915/intel_lrc.h -@@ -112,6 +112,15 @@ void intel_execlists_show_requests(struct intel_engine_cs *engine, +@@ -115,6 +115,12 @@ void intel_execlists_show_requests(struct intel_engine_cs *engine, const char *prefix), unsigned int max); -+struct intel_context * -+execlists_context_pin(struct intel_engine_cs *engine, -+ struct i915_gem_context *ctx); ++int execlists_context_pin(struct intel_context *ce); +void execlists_context_unpin(struct intel_context *ce); -+int execlists_context_deferred_alloc(struct i915_gem_context *ctx, -+ struct intel_engine_cs *engine, -+ struct intel_context *ce); ++int execlists_context_deferred_alloc(struct intel_context *ce, ++ struct intel_engine_cs *engine); + + u32 gen8_make_rpcs(struct drm_i915_private *i915, struct intel_sseu *ctx_sseu); #endif /* _INTEL_LRC_H_ */ diff --git a/drivers/gpu/drm/i915/intel_panel.c b/drivers/gpu/drm/i915/intel_panel.c -index beca98d2b035..2fce56e17047 100644 +index 4ab4ce6569e7..2d3c523ba5c7 100644 --- a/drivers/gpu/drm/i915/intel_panel.c +++ b/drivers/gpu/drm/i915/intel_panel.c -@@ -34,6 +34,7 @@ - #include - #include +@@ -37,6 +37,7 @@ + #include "intel_connector.h" #include "intel_drv.h" + #include "intel_panel.h" +#include "intel_ipts.h" #define CRC_PMIC_PWM_PERIOD_NS 21333 -@@ -659,6 +660,9 @@ static void lpt_disable_backlight(const struct drm_connector_state *old_conn_sta +@@ -730,6 +731,9 @@ static void lpt_disable_backlight(const struct drm_connector_state *old_conn_sta struct drm_i915_private *dev_priv = to_i915(connector->base.dev); u32 tmp; @@ -1215,7 +1214,7 @@ index beca98d2b035..2fce56e17047 100644 intel_panel_actually_set_backlight(old_conn_state, 0); /* -@@ -846,6 +850,9 @@ static void lpt_enable_backlight(const struct intel_crtc_state *crtc_state, +@@ -917,6 +921,9 @@ static void lpt_enable_backlight(const struct intel_crtc_state *crtc_state, /* This won't stick until the above enable. */ intel_panel_actually_set_backlight(conn_state, panel->backlight.level); @@ -1229,7 +1228,7 @@ diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 42bb635895cf..3a362f107188 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c -@@ -173,6 +173,7 @@ struct mt_device { +@@ -169,6 +169,7 @@ struct mt_device { static void mt_post_parse_default_settings(struct mt_device *td, struct mt_application *app); static void mt_post_parse(struct mt_device *td, struct mt_application *app); @@ -1237,7 +1236,7 @@ index 42bb635895cf..3a362f107188 100644 /* classes of device behavior */ #define MT_CLS_DEFAULT 0x0001 -@@ -799,8 +800,11 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, +@@ -795,8 +796,11 @@ static int mt_touch_input_mapping(struct hid_device *hdev, struct hid_input *hi, app->scantime_logical_max = field->logical_maximum; return 1; case HID_DG_CONTACTCOUNT: @@ -1251,19 +1250,19 @@ index 42bb635895cf..3a362f107188 100644 return 1; case HID_DG_AZIMUTH: /* -@@ -1290,9 +1294,11 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi, +@@ -1286,9 +1290,11 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi, field->application != HID_DG_TOUCHSCREEN && field->application != HID_DG_PEN && field->application != HID_DG_TOUCHPAD && -+ field->application != HID_GD_MOUSE && ++ field->application != HID_GD_MOUSE && field->application != HID_GD_KEYBOARD && field->application != HID_GD_SYSTEM_CONTROL && field->application != HID_CP_CONSUMER_CONTROL && -+ field->logical != HID_DG_TOUCHSCREEN && ++ field->logical != HID_DG_TOUCHSCREEN && field->application != HID_GD_WIRELESS_RADIO_CTLS && field->application != HID_GD_SYSTEM_MULTIAXIS && !(field->application == HID_VD_ASUS_CUSTOM_MEDIA_KEYS && -@@ -1344,6 +1350,14 @@ static int mt_input_mapped(struct hid_device *hdev, struct hid_input *hi, +@@ -1340,6 +1346,14 @@ static int mt_input_mapped(struct hid_device *hdev, struct hid_input *hi, struct mt_device *td = hid_get_drvdata(hdev); struct mt_report_data *rdata; @@ -1278,7 +1277,7 @@ index 42bb635895cf..3a362f107188 100644 rdata = mt_find_report_data(td, field->report); if (rdata && rdata->is_mt_collection) { /* We own these mappings, tell hid-input to ignore them */ -@@ -1555,12 +1569,13 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi) +@@ -1551,12 +1565,13 @@ static int mt_input_configured(struct hid_device *hdev, struct hid_input *hi) /* already handled by hid core */ break; case HID_DG_TOUCHSCREEN: @@ -1293,7 +1292,7 @@ index 42bb635895cf..3a362f107188 100644 break; case HID_VD_ASUS_CUSTOM_MEDIA_KEYS: suffix = "Custom Media Keys"; -@@ -1676,6 +1691,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) +@@ -1672,6 +1687,7 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) td->hdev = hdev; td->mtclass = *mtclass; td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN; @@ -1302,10 +1301,10 @@ index 42bb635895cf..3a362f107188 100644 INIT_LIST_HEAD(&td->applications); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 42ab8ec92a04..86d926510285 100644 +index 85fc77148d19..b697f05eaf31 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig -@@ -539,6 +539,7 @@ source "drivers/misc/ti-st/Kconfig" +@@ -500,6 +500,7 @@ source "drivers/misc/ti-st/Kconfig" source "drivers/misc/lis3lv02d/Kconfig" source "drivers/misc/altera-stapl/Kconfig" source "drivers/misc/mei/Kconfig" @@ -1314,7 +1313,7 @@ index 42ab8ec92a04..86d926510285 100644 source "drivers/misc/mic/Kconfig" source "drivers/misc/genwqe/Kconfig" diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index d5b7d3404dc7..e5f6cbc33f7e 100644 +index b9affcdaa3d6..e681e345a9ed 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -45,6 +45,7 @@ obj-y += lis3lv02d/ @@ -4329,10 +4328,10 @@ 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..8b214f975c03 +index 000000000000..db5356a1c84e --- /dev/null +++ b/drivers/misc/ipts/ipts-msg-handler.c -@@ -0,0 +1,431 @@ +@@ -0,0 +1,437 @@ +#include + +#include "ipts.h" @@ -4486,6 +4485,9 @@ index 000000000000..8b214f975c03 + old_state = ipts_get_state(ipts); + ipts_set_state(ipts, IPTS_STA_STOPPING); + ++ ipts_send_sensor_quiesce_io_cmd(ipts); ++ ipts_send_sensor_clear_mem_window_cmd(ipts); ++ + if (old_state < IPTS_STA_RESOURCE_READY) + return; + @@ -4602,6 +4604,9 @@ index 000000000000..8b214f975c03 + break; + } + ++ if (ipts_get_state(ipts) == IPTS_STA_STOPPING) ++ break; ++ + /* allocate default resource : common & hid only */ + if (!ipts_is_default_resource_ready(ipts)) { + ret = ipts_allocate_default_resource(ipts); @@ -6069,10 +6074,10 @@ index 000000000000..1fcd02146b50 + +#endif // _IPTS_H_ diff --git a/drivers/misc/mei/hw-me-regs.h b/drivers/misc/mei/hw-me-regs.h -index bb1ee9834a02..2bbffe8aad40 100644 +index d74b182e19f3..a4021bc7d6b3 100644 --- a/drivers/misc/mei/hw-me-regs.h +++ b/drivers/misc/mei/hw-me-regs.h -@@ -119,6 +119,7 @@ +@@ -59,6 +59,7 @@ #define MEI_DEV_ID_SPT 0x9D3A /* Sunrise Point */ #define MEI_DEV_ID_SPT_2 0x9D3B /* Sunrise Point 2 */ @@ -6081,10 +6086,10 @@ index bb1ee9834a02..2bbffe8aad40 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 3ab946ad3257..c37daa561486 100644 +index 7a2b3545a7f9..c3c684cbd17d 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[] = { +@@ -77,6 +77,7 @@ static const struct pci_device_id mei_me_pci_tbl[] = { {MEI_PCI_DEVICE(MEI_DEV_ID_SPT, MEI_ME_PCH8_CFG)}, {MEI_PCI_DEVICE(MEI_DEV_ID_SPT_2, MEI_ME_PCH8_CFG)}, diff --git a/patches/5.1/0006-hid.patch b/patches/5.2/0006-hid.patch similarity index 98% rename from patches/5.1/0006-hid.patch rename to patches/5.2/0006-hid.patch index 20b5cdd67..f78b1e033 100644 --- a/patches/5.1/0006-hid.patch +++ b/patches/5.2/0006-hid.patch @@ -43,10 +43,10 @@ index b1636ce22060..676175ffe613 100644 #define USB_DEVICE_ID_MS_PIXART_MOUSE 0x00cb diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c -index 330cb073cb66..f45fea460678 100644 +index 8b3a922bdad3..0290a16881e5 100644 --- a/drivers/hid/hid-microsoft.c +++ b/drivers/hid/hid-microsoft.c -@@ -441,7 +441,8 @@ static const struct hid_device_id ms_devices[] = { +@@ -438,7 +438,8 @@ static const struct hid_device_id ms_devices[] = { .driver_data = MS_HIDINPUT }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD), .driver_data = MS_ERGONOMY}, diff --git a/patches/5.1/0007-sdcard-reader.patch b/patches/5.2/0007-sdcard-reader.patch similarity index 94% rename from patches/5.1/0007-sdcard-reader.patch rename to patches/5.2/0007-sdcard-reader.patch index b42f1a12b..6452a6579 100644 --- a/patches/5.1/0007-sdcard-reader.patch +++ b/patches/5.2/0007-sdcard-reader.patch @@ -8,7 +8,7 @@ Subject: [PATCH 07/12] sdcard-reader 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index b10d14af6416..300289c0dd98 100644 +index 2f94568ba385..b90ed9c06449 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -4201,7 +4201,8 @@ void usb_enable_lpm(struct usb_device *udev) diff --git a/patches/5.1/0008-wifi.patch b/patches/5.2/0008-wifi.patch similarity index 96% rename from patches/5.1/0008-wifi.patch rename to patches/5.2/0008-wifi.patch index dd1a4bb9c..805322835 100644 --- a/patches/5.1/0008-wifi.patch +++ b/patches/5.2/0008-wifi.patch @@ -33,7 +33,7 @@ index 042a1d07f686..fc9041f58e9f 100644 skb_src = skb_dequeue(&pra_list->skb_head); diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c -index e582d9b3e50c..92c49eb3c5a3 100644 +index e11a4bb67172..c3461a203deb 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -437,7 +437,10 @@ mwifiex_cfg80211_set_power_mgmt(struct wiphy *wiphy, @@ -49,10 +49,10 @@ index e582d9b3e50c..92c49eb3c5a3 100644 return mwifiex_drv_set_power(priv, &ps_mode); } diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c -index 60db2b969e20..efae99018c3c 100644 +index 8c35441fd9b7..71872139931e 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c -@@ -1000,6 +1000,7 @@ mwifiex_cmd_timeout_func(struct timer_list *t) +@@ -1006,6 +1006,7 @@ mwifiex_cmd_timeout_func(struct timer_list *t) if (cmd_node->wait_q_enabled) { adapter->cmd_wait_q.status = -ETIMEDOUT; mwifiex_cancel_pending_ioctl(adapter); @@ -60,7 +60,7 @@ index 60db2b969e20..efae99018c3c 100644 } } if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) { -@@ -1007,11 +1008,11 @@ mwifiex_cmd_timeout_func(struct timer_list *t) +@@ -1013,11 +1014,11 @@ mwifiex_cmd_timeout_func(struct timer_list *t) return; } @@ -76,7 +76,7 @@ index 60db2b969e20..efae99018c3c 100644 } void -@@ -1577,6 +1578,7 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv, +@@ -1583,6 +1584,7 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv, adapter->key_api_minor_ver); break; case FW_API_VER_ID: @@ -97,7 +97,7 @@ index 1fb76d2f5d3f..fb32379da99d 100644 struct hw_spec_api_rev { diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c -index 20cee5c397fb..13e49a3ae812 100644 +index f6da8edab7f1..51a65f26206b 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -163,6 +163,7 @@ void mwifiex_queue_main_work(struct mwifiex_adapter *adapter) @@ -228,7 +228,7 @@ index 4ed10cf82f9a..485360e8534b 100644 "deepsleep enabled=0(default), deepsleep disabled=1"); /* diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c -index 69e3b624adbb..884bad677cc3 100644 +index 24b33e20e7a9..51d0f34625e1 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c @@ -48,9 +48,14 @@ mwifiex_process_cmdresp_error(struct mwifiex_private *priv, diff --git a/patches/5.1/0009-surface3-power.patch b/patches/5.2/0009-surface3-power.patch similarity index 99% rename from patches/5.1/0009-surface3-power.patch rename to patches/5.2/0009-surface3-power.patch index caf818adb..753f96753 100644 --- a/patches/5.1/0009-surface3-power.patch +++ b/patches/5.2/0009-surface3-power.patch @@ -11,10 +11,10 @@ Subject: [PATCH 09/12] surface3-power create mode 100644 drivers/platform/x86/surface3_power.c diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig -index 501d06d4f196..21ffc03cd372 100644 +index 4fefae580dec..25df8d2866c6 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig -@@ -1300,6 +1300,13 @@ config SURFACE_3_BUTTON +@@ -1301,6 +1301,13 @@ config SURFACE_3_BUTTON ---help--- This driver handles the power/home/volume buttons on the Microsoft Surface 3 tablet. @@ -29,7 +29,7 @@ index 501d06d4f196..21ffc03cd372 100644 tristate "Intel P-Unit IPC Driver" ---help--- diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile -index be1ce92a365d..278ce32df99f 100644 +index 8b12c19dc165..58b07217c3cf 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -85,6 +85,7 @@ obj-$(CONFIG_INTEL_PMC_IPC) += intel_pmc_ipc.o diff --git a/patches/5.1/0010-mwlwifi.patch b/patches/5.2/0010-mwlwifi.patch similarity index 99% rename from patches/5.1/0010-mwlwifi.patch rename to patches/5.2/0010-mwlwifi.patch index cead9471d..b47810697 100644 --- a/patches/5.1/0010-mwlwifi.patch +++ b/patches/5.2/0010-mwlwifi.patch @@ -85,10 +85,10 @@ Subject: [PATCH 10/12] mwlwifi create mode 100644 drivers/net/wireless/marvell/mwlwifi/vendor_cmd.h diff --git a/drivers/net/wireless/marvell/Kconfig b/drivers/net/wireless/marvell/Kconfig -index 27038901d3ee..3982c80f6df9 100644 +index dff82fdbea78..c0790dbd52c0 100644 --- a/drivers/net/wireless/marvell/Kconfig +++ b/drivers/net/wireless/marvell/Kconfig -@@ -14,6 +14,7 @@ if WLAN_VENDOR_MARVELL +@@ -15,6 +15,7 @@ if WLAN_VENDOR_MARVELL source "drivers/net/wireless/marvell/libertas/Kconfig" source "drivers/net/wireless/marvell/libertas_tf/Kconfig" source "drivers/net/wireless/marvell/mwifiex/Kconfig" @@ -97,10 +97,10 @@ index 27038901d3ee..3982c80f6df9 100644 config MWL8K tristate "Marvell 88W8xxx PCI/PCIe Wireless support" diff --git a/drivers/net/wireless/marvell/Makefile b/drivers/net/wireless/marvell/Makefile -index 1b0a7d2bc8e6..04dff3388a41 100644 +index 25f6d5d2fa0c..00fccce28cdd 100644 --- a/drivers/net/wireless/marvell/Makefile +++ b/drivers/net/wireless/marvell/Makefile -@@ -2,5 +2,6 @@ obj-$(CONFIG_LIBERTAS) += libertas/ +@@ -3,5 +3,6 @@ obj-$(CONFIG_LIBERTAS) += libertas/ obj-$(CONFIG_LIBERTAS_THINFIRM) += libertas_tf/ obj-$(CONFIG_MWIFIEX) += mwifiex/ diff --git a/patches/5.1/0011-surface-lte.patch b/patches/5.2/0011-surface-lte.patch similarity index 100% rename from patches/5.1/0011-surface-lte.patch rename to patches/5.2/0011-surface-lte.patch diff --git a/patches/5.1/0012-surfacebook2-dgpu.patch b/patches/5.2/0012-surfacebook2-dgpu.patch similarity index 98% rename from patches/5.1/0012-surfacebook2-dgpu.patch rename to patches/5.2/0012-surfacebook2-dgpu.patch index bbad047af..235337ee5 100644 --- a/patches/5.1/0012-surfacebook2-dgpu.patch +++ b/patches/5.2/0012-surfacebook2-dgpu.patch @@ -11,10 +11,10 @@ Subject: [PATCH 12/12] surfacebook2-dgpu create mode 100644 drivers/platform/x86/surfacebook2_dgpu_hps.c diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig -index 21ffc03cd372..200d4d55da98 100644 +index 25df8d2866c6..fb52b557198e 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig -@@ -483,6 +483,15 @@ config SURFACE3_WMI +@@ -484,6 +484,15 @@ config SURFACE3_WMI To compile this driver as a module, choose M here: the module will be called surface3-wmi. @@ -31,7 +31,7 @@ index 21ffc03cd372..200d4d55da98 100644 tristate "ThinkPad ACPI Laptop Extras" depends on ACPI diff --git a/drivers/platform/x86/Makefile b/drivers/platform/x86/Makefile -index 278ce32df99f..0faf98020b84 100644 +index 58b07217c3cf..d18d3dcc5749 100644 --- a/drivers/platform/x86/Makefile +++ b/drivers/platform/x86/Makefile @@ -49,6 +49,7 @@ obj-$(CONFIG_ACPI_WMI) += wmi.o