|
@@ -2288,19 +2288,31 @@ static void radeon_atombios_add_pplib_thermal_controller(struct radeon_device *r
|
|
|
(controller->ucFanParameters &
|
|
|
ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
|
|
|
rdev->pm.int_thermal_type = THERMAL_TYPE_KV;
|
|
|
- } else if ((controller->ucType ==
|
|
|
- ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO) ||
|
|
|
- (controller->ucType ==
|
|
|
- ATOM_PP_THERMALCONTROLLER_ADT7473_WITH_INTERNAL) ||
|
|
|
- (controller->ucType ==
|
|
|
- ATOM_PP_THERMALCONTROLLER_EMC2103_WITH_INTERNAL)) {
|
|
|
- DRM_INFO("Special thermal controller config\n");
|
|
|
+ } else if (controller->ucType ==
|
|
|
+ ATOM_PP_THERMALCONTROLLER_EXTERNAL_GPIO) {
|
|
|
+ DRM_INFO("External GPIO thermal controller %s fan control\n",
|
|
|
+ (controller->ucFanParameters &
|
|
|
+ ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
|
|
|
+ rdev->pm.int_thermal_type = THERMAL_TYPE_EXTERNAL_GPIO;
|
|
|
+ } else if (controller->ucType ==
|
|
|
+ ATOM_PP_THERMALCONTROLLER_ADT7473_WITH_INTERNAL) {
|
|
|
+ DRM_INFO("ADT7473 with internal thermal controller %s fan control\n",
|
|
|
+ (controller->ucFanParameters &
|
|
|
+ ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
|
|
|
+ rdev->pm.int_thermal_type = THERMAL_TYPE_ADT7473_WITH_INTERNAL;
|
|
|
+ } else if (controller->ucType ==
|
|
|
+ ATOM_PP_THERMALCONTROLLER_EMC2103_WITH_INTERNAL) {
|
|
|
+ DRM_INFO("EMC2103 with internal thermal controller %s fan control\n",
|
|
|
+ (controller->ucFanParameters &
|
|
|
+ ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
|
|
|
+ rdev->pm.int_thermal_type = THERMAL_TYPE_EMC2103_WITH_INTERNAL;
|
|
|
} else if (controller->ucType < ARRAY_SIZE(pp_lib_thermal_controller_names)) {
|
|
|
DRM_INFO("Possible %s thermal controller at 0x%02x %s fan control\n",
|
|
|
pp_lib_thermal_controller_names[controller->ucType],
|
|
|
controller->ucI2cAddress >> 1,
|
|
|
(controller->ucFanParameters &
|
|
|
ATOM_PP_FANPARAMETERS_NOFAN) ? "without" : "with");
|
|
|
+ rdev->pm.int_thermal_type = THERMAL_TYPE_EXTERNAL;
|
|
|
i2c_bus = radeon_lookup_i2c_gpio(rdev, controller->ucI2cLine);
|
|
|
rdev->pm.i2c_bus = radeon_i2c_lookup(rdev, &i2c_bus);
|
|
|
if (rdev->pm.i2c_bus) {
|