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 + } + } + } }