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: 551b70e295
- SAM: 89b8232d49
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: 91f5a27a55
- SAM: 89b8232d49
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
Changes:
surface3-spi:
- Dropped this patch in favor of the surface3-touchscreen-dma-fix
patch (which is taken from the upstream DMA fix). For details, take
a look at the commit history of kernel repo linked below.
surface3-touchscreen-dma-fix:
- Added this patch as a successor to the dropped surface3-spi patch.
For details, take a look at the commit history of kernel repo linked
below.
Note: currently, this patch is available upstream only on v5.8,
v5.7, and v5.4 and not backported to any older LTS kernels. So,
this patch was backported from upstream commit ourselves.
Links:
- kernel: 94678ca738
Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
Changes:
surface3-spi:
- Dropped this patch in favor of the upstream DMA fix. For details,
take a look at the commit history of kernel repo linked below.
Links:
- kernel: f455d27378
Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
Changes:
surface3-spi:
- Dropped this patch in favor of the upstream DMA fix. For details,
take a look at the commit history of kernel repo linked below.
Links:
- kernel: b6d18e159d
Signed-off-by: Tsuchiya Yuto <kitakar@gmail.com>
Changes:
SAM:
- Bugfix: Fix HID input for Surface Laptop 3. The driver now separates
devices by IID, using the same behavior as on the Surface Book 3.
- Bugfix: Minor fixes in SSH driver message system.
Links:
- kernel: c9354ce40c
- SAM: 99b0243136
Changes:
SAM:
- Bugfix: Fix HID input for Surface Laptop 3. The driver now separates
devices by IID, using the same behavior as on the Surface Book 3.
- Bugfix: Minor fixes in SSH driver message system.
Links:
- kernel: a7b8ca847f
- SAM: 99b0243136
Changes:
SAM:
- Bugfix: Fix HID input for Surface Laptop 3. The driver now separates
devices by IID, using the same behavior as on the Surface Book 3.
- Bugfix: Minor fixes in SSH driver message system.
Links:
- kernel: c5f2f3b76d
- SAM: 99b0243136
Changes:
SAM:
- Add Surface Book 3 GPE LID fix.
- Add support for Surface Book 3 performance modes
- Add preliminary support for Surface Book 3 HID devices, i.e.
keyboard and touchpad. N.b.: There are still known issues
regarding device re-initialization when detaching/re-attaching.
- Add preliminary support for Surface Book 3 battery/AC.
- Bugfix: Initialize power-target in HPS driver on load.
- Bugfix: Fix out-of-space handling for SSH requests.
Links:
- kernel: a7fa12a06d
- SAM: 27e54010b4
Changes:
SAM:
- Add Surface Book 3 GPE LID fix.
- Add support for Surface Book 3 performance modes
- Add preliminary support for Surface Book 3 HID devices, i.e.
keyboard and touchpad. N.b.: There are still known issues
regarding device re-initialization when detaching/re-attaching.
- Add preliminary support for Surface Book 3 battery/AC.
- Bugfix: Initialize power-target in HPS driver on load.
- Bugfix: Fix out-of-space handling for SSH requests.
Links:
- kernel: 23d72cf093
- SAM: 27e54010b4
Changes:
SAM:
- Add Surface Book 3 GPE LID fix.
- Add support for Surface Book 3 performance modes
- Add preliminary support for Surface Book 3 HID devices, i.e.
keyboard and touchpad. N.b.: There are still known issues
regarding device re-initialization when detaching/re-attaching.
- Add preliminary support for Surface Book 3 battery/AC.
- Bugfix: Initialize power-target in HPS driver on load.
- Bugfix: Fix out-of-space handling for SSH requests.
Links:
- kernel: 3d8315773f
- SAM: 27e54010b4
Changes:
SAM:
- Add support for Surface Book 3 in Surface HPS driver. The dGPU of
the Surface Book 3 can now be turned on and off via the same
mechanism already being used by the Surface Book 2.
- Add SID devices for Surface Pro 6 with MSHW0111 ID.
- Complete restructure of Surface Serial Hub driver internals. The
old synchronous communication core has been replaced by a
completely asynchronous implementation.
- Misc. code improvements and clean-up.
References:
kernel: ab0ac25c9e
SAM: 6715faf265
Changes:
SAM:
- Add support for Surface Book 3 in Surface HPS driver. The dGPU of
the Surface Book 3 can now be turned on and off via the same
mechanism already being used by the Surface Book 2.
- Add SID devices for Surface Pro 6 with MSHW0111 ID.
- Complete restructure of Surface Serial Hub driver internals. The
old synchronous communication core has been replaced by a
completely asynchronous implementation.
- Misc. code improvements and clean-up.
References:
kernel: c3255a6336
SAM: 6715faf265
Changes:
SAM:
- Add support for Surface Book 3 in Surface HPS driver. The dGPU of
the Surface Book 3 can now be turned on and off via the same
mechanism already being used by the Surface Book 2.
- Add SID devices for Surface Pro 6 with MSHW0111 ID.
- Complete restructure of Surface Serial Hub driver internals. The
old synchronous communication core has been replaced by a
completely asynchronous implementation.
- Misc. code improvements and clean-up.
References:
kernel: 29c5a7fc9a
SAM: 6715faf265
Update patches via linux-surface/kernel@fccd0a489e.
Updated patches:
pick ea097eb Add secureboot pre-signing to the kernel
pick b50d617 surface3-power
pick 71ab90b surface3-spi
pick f109cbf surface3-oemb
pick c924fb6 surface-buttons
f 1a44682d3bea Input: soc_button_array - fix Wdiscarded-qualifiers for kernels below 4.20
pick 91a78cc surface-sam
pick 263250b suspend
pick 5ae0ab6 ipts
f a5db77a8ad47 ipts: Simplify feedback implementation
f 22c959edeaf2 ipts: Remove no_feedback quirk
f 21a71ef429b4 ipts: Remove quirk implementation
f f28c0f7b64aa ipts: companion: improve comment for hardware id on SP4
pick df219c0 surface-lte
pick 3484574 ioremap_uc
pick 4f727ac wifi
f f86788d75e54 Revert "BACKPORT: wireless/mwifiex: Fix S0ix / suspend"
f 169bb34570af mwifiex: pcie: Use dev_get_drvdata
f 6e9eefbca821 mwifiex_pcie: remove()/probe() card on suspend()/resume()
f 3619cec06fdc mwifiex_pcie: disable parent bridge_d3
f fda9d444d14d mwifiex: sta_cmd: do not enable auto_ds by default
f 74ab58241354 mwifiex: sta_cmd: add comment for not enabling ps_mode by default
Note: almost all part of the ioremap_uc patch is now upstream. So, the
remaining unupstreamed patch is now only linux-surface/kernel@de067f5c12
("docs: driver-model: add devm_ioremap_uc")
Signed-off-by: Tsuchiya Yuto (kitakar5525) <kitakar@gmail.com>
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
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))
- 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)
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@1a87ee6torvalds/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