[PATCH 5/5] drm/amd/display: Refine the interface dm_pp_notify_wm_clock_changes
From: Rex Zhu change function parameter type from dm_pp_wm_sets_with_clock_ranges * to void *. so this interface can be supported on AI/RV. Signed-off-by: Rex Zhu Acked-by: Alex Deucher --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 2 +- drivers/gpu/drm/amd/display/dc/dm_services.h | 2 +- drivers/gpu/drm/amd/include/kgd_pp_interface.h | 2 +- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 6 +++--- drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 4 ++-- drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 3 ++- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 3 ++- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c | 3 ++- drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h| 2 +- drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 3 +-- 10 files changed, 16 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c index 6b005209fe5a..ad4bd4a0e1aa 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c @@ -425,7 +425,7 @@ bool dm_pp_get_clock_levels_by_type_with_voltage( bool dm_pp_notify_wm_clock_changes( const struct dc_context *ctx, - struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges) + void *clock_ranges) { /* TODO: to be implemented */ return false; diff --git a/drivers/gpu/drm/amd/display/dc/dm_services.h b/drivers/gpu/drm/amd/display/dc/dm_services.h index 4ff9b2bba178..535b415386b6 100644 --- a/drivers/gpu/drm/amd/display/dc/dm_services.h +++ b/drivers/gpu/drm/amd/display/dc/dm_services.h @@ -217,7 +217,7 @@ bool dm_pp_get_clock_levels_by_type_with_voltage( bool dm_pp_notify_wm_clock_changes( const struct dc_context *ctx, - struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges); + void *clock_ranges); void dm_pp_get_funcs_rv(struct dc_context *ctx, struct pp_smu_funcs_rv *funcs); diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h b/drivers/gpu/drm/amd/include/kgd_pp_interface.h index 06f08f34a110..7250fb8804f5 100644 --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h @@ -261,7 +261,7 @@ struct amd_pm_funcs { enum amd_pp_clock_type type, struct pp_clock_levels_with_voltage *clocks); int (*set_watermarks_for_clocks_ranges)(void *handle, - struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges); + void *clock_ranges); int (*display_clock_voltage_request)(void *handle, struct pp_display_clock_request *clock); int (*get_display_mode_validation_clocks)(void *handle, diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c index d567be49c31b..fdbd5667c901 100644 --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c @@ -1118,17 +1118,17 @@ static int pp_get_clock_by_type_with_voltage(void *handle, } static int pp_set_watermarks_for_clocks_ranges(void *handle, - struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges) + void *clock_ranges) { struct pp_hwmgr *hwmgr = handle; int ret = 0; - if (!hwmgr || !hwmgr->pm_en ||!wm_with_clock_ranges) + if (!hwmgr || !hwmgr->pm_en || !clock_ranges) return -EINVAL; mutex_lock(>smu_lock); ret = phm_set_watermarks_for_clocks_ranges(hwmgr, - wm_with_clock_ranges); + clock_ranges); mutex_unlock(>smu_lock); return ret; diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c index a0bb921fac22..53207e76b0f3 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c @@ -435,7 +435,7 @@ int phm_get_clock_by_type_with_voltage(struct pp_hwmgr *hwmgr, } int phm_set_watermarks_for_clocks_ranges(struct pp_hwmgr *hwmgr, - struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges) + void *clock_ranges) { PHM_FUNC_CHECK(hwmgr); @@ -443,7 +443,7 @@ int phm_set_watermarks_for_clocks_ranges(struct pp_hwmgr *hwmgr, return -EINVAL; return hwmgr->hwmgr_func->set_watermarks_for_clocks_ranges(hwmgr, - wm_with_clock_ranges); + clock_ranges); } int phm_display_clock_voltage_request(struct pp_hwmgr *hwmgr, diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c
Re: [PATCH 5/5] drm/amd/display: Refine the interface dm_pp_notify_wm_clock_changes
On Mon, Jun 18, 2018 at 7:18 AM, Rex Zhu wrote: > change function parameter type from dm_pp_wm_sets_with_clock_ranges * to > void *. so this interface can be supported on AI/RV. > > Signed-off-by: Rex Zhu Acked-by: Alex Deucher but should probably be approved by the DC team as well. Alex > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 2 +- > drivers/gpu/drm/amd/display/dc/dm_services.h | 2 +- > drivers/gpu/drm/amd/include/kgd_pp_interface.h | 2 +- > drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 6 +++--- > drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 4 ++-- > drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 3 ++- > drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 3 ++- > drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c | 3 ++- > drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h| 2 +- > drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 3 +-- > 10 files changed, 16 insertions(+), 14 deletions(-) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c > b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c > index 37f6a5f..92d36fe 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c > @@ -408,7 +408,7 @@ bool dm_pp_get_clock_levels_by_type_with_voltage( > > bool dm_pp_notify_wm_clock_changes( > const struct dc_context *ctx, > - struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges) > + void *clock_ranges) > { > /* TODO: to be implemented */ > return false; > diff --git a/drivers/gpu/drm/amd/display/dc/dm_services.h > b/drivers/gpu/drm/amd/display/dc/dm_services.h > index 4ff9b2b..535b415 100644 > --- a/drivers/gpu/drm/amd/display/dc/dm_services.h > +++ b/drivers/gpu/drm/amd/display/dc/dm_services.h > @@ -217,7 +217,7 @@ bool dm_pp_get_clock_levels_by_type_with_voltage( > > bool dm_pp_notify_wm_clock_changes( > const struct dc_context *ctx, > - struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges); > + void *clock_ranges); > > void dm_pp_get_funcs_rv(struct dc_context *ctx, > struct pp_smu_funcs_rv *funcs); > diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > index 4535756..06f7ef2 100644 > --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h > +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h > @@ -261,7 +261,7 @@ struct amd_pm_funcs { > enum amd_pp_clock_type type, > struct pp_clock_levels_with_voltage *clocks); > int (*set_watermarks_for_clocks_ranges)(void *handle, > - struct pp_wm_sets_with_clock_ranges_soc15 > *wm_with_clock_ranges); > + void *clock_ranges); > int (*display_clock_voltage_request)(void *handle, > struct pp_display_clock_request *clock); > int (*get_display_mode_validation_clocks)(void *handle, > diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > index 7b0ff9d..ba5e0e2 100644 > --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c > @@ -1103,17 +1103,17 @@ static int pp_get_clock_by_type_with_voltage(void > *handle, > } > > static int pp_set_watermarks_for_clocks_ranges(void *handle, > - struct pp_wm_sets_with_clock_ranges_soc15 > *wm_with_clock_ranges) > + void *clock_ranges) > { > struct pp_hwmgr *hwmgr = handle; > int ret = 0; > > - if (!hwmgr || !hwmgr->pm_en ||!wm_with_clock_ranges) > + if (!hwmgr || !hwmgr->pm_en || !clock_ranges) > return -EINVAL; > > mutex_lock(>smu_lock); > ret = phm_set_watermarks_for_clocks_ranges(hwmgr, > - wm_with_clock_ranges); > + clock_ranges); > mutex_unlock(>smu_lock); > > return ret; > diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > index a0bb921..53207e7 100644 > --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c > @@ -435,7 +435,7 @@ int phm_get_clock_by_type_with_voltage(struct pp_hwmgr > *hwmgr, > } > > int phm_set_watermarks_for_clocks_ranges(struct pp_hwmgr *hwmgr, > - struct pp_wm_sets_with_clock_ranges_soc15 > *wm_with_clock_ranges) > + void *clock_ranges) > { > PHM_FUNC_CHECK(hwmgr); > > @@ -443,7 +443,7 @@ int phm_set_watermarks_for_clocks_ranges(struct pp_hwmgr > *hwmgr, > return -EINVAL; > > return hwmgr->hwmgr_func->set_watermarks_for_clocks_ranges(hwmgr, > -
[PATCH 5/5] drm/amd/display: Refine the interface dm_pp_notify_wm_clock_changes
change function parameter type from dm_pp_wm_sets_with_clock_ranges * to void *. so this interface can be supported on AI/RV. Signed-off-by: Rex Zhu --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c | 2 +- drivers/gpu/drm/amd/display/dc/dm_services.h | 2 +- drivers/gpu/drm/amd/include/kgd_pp_interface.h | 2 +- drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 6 +++--- drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c | 4 ++-- drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c | 3 ++- drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 3 ++- drivers/gpu/drm/amd/powerplay/hwmgr/vega12_hwmgr.c | 3 ++- drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h| 2 +- drivers/gpu/drm/amd/powerplay/inc/hwmgr.h | 3 +-- 10 files changed, 16 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c index 37f6a5f..92d36fe 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_services.c @@ -408,7 +408,7 @@ bool dm_pp_get_clock_levels_by_type_with_voltage( bool dm_pp_notify_wm_clock_changes( const struct dc_context *ctx, - struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges) + void *clock_ranges) { /* TODO: to be implemented */ return false; diff --git a/drivers/gpu/drm/amd/display/dc/dm_services.h b/drivers/gpu/drm/amd/display/dc/dm_services.h index 4ff9b2b..535b415 100644 --- a/drivers/gpu/drm/amd/display/dc/dm_services.h +++ b/drivers/gpu/drm/amd/display/dc/dm_services.h @@ -217,7 +217,7 @@ bool dm_pp_get_clock_levels_by_type_with_voltage( bool dm_pp_notify_wm_clock_changes( const struct dc_context *ctx, - struct dm_pp_wm_sets_with_clock_ranges *wm_with_clock_ranges); + void *clock_ranges); void dm_pp_get_funcs_rv(struct dc_context *ctx, struct pp_smu_funcs_rv *funcs); diff --git a/drivers/gpu/drm/amd/include/kgd_pp_interface.h b/drivers/gpu/drm/amd/include/kgd_pp_interface.h index 4535756..06f7ef2 100644 --- a/drivers/gpu/drm/amd/include/kgd_pp_interface.h +++ b/drivers/gpu/drm/amd/include/kgd_pp_interface.h @@ -261,7 +261,7 @@ struct amd_pm_funcs { enum amd_pp_clock_type type, struct pp_clock_levels_with_voltage *clocks); int (*set_watermarks_for_clocks_ranges)(void *handle, - struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges); + void *clock_ranges); int (*display_clock_voltage_request)(void *handle, struct pp_display_clock_request *clock); int (*get_display_mode_validation_clocks)(void *handle, diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c index 7b0ff9d..ba5e0e2 100644 --- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c +++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c @@ -1103,17 +1103,17 @@ static int pp_get_clock_by_type_with_voltage(void *handle, } static int pp_set_watermarks_for_clocks_ranges(void *handle, - struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges) + void *clock_ranges) { struct pp_hwmgr *hwmgr = handle; int ret = 0; - if (!hwmgr || !hwmgr->pm_en ||!wm_with_clock_ranges) + if (!hwmgr || !hwmgr->pm_en || !clock_ranges) return -EINVAL; mutex_lock(>smu_lock); ret = phm_set_watermarks_for_clocks_ranges(hwmgr, - wm_with_clock_ranges); + clock_ranges); mutex_unlock(>smu_lock); return ret; diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c index a0bb921..53207e7 100644 --- a/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hardwaremanager.c @@ -435,7 +435,7 @@ int phm_get_clock_by_type_with_voltage(struct pp_hwmgr *hwmgr, } int phm_set_watermarks_for_clocks_ranges(struct pp_hwmgr *hwmgr, - struct pp_wm_sets_with_clock_ranges_soc15 *wm_with_clock_ranges) + void *clock_ranges) { PHM_FUNC_CHECK(hwmgr); @@ -443,7 +443,7 @@ int phm_set_watermarks_for_clocks_ranges(struct pp_hwmgr *hwmgr, return -EINVAL; return hwmgr->hwmgr_func->set_watermarks_for_clocks_ranges(hwmgr, - wm_with_clock_ranges); + clock_ranges); } int phm_display_clock_voltage_request(struct pp_hwmgr *hwmgr, diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c index 08690c9..4ca8033 100644 ---