On an ASUS ROG Strix G513QY the USB-C DP alt mode lanes are driven by the Navi 
22, and the firmware signals a dock being attached with Notify(<dGPU node>, 
0x81) from a level triggered GPE. Nothing in the kernel listens on the dGPU's 
own ACPI node, so with the dGPU in D3cold the notify is lost, no hotplug 
reaches userspace and the external displays stay dark

1/2 adds a notify handler on the dGPU's ACPI companion for BOCO devices that 
requests a runtime resume. Runtime resume already re-detects every link and 
sends the hotplug event

2/2 handles a board where the firmware method cannot deliver the notify at all. 
The G513QY's CPM table notifies \_SB.PCI0.GPP0.VGA, which does not exist 
because the dGPU sits behind an on-package PCIe switch, so _L05 aborts with 
AE_NOT_FOUND. On a DMI match, and only if that path does not resolve, amdgpu 
takes over the GPE and does what the notify would have done

Tested on a G513QY with a USB-C dock: with both patches and no table override 
the displays come up after the dGPU has been left in D3cold, and the _L05 
errors are gone. 2/2 is only a DMI entry and a handler, so other boards sharing 
the CPM table can be added to the list

The patches were written with Claude Code assistance, as the Assisted-by tags 
say

Mike Lothian (2):
  drm/amdgpu: runtime resume dGPU on ACPI notify from its own node
  drm/amdgpu: handle broken dGPU hotplug GPE on ASUS ROG Strix G513QY

 drivers/gpu/drm/amd/amdgpu/amdgpu.h      |   4 +
 drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 132 +++++++++++++++++++++++
 2 files changed, 136 insertions(+)

-- 
2.56.0

Reply via email to