[coreboot-gerrit] Change in coreboot[master]: [WIP] Nvidia Optimus support for ThinkPads

Evgeny Zinoviev (Code Review) gerrit at coreboot.org
Thu Aug 30 02:05:27 CEST 2018


Hello Patrick Rudolph, build bot (Jenkins), 

I'd like you to reexamine a change. Please visit

    https://review.coreboot.org/28380

to look at the new patch set (#6).

Change subject: [WIP] Nvidia Optimus support for ThinkPads
......................................................................

[WIP] Nvidia Optimus support for ThinkPads

Based on siro's work #23041.
Tested on ThinkPad W530.

Adds ACPI code for dGPU power management.

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 (with a workaround, see below)
- bumblebee (from the "develop" branch)
- bbswitch

Known problems:
- `lspci -s 01:00.0 -vv` turns dGPU on if it was off before. Not sure why it
  happens (probably it calls _PS0 at some point) or whether it should
  happen.

- nouveau driver unloading (`rmmod` or `modprobe -r`) does not work well: it
  crashes in nouveau_backlight_exit (invalid pointer). The current hack is
  to comment out these lines in drivers/gpu/drm/nouveau/nouveau_backlight.c,
  function  `nouveau_backlight_exit`:

  list_for_each_entry(connector, &drm->bl_connectors, head) {
    if (connector->id >= 0)
      ida_simple_remove(&bl_ida, connector->id);
    }

  Need to debug why it happens.

- VGA ROM for Nvidia GPU is not loaded from BIOS (i.e. coreboot). Need
  to debug and fix this too. (Or maybe I'm just doing it wrong.) The current
  workaround is to load it from a file.

  To do this automatically, create a new file in /etc/modprobe.d with this
  line:

  options nouveau config=NvBios=pci10de-0ffc.rom

  where "pci10de-0ffc.rom" is a file in /lib/firmware directory
  (the path is relative to /lib/firmware). VGA ROM has to be extracted
  from vendor UEFI dump, GUID is 9781FA9D-5A3B-431A-AD59-2748C9A170EC.

Not tested yet:
- nvidia proprietary driver

Change-Id: I277808d6c1d8bd6e0a267a53f25471597698f8d5
Signed-off-by: Evgeny Zinoviev <me at ch1p.com>
---
A src/drivers/lenovo/hybrid_graphics/acpi/gpu.asl
A src/drivers/nvidia/optimus/acpi/optimus.asl
A src/ec/lenovo/pmh7/acpi/pmh7.asl
M src/mainboard/lenovo/t420/acpi/ec.asl
M src/mainboard/lenovo/t420/dsdt.asl
M src/mainboard/lenovo/t420s/acpi/ec.asl
M src/mainboard/lenovo/t420s/dsdt.asl
M src/mainboard/lenovo/t430/acpi/ec.asl
M src/mainboard/lenovo/t430/dsdt.asl
M src/mainboard/lenovo/t430s/acpi/ec.asl
M src/mainboard/lenovo/t430s/cmos.default
M src/mainboard/lenovo/t430s/dsdt.asl
M src/mainboard/lenovo/t520/acpi/ec.asl
M src/mainboard/lenovo/t520/dsdt.asl
M src/mainboard/lenovo/t530/acpi/ec.asl
M src/mainboard/lenovo/t530/dsdt.asl
M src/northbridge/intel/sandybridge/acpi/peg.asl
17 files changed, 358 insertions(+), 0 deletions(-)


  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/80/28380/6
-- 
To view, visit https://review.coreboot.org/28380
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I277808d6c1d8bd6e0a267a53f25471597698f8d5
Gerrit-Change-Number: 28380
Gerrit-PatchSet: 6
Gerrit-Owner: Evgeny Zinoviev <me at ch1p.com>
Gerrit-Reviewer: Evgeny Zinoviev <me at ch1p.com>
Gerrit-Reviewer: Patrick Rudolph <siro at das-labor.org>
Gerrit-Reviewer: build bot (Jenkins) <no-reply at coreboot.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180830/2023685d/attachment.html>


More information about the coreboot-gerrit mailing list