Commit 36099186 authored by Alex Deucher's avatar Alex Deucher

drm/radeon: don't set default clocks for SI when DPM is disabled

This is a partial revert of c6cf7777.

We need to take into account the clk voltage dependencies of the
board.  Not doing so can lead to stability issues on certain
boards if the clks exceed the levels in the dep tables.

DPM already takes that into account, so for optimal performance,
use DPM.
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
parent a52b5eb6
...@@ -1002,7 +1002,7 @@ static void radeon_pm_resume_old(struct radeon_device *rdev) ...@@ -1002,7 +1002,7 @@ static void radeon_pm_resume_old(struct radeon_device *rdev)
{ {
/* set up the default clocks if the MC ucode is loaded */ /* set up the default clocks if the MC ucode is loaded */
if ((rdev->family >= CHIP_BARTS) && if ((rdev->family >= CHIP_BARTS) &&
(rdev->family <= CHIP_HAINAN) && (rdev->family <= CHIP_CAYMAN) &&
rdev->mc_fw) { rdev->mc_fw) {
if (rdev->pm.default_vddc) if (rdev->pm.default_vddc)
radeon_atom_set_voltage(rdev, rdev->pm.default_vddc, radeon_atom_set_voltage(rdev, rdev->pm.default_vddc,
...@@ -1046,7 +1046,7 @@ static void radeon_pm_resume_dpm(struct radeon_device *rdev) ...@@ -1046,7 +1046,7 @@ static void radeon_pm_resume_dpm(struct radeon_device *rdev)
if (ret) { if (ret) {
DRM_ERROR("radeon: dpm resume failed\n"); DRM_ERROR("radeon: dpm resume failed\n");
if ((rdev->family >= CHIP_BARTS) && if ((rdev->family >= CHIP_BARTS) &&
(rdev->family <= CHIP_HAINAN) && (rdev->family <= CHIP_CAYMAN) &&
rdev->mc_fw) { rdev->mc_fw) {
if (rdev->pm.default_vddc) if (rdev->pm.default_vddc)
radeon_atom_set_voltage(rdev, rdev->pm.default_vddc, radeon_atom_set_voltage(rdev, rdev->pm.default_vddc,
...@@ -1097,7 +1097,7 @@ static int radeon_pm_init_old(struct radeon_device *rdev) ...@@ -1097,7 +1097,7 @@ static int radeon_pm_init_old(struct radeon_device *rdev)
radeon_pm_init_profile(rdev); radeon_pm_init_profile(rdev);
/* set up the default clocks if the MC ucode is loaded */ /* set up the default clocks if the MC ucode is loaded */
if ((rdev->family >= CHIP_BARTS) && if ((rdev->family >= CHIP_BARTS) &&
(rdev->family <= CHIP_HAINAN) && (rdev->family <= CHIP_CAYMAN) &&
rdev->mc_fw) { rdev->mc_fw) {
if (rdev->pm.default_vddc) if (rdev->pm.default_vddc)
radeon_atom_set_voltage(rdev, rdev->pm.default_vddc, radeon_atom_set_voltage(rdev, rdev->pm.default_vddc,
...@@ -1183,7 +1183,7 @@ static int radeon_pm_init_dpm(struct radeon_device *rdev) ...@@ -1183,7 +1183,7 @@ static int radeon_pm_init_dpm(struct radeon_device *rdev)
if (ret) { if (ret) {
rdev->pm.dpm_enabled = false; rdev->pm.dpm_enabled = false;
if ((rdev->family >= CHIP_BARTS) && if ((rdev->family >= CHIP_BARTS) &&
(rdev->family <= CHIP_HAINAN) && (rdev->family <= CHIP_CAYMAN) &&
rdev->mc_fw) { rdev->mc_fw) {
if (rdev->pm.default_vddc) if (rdev->pm.default_vddc)
radeon_atom_set_voltage(rdev, rdev->pm.default_vddc, radeon_atom_set_voltage(rdev, rdev->pm.default_vddc,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment