[PATCH RFC 0/6] amdgpu: Avoid powering on the dGPU on vkEnumeratePhysicalDevices()

Christian König christian.koenig at amd.com
Wed Aug 6 08:58:19 UTC 2025


On 31.07.25 07:36, Philipp Zabel wrote:
> This is an attempt at fixing amd#2295 [1]:
> 
>   On an AMD Rembrandt laptop with 680M iGPU and 6700S dGPU, calling
>   vkEnumeratePhysicalDevices() wakes up the sleeping dGPU, even if all
>   the application wants is to find and use the iGPU. This causes a delay
>   of about 2 seconds on this system, followed by a few seconds of
>   increased power draw until runtime PM turns the dGPU back off again.
> 
> [1] https://gitlab.freedesktop.org/drm/amd/-/issues/2295
> 
> Patch 1 avoids power up on some ioctls that don't need it.
> Patch 2 avoids power up on open() by postponing fpriv initialization to
> the first ioctl() that wakes up the dGPU.
> Patches 3 and 4 add AMDGPU_INFO to the list of non-waking ioctls,
> returning cached values for some queries.
> Patch 5 works around an explicit register access from libdrm.
> Patch 6 shorts out the syncobj ioctls while fpriv is still
> uninitialized. This avoids waking up the dGPU during Vulkan syncobj
> feature detection.

This idea came up multiple times now but was never completed.

IIRC Pierre-Eric last worked on it, it would probably be a good idea to dig up his patches from the mailing list.

> 
> regards
> Philipp
> 
> Signed-off-by: Philipp Zabel <p.zabel at pengutronix.de>
> ---
> Alex Deucher (1):
>       drm/amdgpu: don't wake up the GPU for some IOCTLs
> 
> Philipp Zabel (5):
>       drm/amdgpu: don't wake up the GPU when opening the device
>       drm/amdgpu: don't query xclk in AMDGPU_INFO_DEV_INFO
>       drm/amdgpu: don't wake up the GPU for some AMDGPU_INFO queries
>       drm/amdgpu: don't wake up the GPU for mmGB_ADDR_CONFIG register read

That is both unnecessary an insufficient. Unnecessary because we already have a mechanism to cache register values and insufficient because IIRC you need to add a bunch of more registers to the cached list.

See Pierre-Erics latest patch set, I think we already solved that but I'm not 100% sure.

Regards,
Christian.

>       drm/amdgpu: don't wake up the GPU for syncobj feature detection
> 
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h         |   5 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c |   3 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c  |   2 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c     |  80 +++++++++++++++-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c  |   3 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c     | 137 +++++++++++++++++++++-------
>  6 files changed, 194 insertions(+), 36 deletions(-)
> ---
> base-commit: 6ac55eab4fc41e0ea80f9064945e4340f13d8b5c
> change-id: 20250730-b4-dont-wake-next-17fc02114331
> 
> Best regards,
> --  
> Philipp Zabel <philipp.zabel at gmail.com>
> 



More information about the dri-devel mailing list