summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsg <jsg@openbsd.org>2020-08-22 06:34:15 +0000
committerjsg <jsg@openbsd.org>2020-08-22 06:34:15 +0000
commit16f0f7ec7d8e79cc2e51105836cb50bac9e89668 (patch)
treee32d45bd9d30ba288f5b472dfbc5789e11342861
parentdrm: fix drm_dp_mst_port refcount leaks in drm_dp_mst_allocate_vcpi (diff)
downloadwireguard-openbsd-16f0f7ec7d8e79cc2e51105836cb50bac9e89668.tar.xz
wireguard-openbsd-16f0f7ec7d8e79cc2e51105836cb50bac9e89668.zip
drm/amdgpu: Fix bug where DPM is not enabled after hibernate and resume
From Sandeep Raghuraman bac04cf4ea5cd6819828b33567f23431e2468708 in linux 5.7.y/5.7.17 f87812284172a9809820d10143b573d833cd3f75 in mainline linux
-rw-r--r--sys/dev/pci/drm/amd/powerplay/smumgr/ci_smumgr.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/amd/powerplay/smumgr/ci_smumgr.c b/sys/dev/pci/drm/amd/powerplay/smumgr/ci_smumgr.c
index 7c3e903230c..47eead09612 100644
--- a/sys/dev/pci/drm/amd/powerplay/smumgr/ci_smumgr.c
+++ b/sys/dev/pci/drm/amd/powerplay/smumgr/ci_smumgr.c
@@ -2725,7 +2725,10 @@ static int ci_initialize_mc_reg_table(struct pp_hwmgr *hwmgr)
static bool ci_is_dpm_running(struct pp_hwmgr *hwmgr)
{
- return ci_is_smc_ram_running(hwmgr);
+ return (1 == PHM_READ_INDIRECT_FIELD(hwmgr->device,
+ CGS_IND_REG__SMC, FEATURE_STATUS,
+ VOLTAGE_CONTROLLER_ON))
+ ? true : false;
}
static int ci_smu_init(struct pp_hwmgr *hwmgr)