aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-07-02 12:58:16 -0400
committerDave Airlie <airlied@redhat.com>2010-08-01 20:00:00 -0400
commit21a8122ad38c60d73fe5dc51051414c3564d174a (patch)
treeb20f2bb711e3230fdc3195042c901596de4677e2 /drivers/gpu/drm/radeon/radeon.h
parentd7a2952f1adec32018a78ec0c2f504dd72f38e25 (diff)
drm/radeon/kms: add support for internal thermal sensors (v3)
rv6xx/rv7xx/evergreen families supported; older asics did not have an internal thermal sensor. Note, not all oems use the internal thermal sensor, so it's only exposed in cases where it is used. Note also, that most laptops use an oem specific ACPI solution for GPU thermal information rather than using the internal thermal sensor directly. v2: export millidegrees celsius, use hwmon device properly. v3: fix Kconfig Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index a5c1a3e9dd39..d4d776d2f1e0 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -178,6 +178,9 @@ void radeon_combios_get_power_modes(struct radeon_device *rdev);
178void radeon_atombios_get_power_modes(struct radeon_device *rdev); 178void radeon_atombios_get_power_modes(struct radeon_device *rdev);
179void radeon_atom_set_voltage(struct radeon_device *rdev, u16 level); 179void radeon_atom_set_voltage(struct radeon_device *rdev, u16 level);
180void rs690_pm_info(struct radeon_device *rdev); 180void rs690_pm_info(struct radeon_device *rdev);
181extern u32 rv6xx_get_temp(struct radeon_device *rdev);
182extern u32 rv770_get_temp(struct radeon_device *rdev);
183extern u32 evergreen_get_temp(struct radeon_device *rdev);
181 184
182/* 185/*
183 * Fences. 186 * Fences.
@@ -670,6 +673,13 @@ struct radeon_pm_profile {
670 int dpms_on_cm_idx; 673 int dpms_on_cm_idx;
671}; 674};
672 675
676enum radeon_int_thermal_type {
677 THERMAL_TYPE_NONE,
678 THERMAL_TYPE_RV6XX,
679 THERMAL_TYPE_RV770,
680 THERMAL_TYPE_EVERGREEN,
681};
682
673struct radeon_voltage { 683struct radeon_voltage {
674 enum radeon_voltage_type type; 684 enum radeon_voltage_type type;
675 /* gpio voltage */ 685 /* gpio voltage */
@@ -765,6 +775,9 @@ struct radeon_pm {
765 enum radeon_pm_profile_type profile; 775 enum radeon_pm_profile_type profile;
766 int profile_index; 776 int profile_index;
767 struct radeon_pm_profile profiles[PM_PROFILE_MAX]; 777 struct radeon_pm_profile profiles[PM_PROFILE_MAX];
778 /* internal thermal controller on rv6xx+ */
779 enum radeon_int_thermal_type int_thermal_type;
780 struct device *int_hwmon_dev;
768}; 781};
769 782
770 783