diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2370-drm-amd-powerplay-simplify-the-interface-of-get_gpu_.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2370-drm-amd-powerplay-simplify-the-interface-of-get_gpu_.patch | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2370-drm-amd-powerplay-simplify-the-interface-of-get_gpu_.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2370-drm-amd-powerplay-simplify-the-interface-of-get_gpu_.patch new file mode 100644 index 00000000..53c9bcea --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2370-drm-amd-powerplay-simplify-the-interface-of-get_gpu_.patch @@ -0,0 +1,104 @@ +From d86efff45cab782ca7c2546b44cdae0ddf43cf7f Mon Sep 17 00:00:00 2001 +From: Kevin Wang <kevin1.wang@amd.com> +Date: Wed, 8 May 2019 15:00:54 +0800 +Subject: [PATCH 2370/2940] drm/amd/powerplay: simplify the interface of + get_gpu_power + +this callback function is only call in read_sensor in smu_v11_0.c, +so move this code to {asic}_ppt.c to implement as asic related function. + +Signed-off-by: Kevin Wang <kevin1.wang@amd.com> +Reviewed-by: Huang Rui <ray.huang@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 3 --- + drivers/gpu/drm/amd/powerplay/navi10_ppt.c | 5 ++++- + drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 4 ---- + drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 5 ++++- + 4 files changed, 8 insertions(+), 9 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h +index 635837b79d94..69c33d707d8f 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h +@@ -594,7 +594,6 @@ struct pptable_funcs { + void (*tables_init)(struct smu_context *smu, struct smu_table *tables); + int (*set_thermal_fan_table)(struct smu_context *smu); + int (*get_fan_speed_percent)(struct smu_context *smu, uint32_t *speed); +- int (*get_gpu_power)(struct smu_context *smu, uint32_t *value); + int (*set_watermarks_table)(struct smu_context *smu, void *watermarks, + struct dm_pp_wm_sets_with_clock_ranges_soc15 *clock_ranges); + int (*get_current_clk_freq_by_table)(struct smu_context *smu, +@@ -825,8 +824,6 @@ struct smu_funcs + ((smu)->funcs->set_fan_control_mode ? (smu)->funcs->set_fan_control_mode((smu), (value)) : 0) + #define smu_get_fan_speed_percent(smu, speed) \ + ((smu)->ppt_funcs->get_fan_speed_percent ? (smu)->ppt_funcs->get_fan_speed_percent((smu), (speed)) : 0) +-#define smu_get_gpu_power(smu, val) \ +- ((smu)->ppt_funcs->get_gpu_power ? (smu)->ppt_funcs->get_gpu_power((smu), (val)) : 0) + #define smu_set_fan_speed_percent(smu, speed) \ + ((smu)->funcs->set_fan_speed_percent ? (smu)->funcs->set_fan_speed_percent((smu), (speed)) : 0) + +diff --git a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c +index f2aaa48f02e4..4851222c9919 100644 +--- a/drivers/gpu/drm/amd/powerplay/navi10_ppt.c ++++ b/drivers/gpu/drm/amd/powerplay/navi10_ppt.c +@@ -1195,6 +1195,10 @@ static int navi10_read_sensor(struct smu_context *smu, + ret = navi10_get_current_activity_percent(smu, (uint32_t *)data); + *size = 4; + break; ++ case AMDGPU_PP_SENSOR_GPU_POWER: ++ ret = navi10_get_gpu_power(smu, (uint32_t *)data); ++ *size = 4; ++ break; + default: + return -EINVAL; + } +@@ -1227,7 +1231,6 @@ static const struct pptable_funcs navi10_ppt_funcs = { + .notify_smc_dispaly_config = navi10_notify_smc_dispaly_config, + .force_dpm_limit_value = navi10_force_dpm_limit_value, + .unforce_dpm_levels = navi10_unforce_dpm_levels, +- .get_gpu_power = navi10_get_gpu_power, + .is_dpm_running = navi10_is_dpm_running, + .set_thermal_fan_table = navi10_set_thermal_fan_table, + .get_fan_speed_percent = navi10_get_fan_speed_percent, +diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +index 95d184a24e4b..1896ce1ece6b 100644 +--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c ++++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +@@ -1334,10 +1334,6 @@ static int smu_v11_0_read_sensor(struct smu_context *smu, + ret = smu_v11_0_thermal_get_temperature(smu, sensor, (uint32_t *)data); + *size = 4; + break; +- case AMDGPU_PP_SENSOR_GPU_POWER: +- ret = smu_get_gpu_power(smu, (uint32_t *)data); +- *size = 4; +- break; + case AMDGPU_PP_SENSOR_VDDGFX: + ret = smu_v11_0_get_gfx_vdd(smu, (uint32_t *)data); + *size = 4; +diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c +index 6ad6b85920fe..53e8b59f8879 100644 +--- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c ++++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c +@@ -3033,6 +3033,10 @@ static int vega20_read_sensor(struct smu_context *smu, + (uint32_t *)data); + *size = 4; + break; ++ case AMDGPU_PP_SENSOR_GPU_POWER: ++ ret = vega20_get_gpu_power(smu, (uint32_t *)data); ++ *size = 4; ++ break; + default: + return -EINVAL; + } +@@ -3145,7 +3149,6 @@ static const struct pptable_funcs vega20_ppt_funcs = { + .is_dpm_running = vega20_is_dpm_running, + .set_thermal_fan_table = vega20_set_thermal_fan_table, + .get_fan_speed_percent = vega20_get_fan_speed_percent, +- .get_gpu_power= vega20_get_gpu_power, + .set_watermarks_table = vega20_set_watermarks_table, + }; + +-- +2.17.1 + |