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

Commit 0a17af37 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/radeon: disable force performance state when thermal state is active



If the thermal state is active, we are in the lowest performance level
to cool down the chip.  Don't let the user force it higher.

Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ab70b1dd
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -508,17 +508,21 @@ static ssize_t radeon_set_dpm_forced_performance_level(struct device *dev,
	} else if (strncmp("auto", buf, strlen("auto")) == 0) {
		level = RADEON_DPM_FORCED_LEVEL_AUTO;
	} else {
		mutex_unlock(&rdev->pm.mutex);
		count = -EINVAL;
		goto fail;
	}
	if (rdev->asic->dpm.force_performance_level) {
		if (rdev->pm.dpm.thermal_active) {
			count = -EINVAL;
			goto fail;
		}
		ret = radeon_dpm_force_performance_level(rdev, level);
		if (ret)
			count = -EINVAL;
	}
	mutex_unlock(&rdev->pm.mutex);
fail:
	mutex_unlock(&rdev->pm.mutex);

	return count;
}