On Fri, Oct 17, 2025 at 6:21 PM Wang, Yang(Kevin) <[email protected]> wrote: > > [Public] > > -----Original Message----- > From: Deucher, Alexander <[email protected]> > Sent: Friday, October 17, 2025 9:42 PM > To: Wang, Yang(Kevin) <[email protected]>; [email protected] > Cc: Feng, Kenneth <[email protected]> > Subject: RE: [PATCH] drm/amd/display: pause the workload setting in dm > > [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 > > [kevin]: > The issue has not been resolved. The DAL team believes this may be a specific > issue on the 6k month and hopes to continue trying to resolve it based on > this patch.
Reviewed-by: Alex Deucher <[email protected]> > > Best Regards, > Kevin > > --- > > .../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 > >
