aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-01-06 21:19:22 -0500
committerDave Airlie <airlied@redhat.com>2011-01-06 23:11:29 -0500
commit4fddba1fd9df94caaa03956bf36e1a887a1c92a5 (patch)
treecd30b44c4b7d1bc55f0f046772ceb2fe66206b90 /drivers
parent36868bda88b92ce8a9aa8b3ee2e0d1e0de09cc19 (diff)
drm/radeon/kms: handle NI thermal controller
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h1
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_pm.c1
3 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 73730fd1d0a..5598f9559a6 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -739,6 +739,7 @@ enum radeon_int_thermal_type {
739 THERMAL_TYPE_RV770, 739 THERMAL_TYPE_RV770,
740 THERMAL_TYPE_EVERGREEN, 740 THERMAL_TYPE_EVERGREEN,
741 THERMAL_TYPE_SUMO, 741 THERMAL_TYPE_SUMO,
742 THERMAL_TYPE_NI,
742}; 743};
743 744
744struct radeon_voltage { 745struct radeon_voltage {
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index a2dfe257079..03f1c9a10ba 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -1891,6 +1891,7 @@ static const char *pp_lib_thermal_controller_names[] = {
1891 "Evergreen", 1891 "Evergreen",
1892 "emc2103", 1892 "emc2103",
1893 "Sumo", 1893 "Sumo",
1894 "Northern Islands",
1894}; 1895};
1895 1896
1896union power_info { 1897union power_info {
@@ -2154,6 +2155,11 @@ static void radeon_atombios_add_pplib_thermal_controller(struct radeon_device *r
2154 (controller->ucFanParameters & 2155 (controller->ucFanParameters &
2155 ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with"); 2156 ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
2156 rdev->pm.int_thermal_type = THERMAL_TYPE_SUMO; 2157 rdev->pm.int_thermal_type = THERMAL_TYPE_SUMO;
2158 } else if (controller->ucType == ATOM_PP_THERMALCONTROLLER_NISLANDS) {
2159 DRM_INFO("Internal thermal controller %s fan control\n",
2160 (controller->ucFanParameters &
2161 ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
2162 rdev->pm.int_thermal_type = THERMAL_TYPE_NI;
2157 } else if ((controller->ucType == 2163 } else if ((controller->ucType ==
2158 ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO) || 2164 ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO) ||
2159 (controller->ucType == 2165 (controller->ucType ==
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 0afd26ccccf..7ad2e1a6991 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -440,6 +440,7 @@ static ssize_t radeon_hwmon_show_temp(struct device *dev,
440 temp = rv770_get_temp(rdev); 440 temp = rv770_get_temp(rdev);
441 break; 441 break;
442 case THERMAL_TYPE_EVERGREEN: 442 case THERMAL_TYPE_EVERGREEN:
443 case THERMAL_TYPE_NI:
443 temp = evergreen_get_temp(rdev); 444 temp = evergreen_get_temp(rdev);
444 break; 445 break;
445 case THERMAL_TYPE_SUMO: 446 case THERMAL_TYPE_SUMO: