Subversion Repositories Kolibri OS

Rev

Rev 5078 | Rev 6104 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5078 Rev 5271
Line 22... Line 22...
22
 * Authors: Alex Deucher
22
 * Authors: Alex Deucher
23
 */
23
 */
Line 24... Line 24...
24
 
24
 
25
#include "drmP.h"
25
#include "drmP.h"
-
 
26
#include "radeon.h"
26
#include "radeon.h"
27
#include "radeon_asic.h"
27
#include "r600d.h"
28
#include "r600d.h"
28
#include "r600_dpm.h"
29
#include "r600_dpm.h"
Line 29... Line 30...
29
#include "atom.h"
30
#include "atom.h"
Line 808... Line 809...
808
};
809
};
Line 809... Line 810...
809
 
810
 
810
union fan_info {
811
union fan_info {
811
	struct _ATOM_PPLIB_FANTABLE fan;
812
	struct _ATOM_PPLIB_FANTABLE fan;
-
 
813
	struct _ATOM_PPLIB_FANTABLE2 fan2;
812
	struct _ATOM_PPLIB_FANTABLE2 fan2;
814
	struct _ATOM_PPLIB_FANTABLE3 fan3;
Line 813... Line 815...
813
};
815
};
814
 
816
 
815
static int r600_parse_clk_voltage_dep_table(struct radeon_clock_voltage_dependency_table *radeon_table,
817
static int r600_parse_clk_voltage_dep_table(struct radeon_clock_voltage_dependency_table *radeon_table,
Line 897... Line 899...
897
			if (fan_info->fan.ucFanTableFormat >= 2)
899
			if (fan_info->fan.ucFanTableFormat >= 2)
898
				rdev->pm.dpm.fan.t_max = le16_to_cpu(fan_info->fan2.usTMax);
900
				rdev->pm.dpm.fan.t_max = le16_to_cpu(fan_info->fan2.usTMax);
899
			else
901
			else
900
				rdev->pm.dpm.fan.t_max = 10900;
902
				rdev->pm.dpm.fan.t_max = 10900;
901
			rdev->pm.dpm.fan.cycle_delay = 100000;
903
			rdev->pm.dpm.fan.cycle_delay = 100000;
-
 
904
			if (fan_info->fan.ucFanTableFormat >= 3) {
-
 
905
				rdev->pm.dpm.fan.control_mode = fan_info->fan3.ucFanControlMode;
-
 
906
				rdev->pm.dpm.fan.default_max_fan_pwm =
-
 
907
					le16_to_cpu(fan_info->fan3.usFanPWMMax);
-
 
908
				rdev->pm.dpm.fan.default_fan_output_sensitivity = 4836;
-
 
909
				rdev->pm.dpm.fan.fan_output_sensitivity =
-
 
910
					le16_to_cpu(fan_info->fan3.usFanOutputSensitivity);
-
 
911
			}
902
			rdev->pm.dpm.fan.ucode_fan_control = true;
912
			rdev->pm.dpm.fan.ucode_fan_control = true;
903
		}
913
		}
904
	}
914
	}
Line 905... Line 915...
905
 
915
 
Line 1253... Line 1263...
1253
			if (rev > 0) {
1263
			if (rev > 0) {
1254
				ATOM_PPLIB_POWERTUNE_Table_V1 *ppt = (ATOM_PPLIB_POWERTUNE_Table_V1 *)
1264
				ATOM_PPLIB_POWERTUNE_Table_V1 *ppt = (ATOM_PPLIB_POWERTUNE_Table_V1 *)
1255
					(mode_info->atom_context->bios + data_offset +
1265
					(mode_info->atom_context->bios + data_offset +
1256
					 le16_to_cpu(ext_hdr->usPowerTuneTableOffset));
1266
					 le16_to_cpu(ext_hdr->usPowerTuneTableOffset));
1257
				rdev->pm.dpm.dyn_state.cac_tdp_table->maximum_power_delivery_limit =
1267
				rdev->pm.dpm.dyn_state.cac_tdp_table->maximum_power_delivery_limit =
1258
					ppt->usMaximumPowerDeliveryLimit;
1268
					le16_to_cpu(ppt->usMaximumPowerDeliveryLimit);
1259
				pt = &ppt->power_tune_table;
1269
				pt = &ppt->power_tune_table;
1260
			} else {
1270
			} else {
1261
				ATOM_PPLIB_POWERTUNE_Table *ppt = (ATOM_PPLIB_POWERTUNE_Table *)
1271
				ATOM_PPLIB_POWERTUNE_Table *ppt = (ATOM_PPLIB_POWERTUNE_Table *)
1262
					(mode_info->atom_context->bios + data_offset +
1272
					(mode_info->atom_context->bios + data_offset +
1263
					 le16_to_cpu(ext_hdr->usPowerTuneTableOffset));
1273
					 le16_to_cpu(ext_hdr->usPowerTuneTableOffset));