Commit 9b92d1ec authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/radeon/dpm: grab fan info from vbios



Required for fan control support.

Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 507d0ca7
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1623,6 +1623,11 @@ struct radeon_pm {
	/* internal thermal controller on rv6xx+ */
	enum radeon_int_thermal_type int_thermal_type;
	struct device	        *int_hwmon_dev;
	/* fan control parameters */
	bool                    no_fan;
	u8                      fan_pulses_per_revolution;
	u8                      fan_min_rpm;
	u8                      fan_max_rpm;
	/* dpm */
	bool                    dpm_enabled;
	struct radeon_dpm       dpm;
+8 −0
Original line number Diff line number Diff line
@@ -2248,6 +2248,14 @@ static void radeon_atombios_add_pplib_thermal_controller(struct radeon_device *r

	/* add the i2c bus for thermal/fan chip */
	if (controller->ucType > 0) {
		if (controller->ucFanParameters & ATOM_PP_FANPARAMETERS_NOFAN)
			rdev->pm.no_fan = true;
		rdev->pm.fan_pulses_per_revolution =
			controller->ucFanParameters & ATOM_PP_FANPARAMETERS_TACHOMETER_PULSES_PER_REVOLUTION_MASK;
		if (rdev->pm.fan_pulses_per_revolution) {
			rdev->pm.fan_min_rpm = controller->ucFanMinRPM;
			rdev->pm.fan_max_rpm = controller->ucFanMaxRPM;
		}
		if (controller->ucType == ATOM_PP_THERMALCONTROLLER_RV6xx) {
			DRM_INFO("Internal thermal controller %s fan control\n",
				 (controller->ucFanParameters &