[PATCH 5/5] drm/amd/display: Refine the interface dm_pp_notify_wm_clock_changes

2018-06-19 Thread Harry Wentland
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

2018-06-18 Thread Alex Deucher
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

2018-06-18 Thread 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 
---
 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
---