[PATCH] drm/amd/pp: Refine add irq logic in powerplay
Alex Deucher
alexdeucher at gmail.com
Wed Mar 21 05:17:09 UTC 2018
On Wed, Mar 21, 2018 at 12:54 AM, Rex Zhu <Rex.Zhu at amd.com> wrote:
> 1. register smu irq when sw init.
> 2. delete useless function argument.
If you split this into two patches, one for each logical change above, it's:
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>
> Change-Id: Ie817e524327f14edfde62843fbdd2a7999489819
> Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
> ---
> drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 2 ++
> drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 6 +++---
> drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c | 4 ----
> drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 5 ++---
> drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 5 ++---
> drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h | 2 +-
> drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 3 +--
> 7 files changed, 11 insertions(+), 16 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> index 0381317..7e8ad30 100644
> --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c
> @@ -117,6 +117,8 @@ static int pp_sw_init(void *handle)
>
> ret = hwmgr->smumgr_funcs->smu_init(hwmgr);
>
> + phm_register_irq_handlers(hwmgr);
> +
> pr_debug("amdgpu: powerplay sw initialized\n");
> }
>
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c
> index b784131..ae2e933 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c
> @@ -202,12 +202,12 @@ int phm_stop_thermal_controller(struct pp_hwmgr *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);
>
> - if (hwmgr->hwmgr_func->register_internal_thermal_interrupt != NULL)
> - return hwmgr->hwmgr_func->register_internal_thermal_interrupt(hwmgr, info);
> + if (hwmgr->hwmgr_func->register_irq_handlers != NULL)
> + return hwmgr->hwmgr_func->register_irq_handlers(hwmgr);
>
> return 0;
> }
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> index fbcdda5..6318438 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
> @@ -200,10 +200,6 @@ int hwmgr_hw_init(struct pp_hwmgr *hwmgr)
> if (ret)
> goto err2;
>
> - ret = phm_register_thermal_interrupt(hwmgr, NULL);
> - if (ret)
> - goto err2;
> -
> return 0;
> err2:
> if (hwmgr->hwmgr_func->backend_fini)
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> index 4083387..8a81360 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
> @@ -3996,8 +3996,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);
> }
>
> -static int smu7_register_internal_thermal_interrupt(struct pp_hwmgr *hwmgr,
> - const void *thermal_interrupt_info)
> +static int smu7_register_irq_handlers(struct pp_hwmgr *hwmgr)
> {
> return 0;
> }
> @@ -4982,7 +4981,7 @@ static int smu7_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, uint
> .get_fan_speed_rpm = smu7_fan_ctrl_get_fan_speed_rpm,
> .set_fan_speed_rpm = smu7_fan_ctrl_set_fan_speed_rpm,
> .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_states_equal = smu7_check_states_equal,
> .set_fan_control_mode = smu7_set_fan_control_mode,
> diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> index eb9884e..7bb9dd9 100644
> --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c
> @@ -4819,8 +4819,7 @@ static int vega10_get_thermal_temperature_range(struct pp_hwmgr *hwmgr,
> .process = phm_irq_process,
> };
>
> -static int vega10_register_thermal_interrupt(struct pp_hwmgr *hwmgr,
> - const void *info)
> +static int vega10_register_irq_handlers(struct pp_hwmgr *hwmgr)
> {
> struct amdgpu_irq_src *source =
> kzalloc(sizeof(struct amdgpu_irq_src), GFP_KERNEL);
> @@ -4978,7 +4977,7 @@ static int vega10_set_power_profile_mode(struct pp_hwmgr *hwmgr, long *input, ui
> .avfs_control = vega10_avfs_enable,
> .notify_cac_buffer_info = vega10_notify_cac_buffer_info,
> .get_thermal_temperature_range = vega10_get_thermal_temperature_range,
> - .register_internal_thermal_interrupt = vega10_register_thermal_interrupt,
> + .register_irq_handlers = vega10_register_irq_handlers,
> .start_thermal_controller = vega10_start_thermal_controller,
> .get_power_profile_mode = vega10_get_power_profile_mode,
> .set_power_profile_mode = vega10_set_power_profile_mode,
> diff --git a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h
> index b366a5b..f69547f 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h
> @@ -403,7 +403,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_display_configuration_changed(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_stop_thermal_controller(struct pp_hwmgr *hwmgr);
> extern bool phm_check_smc_update_required_for_display_configuration(struct pp_hwmgr *hwmgr);
> diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> index 2667775..efdcf31 100644
> --- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> +++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
> @@ -287,8 +287,7 @@ struct pp_hwmgr_func {
> int (*get_fan_speed_rpm)(struct pp_hwmgr *hwmgr, uint32_t *speed);
> int (*reset_fan_speed_to_default)(struct pp_hwmgr *hwmgr);
> int (*uninitialize_thermal_controller)(struct pp_hwmgr *hwmgr);
> - int (*register_internal_thermal_interrupt)(struct pp_hwmgr *hwmgr,
> - const void *thermal_interrupt_info);
> + int (*register_irq_handlers)(struct pp_hwmgr *hwmgr);
> bool (*check_smc_update_required_for_display_configuration)(struct pp_hwmgr *hwmgr);
> int (*check_states_equal)(struct pp_hwmgr *hwmgr,
> const struct pp_hw_power_state *pstate1,
> --
> 1.9.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list