Patrick Rudolph uploaded patch set #11 to the change originally created by Evgeny Zinoviev.
[WIP] Nvidia Optimus support for ThinkPads
Based on siro's work #23041.
Adds ACPI code for dGPU power management using the dGPU kernel module.
With Nvidia Optimus active the idle power consumption drops from
22,8W to 13,8W with maximum screen brightness.
Depends on:
https://review.coreboot.org/#/c/coreboot/+/28392
https://review.coreboot.org/#/c/coreboot/+/28393
What works (tested on 4.16.13-gentoo kernel):
- power management via _PS0 and _DSM + _PS3 ACPI calls
- nouveau driver
- bumblebee (from the "develop" branch)
- bbswitch
lspci turns on the dGPU, but that is expected, as otherwise it can't access
the device's address space.
The Nvidia Optimus driver needs to be enabled by setting
CONFIG_NVIDIA_OPTIMUS=y
Tested on ThinkPad W530 and Thinkpad T520.
Known problems:
- nvidia driver doens't work:
[ 275.244113] NVRM: failed to copy vbios to system memory.
[ 275.244345] NVRM: RmInitAdapter failed! (0x30:0xffff:663)
[ 275.244433] NVRM: rm_init_adapter failed for device bearing minor number 0
[ 275.347956] NVRM: failed to copy vbios to system memory.
[ 275.348140] NVRM: RmInitAdapter failed! (0x30:0xffff:663)
[ 275.348163] NVRM: rm_init_adapter failed for device bearing minor number 0
- Random CPU core lockups
TODO:
- Disable PEG clock to decrease idle power by 1W.
- Do longterm stability tests.
- Document _DSM and code.
Change-Id: I277808d6c1d8bd6e0a267a53f25471597698f8d5
Signed-off-by: Evgeny Zinoviev <me@ch1p.com>
Signed-off-by: Patrick Rudolph <siro@das-labor.org>
---
A src/drivers/nvidia/optimus/Kconfig
A src/drivers/nvidia/optimus/acpi/optimus.asl
A src/ec/lenovo/pmh7/acpi/optimus_sandy_ivy.asl
A src/ec/lenovo/pmh7/acpi/pmh7.asl
M src/ec/lenovo/pmh7/pmh7.h
M src/mainboard/lenovo/t420/Kconfig
M src/mainboard/lenovo/t420/acpi/ec.asl
M src/mainboard/lenovo/t420s/Kconfig
M src/mainboard/lenovo/t420s/acpi/ec.asl
M src/mainboard/lenovo/t430/Kconfig
M src/mainboard/lenovo/t430/acpi/ec.asl
M src/mainboard/lenovo/t430s/Kconfig
M src/mainboard/lenovo/t430s/acpi/ec.asl
M src/mainboard/lenovo/t520/Kconfig
M src/mainboard/lenovo/t520/acpi/ec.asl
M src/mainboard/lenovo/t520/cmos.default
M src/mainboard/lenovo/t530/Kconfig
M src/mainboard/lenovo/t530/acpi/ec.asl
M src/northbridge/intel/sandybridge/acpi/hostbridge.asl
M src/northbridge/intel/sandybridge/acpi/peg.asl
20 files changed, 672 insertions(+), 15 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/28380/11
To view, visit change 28380. To unsubscribe, or for help writing mail filters, visit settings.