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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxxx
          Reporter: sandy.8925@xxxxxxxxx
        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.
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux