[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