[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <601a40fd-e508-4e9d-8dd3-14329f3a637b@amd.com>
Date: Wed, 6 Aug 2025 10:58:19 +0200
From: Christian König <christian.koenig@....com>
To: Philipp Zabel <philipp.zabel@...il.com>,
Alex Deucher <alexander.deucher@....com>, David Airlie <airlied@...il.com>,
Simona Vetter <simona@...ll.ch>,
"Pelloux-Prayer, Pierre-Eric" <Pierre-eric.Pelloux-prayer@....com>
Cc: amd-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, Philipp Zabel <p.zabel@...gutronix.de>
Subject: Re: [PATCH RFC 0/6] amdgpu: Avoid powering on the dGPU on
vkEnumeratePhysicalDevices()
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@...gutronix.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@...il.com>
>
Powered by blists - more mailing lists