drm/amd/pp: Refine register_thermal_interrupt function

v2: add Vega12 support

1. delete useless argument in function register_thermal_interrupt
2. rename function name register_thermal_interrupt to register_irq_handlers

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Rex Zhu 2018-03-21 13:11:27 +08:00 committed by Alex Deucher
parent 160b8e7593
commit 4d2003721c
9 changed files with 12 additions and 16 deletions

View File

@ -202,12 +202,12 @@ int phm_stop_thermal_controller(struct pp_hwmgr *hwmgr)
return hwmgr->hwmgr_func->stop_thermal_controller(hwmgr); return hwmgr->hwmgr_func->stop_thermal_controller(hwmgr);
} }
int phm_register_thermal_interrupt(struct pp_hwmgr *hwmgr, const void *info) int phm_register_irq_handlers(struct pp_hwmgr *hwmgr)
{ {
PHM_FUNC_CHECK(hwmgr); PHM_FUNC_CHECK(hwmgr);
if (hwmgr->hwmgr_func->register_internal_thermal_interrupt != NULL) if (hwmgr->hwmgr_func->register_irq_handlers != NULL)
return hwmgr->hwmgr_func->register_internal_thermal_interrupt(hwmgr, info); return hwmgr->hwmgr_func->register_irq_handlers(hwmgr);
return 0; return 0;
} }

View File

@ -206,7 +206,7 @@ int hwmgr_hw_init(struct pp_hwmgr *hwmgr)
if (ret) if (ret)
goto err2; goto err2;
ret = phm_register_thermal_interrupt(hwmgr, NULL); ret = phm_register_irq_handlers(hwmgr);
if (ret) if (ret)
goto err2; goto err2;

View File

@ -3998,8 +3998,7 @@ static int smu7_set_max_fan_rpm_output(struct pp_hwmgr *hwmgr, uint16_t us_max_f
PPSMC_MSG_SetFanRpmMax, us_max_fan_rpm); PPSMC_MSG_SetFanRpmMax, us_max_fan_rpm);
} }
static int smu7_register_internal_thermal_interrupt(struct pp_hwmgr *hwmgr, static int smu7_register_irq_handlers(struct pp_hwmgr *hwmgr)
const void *thermal_interrupt_info)
{ {
return 0; return 0;
} }
@ -4984,7 +4983,7 @@ static const struct pp_hwmgr_func smu7_hwmgr_funcs = {
.get_fan_speed_rpm = smu7_fan_ctrl_get_fan_speed_rpm, .get_fan_speed_rpm = smu7_fan_ctrl_get_fan_speed_rpm,
.set_fan_speed_rpm = smu7_fan_ctrl_set_fan_speed_rpm, .set_fan_speed_rpm = smu7_fan_ctrl_set_fan_speed_rpm,
.uninitialize_thermal_controller = smu7_thermal_ctrl_uninitialize_thermal_controller, .uninitialize_thermal_controller = smu7_thermal_ctrl_uninitialize_thermal_controller,
.register_internal_thermal_interrupt = smu7_register_internal_thermal_interrupt, .register_irq_handlers = smu7_register_irq_handlers,
.check_smc_update_required_for_display_configuration = smu7_check_smc_update_required_for_display_configuration, .check_smc_update_required_for_display_configuration = smu7_check_smc_update_required_for_display_configuration,
.check_states_equal = smu7_check_states_equal, .check_states_equal = smu7_check_states_equal,
.set_fan_control_mode = smu7_set_fan_control_mode, .set_fan_control_mode = smu7_set_fan_control_mode,

View File

@ -581,8 +581,7 @@ static const struct amdgpu_irq_src_funcs smu9_irq_funcs = {
.process = phm_irq_process, .process = phm_irq_process,
}; };
int smu9_register_thermal_interrupt(struct pp_hwmgr *hwmgr, int smu9_register_irq_handlers(struct pp_hwmgr *hwmgr)
const void *info)
{ {
struct amdgpu_irq_src *source = struct amdgpu_irq_src *source =
kzalloc(sizeof(struct amdgpu_irq_src), GFP_KERNEL); kzalloc(sizeof(struct amdgpu_irq_src), GFP_KERNEL);

View File

@ -77,8 +77,7 @@ int phm_irq_process(struct amdgpu_device *adev,
struct amdgpu_irq_src *source, struct amdgpu_irq_src *source,
struct amdgpu_iv_entry *entry); struct amdgpu_iv_entry *entry);
int smu9_register_thermal_interrupt(struct pp_hwmgr *hwmgr, int smu9_register_irq_handlers(struct pp_hwmgr *hwmgr);
const void *info);
#define PHM_FIELD_SHIFT(reg, field) reg##__##field##__SHIFT #define PHM_FIELD_SHIFT(reg, field) reg##__##field##__SHIFT
#define PHM_FIELD_MASK(reg, field) reg##__##field##_MASK #define PHM_FIELD_MASK(reg, field) reg##__##field##_MASK

View File

@ -4939,7 +4939,7 @@ static const struct pp_hwmgr_func vega10_hwmgr_funcs = {
.avfs_control = vega10_avfs_enable, .avfs_control = vega10_avfs_enable,
.notify_cac_buffer_info = vega10_notify_cac_buffer_info, .notify_cac_buffer_info = vega10_notify_cac_buffer_info,
.get_thermal_temperature_range = vega10_get_thermal_temperature_range, .get_thermal_temperature_range = vega10_get_thermal_temperature_range,
.register_internal_thermal_interrupt = smu9_register_thermal_interrupt, .register_irq_handlers = smu9_register_irq_handlers,
.start_thermal_controller = vega10_start_thermal_controller, .start_thermal_controller = vega10_start_thermal_controller,
.get_power_profile_mode = vega10_get_power_profile_mode, .get_power_profile_mode = vega10_get_power_profile_mode,
.set_power_profile_mode = vega10_set_power_profile_mode, .set_power_profile_mode = vega10_set_power_profile_mode,

View File

@ -2557,7 +2557,7 @@ static const struct pp_hwmgr_func vega12_hwmgr_funcs = {
#endif #endif
.notify_cac_buffer_info = vega12_notify_cac_buffer_info, .notify_cac_buffer_info = vega12_notify_cac_buffer_info,
.get_thermal_temperature_range = vega12_get_thermal_temperature_range, .get_thermal_temperature_range = vega12_get_thermal_temperature_range,
.register_internal_thermal_interrupt = smu9_register_thermal_interrupt, .register_irq_handlers = smu9_register_irq_handlers,
.start_thermal_controller = vega12_start_thermal_controller, .start_thermal_controller = vega12_start_thermal_controller,
}; };

View File

@ -417,7 +417,7 @@ extern int phm_apply_state_adjust_rules(struct pp_hwmgr *hwmgr,
extern int phm_force_dpm_levels(struct pp_hwmgr *hwmgr, enum amd_dpm_forced_level level); extern int phm_force_dpm_levels(struct pp_hwmgr *hwmgr, enum amd_dpm_forced_level level);
extern int phm_display_configuration_changed(struct pp_hwmgr *hwmgr); extern int phm_display_configuration_changed(struct pp_hwmgr *hwmgr);
extern int phm_notify_smc_display_config_after_ps_adjustment(struct pp_hwmgr *hwmgr); extern int phm_notify_smc_display_config_after_ps_adjustment(struct pp_hwmgr *hwmgr);
extern int phm_register_thermal_interrupt(struct pp_hwmgr *hwmgr, const void *info); extern int phm_register_irq_handlers(struct pp_hwmgr *hwmgr);
extern int phm_start_thermal_controller(struct pp_hwmgr *hwmgr); extern int phm_start_thermal_controller(struct pp_hwmgr *hwmgr);
extern int phm_stop_thermal_controller(struct pp_hwmgr *hwmgr); extern int phm_stop_thermal_controller(struct pp_hwmgr *hwmgr);
extern bool phm_check_smc_update_required_for_display_configuration(struct pp_hwmgr *hwmgr); extern bool phm_check_smc_update_required_for_display_configuration(struct pp_hwmgr *hwmgr);

View File

@ -287,8 +287,7 @@ struct pp_hwmgr_func {
int (*get_fan_speed_rpm)(struct pp_hwmgr *hwmgr, uint32_t *speed); int (*get_fan_speed_rpm)(struct pp_hwmgr *hwmgr, uint32_t *speed);
int (*reset_fan_speed_to_default)(struct pp_hwmgr *hwmgr); int (*reset_fan_speed_to_default)(struct pp_hwmgr *hwmgr);
int (*uninitialize_thermal_controller)(struct pp_hwmgr *hwmgr); int (*uninitialize_thermal_controller)(struct pp_hwmgr *hwmgr);
int (*register_internal_thermal_interrupt)(struct pp_hwmgr *hwmgr, int (*register_irq_handlers)(struct pp_hwmgr *hwmgr);
const void *thermal_interrupt_info);
bool (*check_smc_update_required_for_display_configuration)(struct pp_hwmgr *hwmgr); bool (*check_smc_update_required_for_display_configuration)(struct pp_hwmgr *hwmgr);
int (*check_states_equal)(struct pp_hwmgr *hwmgr, int (*check_states_equal)(struct pp_hwmgr *hwmgr,
const struct pp_hw_power_state *pstate1, const struct pp_hw_power_state *pstate1,