Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36099186 authored by Alex Deucher's avatar Alex Deucher
Browse files

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
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -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)
	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)
		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)
	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,