[Bug 208839] New: AMDGPU: DPM is not enabled after hibernate and resume for CIK/Hawaii GPUs (e.g R9 390)

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Thu Aug 6 16:59:58 UTC 2020


https://bugzilla.kernel.org/show_bug.cgi?id=208839

            Bug ID: 208839
           Summary: AMDGPU: DPM is not enabled after hibernate and resume
                    for CIK/Hawaii GPUs (e.g R9 390)
           Product: Drivers
           Version: 2.5
    Kernel Version: 5.8
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Video(DRI - non Intel)
          Assignee: drivers_video-dri at kernel-bugs.osdl.org
          Reporter: sandy.8925 at gmail.com
        Regression: No

Created attachment 290801
  --> https://bugzilla.kernel.org/attachment.cgi?id=290801&action=edit
Resume after suspend ftrace

After hibernating and resuming, DPM is not enabled. This remains the case even
if you test hibernate using the steps here:
https://www.kernel.org/doc/html/latest/power/basic-pm-debugging.html

I debugged the problem, and figured out that in the file hardwaremanager.c, in
the function, phm_enable_dynamic_state_management(), the check 'if
(!hwmgr->pp_one_vf && smum_is_dpm_running(hwmgr) && !amdgpu_passthrough(adev)
&& adev->in_suspend)' returns true for the hibernate case, and false for the
suspend case.

This means that for the hibernate case, the AMDGPU driver doesn't enable DPM
(even though it should) and simply returns from that function. In the suspend
case, it goes ahead and enables DPM, even though it doesn't need to.

I debugged further, and found out that in the case of suspend, for the
CIK/Hawaii GPUs, smum_is_dpm_running(hwmgr) returns false, while in the case of
hibernate, smum_is_dpm_running(hwmgr) returns true.

For CIK, the function ci_is_smc_ram_running() is ultimately used to determine
if DPM is currentle enabled or not, and this seems to provide the wrong answer.

I've attached ftrace traces for the resume after suspend and resume after
hibernate cases (with some functions excluded for brevity).

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


More information about the dri-devel mailing list