drm/amd/pp: Implement AMDGPU_PP_SENSOR_MIN/MAX_FAN_RPM
authorRex Zhu <Rex.Zhu@amd.com>
Sun, 30 Sep 2018 05:19:00 +0000 (13:19 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 9 Oct 2018 22:04:52 +0000 (17:04 -0500)
so user can query the RPM range

Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/amd_powerplay.c
drivers/gpu/drm/amd/powerplay/hwmgr/vega20_processpptables.c

index 32f475e37051105d2a618e25b7d5f06759384955..053c485baed009f0ed3406800eefe3f0108cb446 100644 (file)
@@ -813,6 +813,12 @@ static int pp_dpm_read_sensor(void *handle, int idx,
        case AMDGPU_PP_SENSOR_STABLE_PSTATE_MCLK:
                *((uint32_t *)value) = hwmgr->pstate_mclk;
                return 0;
+       case AMDGPU_PP_SENSOR_MIN_FAN_RPM:
+               *((uint32_t *)value) = hwmgr->thermal_controller.fanInfo.ulMinRPM;
+               return 0;
+       case AMDGPU_PP_SENSOR_MAX_FAN_RPM:
+               *((uint32_t *)value) = hwmgr->thermal_controller.fanInfo.ulMaxRPM;
+               return 0;
        default:
                mutex_lock(&hwmgr->smu_lock);
                ret = hwmgr->hwmgr_func->read_sensor(hwmgr, idx, value, size);
index 5f1f7a32ac2479279c9a3ee2552831327b407071..c9b93e6487e496e771fd126d711a9aaf612ff196 100644 (file)
@@ -834,6 +834,8 @@ static int init_powerplay_table_information(
 
        hwmgr->thermal_controller.ucType = powerplay_table->ucThermalControllerType;
        pptable_information->uc_thermal_controller_type = powerplay_table->ucThermalControllerType;
+       hwmgr->thermal_controller.fanInfo.ulMinRPM = 0;
+       hwmgr->thermal_controller.fanInfo.ulMaxRPM = powerplay_table->smcPPTable.FanMaximumRpm;
 
        set_hw_cap(hwmgr,
                ATOM_VEGA20_PP_THERMALCONTROLLER_NONE != hwmgr->thermal_controller.ucType,