From 6690cc7c7aa396109172b4d8d07bfc6efb01cc41 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 15 Dec 2020 10:09:48 -0700 Subject: [PATCH] Ensure that GPU SSID is restored Change-Id: Iada67ff9b7d882167ca2047a1618230e73d4300d --- src/mainboard/system76/galp5/acpi/dgpu.asl | 33 +++++++++++++++------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/mainboard/system76/galp5/acpi/dgpu.asl b/src/mainboard/system76/galp5/acpi/dgpu.asl index ec2a458218..52d8714bfe 100644 --- a/src/mainboard/system76/galp5/acpi/dgpu.asl +++ b/src/mainboard/system76/galp5/acpi/dgpu.asl @@ -1,17 +1,30 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -#define DGPU_RP \_SB.PCI0.RP01 +Scope (\_SB.PCI0.RP01) { + Device (DEV0) { + Name(_ADR, 0x00000000) -External (DGPU_RP.RTD3) + OperationRegion (PCIC, PCI_Config, 0x00, 0x50) + Field (PCIC, DwordAcc, NoLock, Preserve) { + Offset (0x40), + SSID, 32 + } -Device (DGPU_RP.DEV0) { - Name(_ADR, 0x00000000) + Name (_PR0, Package () { PWRR }) + Name (_PR3, Package () { PWRR }) + PowerResource (PWRR, 0, 0) { + Name (_STA, 1) - Method (_PS0, 0) { - Debug = "GPU _PS0" - } + Method (_ON) { + ^^SSID = 0x40181558 + Printf("GPU _ON %o", ToHexString(^^SSID)) + _STA = 1 + } - Method (_PS3, 0) { - Debug = "GPU _PS3" - } + Method (_OFF) { + Printf("GPU _OFF %o", ToHexString(^^SSID)) + _STA = 0 + } + } + } }