[Public]
> -----Original Message-----
> From: Wang, Yang(Kevin) <[email protected]>
> Sent: Friday, October 17, 2025 9:04 AM
> To: [email protected]
> Cc: Feng, Kenneth <[email protected]>; Deucher, Alexander
> <[email protected]>
> Subject: [PATCH] drm/amd/display: pause the workload setting in dm
>
> From: Kenneth Feng <[email protected]>
>
> v1:
> Pause the workload setting in dm when doinn idle optimization
>
> v2:
> Rebase patch to latest kernel code base (kernel 6.16)
>
> Reviewed-by: Alex Deucher <[email protected]>
> Signed-off-by: Kenneth Feng <[email protected]>
> Signed-off-by: Alex Deucher <[email protected]>
> Signed-off-by: Yang Wang <[email protected]>
Is the issue with that particular monitor resolved? Do we know what caused it?
Alex
> ---
> .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> index 1ec9d03ad747..f08121a2b838 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c
> @@ -248,6 +248,8 @@ static void amdgpu_dm_crtc_vblank_control_worker(struct
> work_struct *work)
> struct vblank_control_work *vblank_work =
> container_of(work, struct vblank_control_work, work);
> struct amdgpu_display_manager *dm = vblank_work->dm;
> + struct amdgpu_device *adev = drm_to_adev(dm->ddev);
> + int r;
>
> mutex_lock(&dm->dc_lock);
>
> @@ -277,7 +279,16 @@ static void
> amdgpu_dm_crtc_vblank_control_worker(struct work_struct *work)
>
> if (dm->active_vblank_irq_count == 0) {
> dc_post_update_surfaces_to_stream(dm->dc);
> +
> + r = amdgpu_dpm_pause_power_profile(adev, true);
> + if (r)
> + dev_warn(adev->dev, "failed to set default power profile
> mode\n");
> +
> dc_allow_idle_optimizations(dm->dc, true);
> +
> + r = amdgpu_dpm_pause_power_profile(adev, false);
> + if (r)
> + dev_warn(adev->dev, "failed to restore the power profile
> mode\n");
> }
>
> mutex_unlock(&dm->dc_lock);
> --
> 2.34.1