drm/radeon/kms: handle NI thermal controller
Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
36868bda88
commit
4fddba1fd9
@@ -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[] = {
|
|||||||
"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
|
|||||||
(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,
|
|||||||
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:
|
||||||
|
Reference in New Issue
Block a user