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
>
>

Reply via email to