提交 4fddba1f 编写于 作者: A Alex Deucher 提交者: Dave Airlie

drm/radeon/kms: handle NI thermal controller

Signed-off-by: NAlex Deucher <alexdeucher@gmail.com>
Signed-off-by: NDave Airlie <airlied@redhat.com>
上级 36868bda
...@@ -739,6 +739,7 @@ enum radeon_int_thermal_type { ...@@ -739,6 +739,7 @@ enum radeon_int_thermal_type {
THERMAL_TYPE_RV770, THERMAL_TYPE_RV770,
THERMAL_TYPE_EVERGREEN, THERMAL_TYPE_EVERGREEN,
THERMAL_TYPE_SUMO, THERMAL_TYPE_SUMO,
THERMAL_TYPE_NI,
}; };
struct radeon_voltage { struct radeon_voltage {
......
...@@ -1891,6 +1891,7 @@ static const char *pp_lib_thermal_controller_names[] = { ...@@ -1891,6 +1891,7 @@ static const char *pp_lib_thermal_controller_names[] = {
"Evergreen", "Evergreen",
"emc2103", "emc2103",
"Sumo", "Sumo",
"Northern Islands",
}; };
union power_info { union power_info {
...@@ -2154,6 +2155,11 @@ static void radeon_atombios_add_pplib_thermal_controller(struct radeon_device *r ...@@ -2154,6 +2155,11 @@ static void radeon_atombios_add_pplib_thermal_controller(struct radeon_device *r
(controller->ucFanParameters & (controller->ucFanParameters &
ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with"); ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
rdev->pm.int_thermal_type = THERMAL_TYPE_SUMO; rdev->pm.int_thermal_type = THERMAL_TYPE_SUMO;
} else if (controller->ucType == ATOM_PP_THERMALCONTROLLER_NISLANDS) {
DRM_INFO("Internal thermal controller %s fan control\n",
(controller->ucFanParameters &
ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
rdev->pm.int_thermal_type = THERMAL_TYPE_NI;
} else if ((controller->ucType == } else if ((controller->ucType ==
ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO) || ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO) ||
(controller->ucType == (controller->ucType ==
......
...@@ -440,6 +440,7 @@ static ssize_t radeon_hwmon_show_temp(struct device *dev, ...@@ -440,6 +440,7 @@ static ssize_t radeon_hwmon_show_temp(struct device *dev,
temp = rv770_get_temp(rdev); temp = rv770_get_temp(rdev);
break; break;
case THERMAL_TYPE_EVERGREEN: case THERMAL_TYPE_EVERGREEN:
case THERMAL_TYPE_NI:
temp = evergreen_get_temp(rdev); temp = evergreen_get_temp(rdev);
break; break;
case THERMAL_TYPE_SUMO: case THERMAL_TYPE_SUMO:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册