Commit graph

98 commits

Author SHA1 Message Date
Maximilian Luz b931b147da
Update patches from kernel repo
- surface-acpi:
  - integrate dGPU hot-plug system
  - fix MODULE_ALIAS definitions for auto-loading SID battery and ac
    drivers

- disable DMA for surface3-spi touchscreen driver

- new wifi suspend patch (only 5.3/5.4)

- ipts:
  - do not automatically switch sensor modes (only 5.3)
2019-12-28 00:54:14 +01:00
Maximilian Luz 9e132617b8
Add preliminary v5.4 patches 2019-12-10 01:26:31 +01:00
Maximilian Luz 969a0197f6
surface-acpi: SID support for AC/Battery and HID
Add support for Surface Laptop 3 keyboard as well as Surface Laptop 3
and Surface Pro 7 Battery/AC.
2019-12-06 02:43:19 +01:00
Maximilian Luz b75f5ef30e
Update patches via kernel repo
- Improve HID precision touchpad detection
- IPTS cleanup
- surface-acpi restructuring and fixes
2019-11-10 23:40:16 +01:00
Maximilian Luz 2d34af8e14
Add fix for intel_lpss on Pro 7 and Laptop 3
On the Pro 7 and Laptop 3, intel_lpss_pci fails to probe and thus keeps
the system from booting. Add a patch to fix this.

Note: The added patch is on it's way upstream.
See: https://lkml.org/lkml/2019/10/16/1230
2019-11-03 01:04:48 +01:00
Maximilian Luz 3172322f64
Update surface-acpi
- Rename Kconfig options (SURFACE_ACPI_XXX -> SURFACE_SAM_XXX)
- Rename identifiers/functions.
- Split into multiple modules (surface_sam_ssh, surface_sam_san, ...)
2019-10-21 00:10:47 +02:00
Maximilian Luz dcf51e95e7
Update patches via qzed/linux-surface-kernel
- Fix missing Kconfig dependency of IPTS on DRM_I915
- Add IPTS firmware declarations
- Update button patch based on upstreaming changes
2019-10-17 22:01:18 +02:00
Maximilian Luz c02c4b2f93
Update surface-acpi 2019-10-02 22:44:15 +02:00
Maximilian Luz e6a110e42e
Run cleanpatch 2019-10-02 22:39:02 +02:00
Maximilian Luz 293f8214f6
Keep v5.2 patches around for now 2019-09-28 03:32:53 +02:00
qzed 982ba582f1
Run cleanpatch 2019-09-28 03:27:11 +02:00
qzed e1748122e9
Update surface-acpi for v5.3
This should fix the remaining issues in jakeday#473.
2019-09-28 03:27:11 +02:00
qzed 7f460186ff
Update surface-acpi for v4.19
This should fix the remaining issues in #473.
2019-09-28 03:27:10 +02:00
qzed a9681ee2ac
Add patches for v5.3 2019-09-28 03:26:33 +02:00
kitakar5525 f0ffd413fa
suspend.patch-4.19: Update NVMe part
This commit will update suspend.patch for 4.19

Backported these two patches:
- torvalds/linux@4eaefe8c62
  (nvme-pci: Allow PCI bus-level PM to be used if ASPM is disabled)
- torvalds/linux@accd2dd72c
  (PCI/ASPM: Add pcie_aspm_enabled())

on top of these patches that are already backported by commit
qzed/linux-surface@e8a3d85b22
(Update NVMe part of suspend.patch):
- torvalds/linux@d916b1be94
  (nvme-pci: use host managed power state for suspend)
- torvalds/linux@1a87ee657c
  (nvme: export get and set features)
- torvalds/linux@d6135c3a1e
  (nvme-pci: Sync queues on reset)

Tested and confirmed that suspend is working on Surface Book 1 with
THNSN5512GPU7 TOSHIBA NVMe SSD which has issue resuming from suspend
with PCI bus-level PM.

Link to issue: https://github.com/jakeday/linux-surface/issues/123
(Surface Book with Performance Base: NVMe SSD breaks suspend (s2idle))
2019-09-28 03:26:32 +02:00
Dorian Stoll 8c3acded2d
Move the no_feedback option into ipts-params.c
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2019-09-28 03:26:32 +02:00
Dorian Stoll de86889877
Add the ability to load different IPTS firmware per model
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2019-09-28 03:26:31 +02:00
qzed 292b082b29
Remove unnecessary changes in ACPI/serdev patches 2019-09-28 03:26:31 +02:00
kitakar5525 03e4a8dff3 ipts-5.2: fix crash after some use
- ipts: fix crash caused by calling ipts_send_feedback() repeatedly
(v2-ipts-fix-crash-caused-by-calling-ipts_send_feedback-.patch from kitakar5525/ipts-fix-crash)
2019-09-10 21:55:39 +09:00
kitakar5525 d8b26bd3b7 ipts-4.19: backport changes from 5.2 / fix crash after some use
- ipts: fix crash caused by calling ipts_send_feedback() repeatedly
(v2-ipts-fix-crash-caused-by-calling-ipts_send_feedback-.patch from kitakar5525/ipts-fix-crash)
- i915: ipts: add destroy_doorbell() when disabling ipts guc submission
(https://github.com/jakeday/linux-surface/issues/544#issuecomment-517626511)
- IPTS: Enable debug prints (qzed/linux-surface@a5e6433)
- IPTS: Do not call intel_ipts_cleanup on suspend (qzed/linux-surface@f52dae4)
- IPTS: Add device link for PM (qzed/linux-surface@cf887d8)
- Fix RCS0 GPU hang on module removing
(0001-Fix-RCS0-GPU-hang-on-module-removing.patch from kitakar5525/linux-surface-patches)
2019-09-10 21:53:44 +09:00
kitakar5525 e8a3d85b22 Update NVMe part of suspend.patch
Note:
NVMe part will be merged into Linux 5.3. Remove the part in
0002-suspend.patch when it arrives.

For 5.2
- (Reverted NVMe part of 0002-suspend.patch to apply following patch set)
- nvme: export get and set features · torvalds/linux@1a87ee6
torvalds/linux@1a87ee6
- nvme-pci: use host managed power state for suspend · torvalds/linux@d916b1b
torvalds/linux@d916b1b#diff-bc4c090f021c046a7d256a3fcf86b7da

For 4.19, this patch is also applied
- nvme-pci: Sync queues on reset · torvalds/linux@d6135c3
torvalds/linux@d6135c3#diff-bc4c090f021c046a7d256a3fcf86b7da

See
- Surface Book with Performance Base: NVMe SSD breaks suspend (s2idle) · Issue jakeday#123 · jakeday/linux-surface
jakeday#123
2019-08-26 01:00:45 +02:00
kitakar5525 360a2b1c45 IPTS: Add debugfs entries 2019-08-26 00:58:14 +02:00
qzed a5e6433117 IPTS: Enable debug prints 2019-08-26 00:58:14 +02:00
qzed f52dae4ec1 IPTS: Do not call intel_ipts_cleanup on suspend
Revert a3a3ed3: "updating 4.19 patches to fix touch and suspend".

Calling intel_ipts_cleanup during suspend causes destroy_doorbell to
fail. Furthermore, removing intel_ipts_cleanup from suspend does not
seem to cause any issues on the Surface Book 1 and 2, and the
introduction of the device link in the previous commit may have fixed
some of the edge-cases/race conditions that may have made this call
necessary in the past. If any issue arises from this, we will deal with
it later in a more subtle way.

See https://github.com/jakeday/linux-surface/issues/544 for an
exhaustive discussion on this.
2019-08-26 00:58:13 +02:00
qzed cf887d8c46 IPTS: Add device link for PM 2019-08-26 00:58:13 +02:00
qzed 9cf56369b0 Update patches for v5.2 2019-08-26 00:56:25 +02:00
qzed 21508168a7 Fix GPE interrupt setup for Surface Book 1 2019-08-26 00:54:14 +02:00
qzed 51c7f7a234 Update button patches (v3-upstreaming) 2019-07-27 18:27:19 +02:00
qzed 8e6c7b85ca Set up GPE interrupts for lid-based wakeup
The newer surface devices Pro 4 and up do not define _PRW to specify
which GPE interrupt belongs to the lid. Thus they may not be marked as
wake-up sources automatically, so we have to do this manually.
2019-07-26 04:15:42 +02:00
qzed be234ec92c Update button patches (v3) 2019-07-21 00:01:46 +02:00
qzed 49e4051332 Fix deferral issue in button driver 2019-07-07 01:07:34 +02:00
qzed 2009a8d721 Add dGPU hot-plug/power-setting support 2019-07-03 00:37:16 +02:00
qzed 002a33b6f0 Update surface-acpi and button patches 2019-07-03 00:36:37 +02:00
Jake Day 9d2772a7e8 updating patches 2019-06-27 12:58:16 -04:00
qzed 565c5e4c2f Update DMA check for surface_acpi
Linux upstream commit 5ba846b1ee0792f5a596b9b0b86d6e8cdebfab06 changed
some behavior in dmaengine, this is a fix for that.
2019-06-20 02:13:19 +02:00
qzed 109d2c5ffc drop surface-dock patch 2019-06-11 22:13:55 +02:00
Jake Day a4a9b7ca20 updating patches 2019-06-06 13:44:35 -04:00
qzed 79dec2382a Update patches for v5.1 2019-05-16 01:47:24 +02:00
Jake Day b7e8acf062 adding LTE support and updating patches 2019-04-30 20:52:01 -04:00
qzed 17ba202bb2 Ensure GPIOs are available in button driver
This patch ensures that a GPIO driver is loaded and set up before the
button driver can bind to the MSHW0040 device. Without this the driver
may not bind to the MSHW0040 device at all.
2019-04-24 20:51:10 +02:00
qzed 4e2e009dc7 Add performance-mode support for Surface Book 2
Adds a driver for the Surface platform Integration Device (SID) of the
Surface Book 2. This allows for setting the performance-mode, which can
be used to choose between performance-optimized vs. quiet operation.

The performance-mode can be set via the perf_mode sysfs attribute on the
corresponding device (MSHW0107).
2019-04-21 15:37:02 +02:00
qzed 327b97cb81 Update surface-acpi patches 2019-04-04 23:40:23 +02:00
Jake Day 5c2a640308 adding support for 5.0 kernel 2019-03-13 16:23:21 -04:00
Jake Day e09d9e11f5 updating patches 2019-03-07 15:01:54 -05:00
Jake Day 5d21cc824c updating 4.19 patches and config 2019-02-18 13:22:46 -05:00
Jake Day 2f1570d509 updating 4.19 patches 2019-02-16 13:26:57 -05:00
Jake Day 5b7dd5a7a9 updating 4.19 patches 2019-02-07 07:45:04 -05:00
Jake Day a3a3ed3dc4 updating 4.19 patches to fix touch and suspend 2019-01-31 07:14:24 -05:00
Jake Day 1143fcaa6b fix touch screen lag and crashing in ipts module 2019-01-28 19:27:56 -05:00
Jake Day 35c0e5c387 no longer supporting 4.18 series kernels 2019-01-27 18:55:32 -05:00