On Sun, 26 Oct 2025 at 05:30, Mario Limonciello (AMD) <[email protected]> wrote: > > From: Alex Deucher <[email protected]> > > For S3 on vangogh, PMFW needs to be notified before the > driver powers down RLC. This already happens in smu_disable_dpms() > so drop the superfluous call in amdgpu_device_suspend(). > > Signed-off-by: Alex Deucher <[email protected]> > Co-developed-by: Mario Limonciello (AMD) <[email protected]> > Signed-off-by: Mario Limonciello (AMD) <[email protected]>
Just for this patch: Tested-by: Antheas Kapenekakis <[email protected]> If the subject is refactored to take into account that it fixes sleep add: #Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4659 #Reported-by: Antheas Kapenekakis <[email protected]> Tested on a Steam Deck OLED and Xbox Ally. @Mario: For my series, can you have a look at the first two patches and if they are ok push forward with merging? Also, reminder for the Legion Go 2 quirk. Best, Antheas > --- > Cc: [email protected] > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 4 ---- > drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 18 ------------------ > drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h | 2 -- > 3 files changed, 24 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index b8d91247f51a..f6850b86e96f 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -5280,10 +5280,6 @@ int amdgpu_device_suspend(struct drm_device *dev, bool > notify_clients) > if (amdgpu_sriov_vf(adev)) > amdgpu_virt_release_full_gpu(adev, false); > > - r = amdgpu_dpm_notify_rlc_state(adev, false); > - if (r) > - return r; > - > return 0; > } > > diff --git a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > index 5d08dc3b7110..5c4d0eb198c4 100644 > --- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > +++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > @@ -195,24 +195,6 @@ int amdgpu_dpm_set_mp1_state(struct amdgpu_device *adev, > return ret; > } > > -int amdgpu_dpm_notify_rlc_state(struct amdgpu_device *adev, bool en) > -{ > - int ret = 0; > - const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs; > - > - if (pp_funcs && pp_funcs->notify_rlc_state) { > - mutex_lock(&adev->pm.mutex); > - > - ret = pp_funcs->notify_rlc_state( > - adev->powerplay.pp_handle, > - en); > - > - mutex_unlock(&adev->pm.mutex); > - } > - > - return ret; > -} > - > int amdgpu_dpm_is_baco_supported(struct amdgpu_device *adev) > { > const struct amd_pm_funcs *pp_funcs = adev->powerplay.pp_funcs; > diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h > b/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h > index 3bce74f8bb0a..c7ea29385682 100644 > --- a/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h > +++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_dpm.h > @@ -424,8 +424,6 @@ int amdgpu_dpm_mode1_reset(struct amdgpu_device *adev); > int amdgpu_dpm_set_mp1_state(struct amdgpu_device *adev, > enum pp_mp1_state mp1_state); > > -int amdgpu_dpm_notify_rlc_state(struct amdgpu_device *adev, bool en); > - > int amdgpu_dpm_set_gfx_power_up_by_imu(struct amdgpu_device *adev); > > int amdgpu_dpm_baco_exit(struct amdgpu_device *adev); > -- > 2.51.1 > >
