[PATCH] drm/amdgpu: Don't skip display settings in hwmgr_resume()

Alex Deucher alexdeucher at gmail.com
Tue Jun 25 18:31:22 UTC 2019


On Thu, Jun 20, 2019 at 7:22 PM Lyude Paul <lyude at redhat.com> wrote:
>
> I'm not entirely sure why this is, but for some reason:
>
> 921935dc6404 ("drm/amd/powerplay: enforce display related settings only on needed")
>
> Breaks runtime PM resume on the Radeon PRO WX 3100 (Lexa) in one the
> pre-production laptops I have. The issue manifests as the following
> messages in dmesg:
>
> [drm] UVD and UVD ENC initialized successfully.
> amdgpu 0000:3b:00.0: [drm:amdgpu_ring_test_helper [amdgpu]] *ERROR* ring vce1 test failed (-110)
> [drm:amdgpu_device_ip_resume_phase2 [amdgpu]] *ERROR* resume of IP block <vce_v3_0> failed -110
> [drm:amdgpu_device_resume [amdgpu]] *ERROR* amdgpu_device_ip_resume failed (-110).
>
> And happens after about 6-10 runtime PM suspend/resume cycles (sometimes
> sooner, if you're lucky!). Unfortunately I can't seem to pin down
> precisely which part in psm_adjust_power_state_dynamic that is causing
> the issue, but not skipping the display setting setup seems to fix it.
> Hopefully if there is a better fix for this, this patch will spark
> discussion around it.
>

Evan, any ideas on this?  Otherwise, let's just apply it.

Alex


> Fixes: 921935dc6404 ("drm/amd/powerplay: enforce display related settings only on needed")
> Cc: Evan Quan <evan.quan at amd.com>
> Cc: Alex Deucher <alexander.deucher at amd.com>
> Cc: Huang Rui <ray.huang at amd.com>
> Cc: Rex Zhu <Rex.Zhu at amd.com>
> Cc: Likun Gao <Likun.Gao at amd.com>
> Cc: <stable at vger.kernel.org> # v5.1+
> Signed-off-by: Lyude Paul <lyude at redhat.com>
> ---
>  drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> index 6cd6497c6fc2..0e1b2d930816 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> @@ -325,7 +325,7 @@ int hwmgr_resume(struct pp_hwmgr *hwmgr)
>         if (ret)
>                 return ret;
>
> -       ret = psm_adjust_power_state_dynamic(hwmgr, true, NULL);
> +       ret = psm_adjust_power_state_dynamic(hwmgr, false, NULL);
>
>         return ret;
>  }
> --
> 2.21.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list