aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4586-Revert-drm-amd-powerplay-enable-gpu_busy_percent-sys.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4586-Revert-drm-amd-powerplay-enable-gpu_busy_percent-sys.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4586-Revert-drm-amd-powerplay-enable-gpu_busy_percent-sys.patch192
1 files changed, 192 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4586-Revert-drm-amd-powerplay-enable-gpu_busy_percent-sys.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4586-Revert-drm-amd-powerplay-enable-gpu_busy_percent-sys.patch
new file mode 100644
index 00000000..1e103903
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4586-Revert-drm-amd-powerplay-enable-gpu_busy_percent-sys.patch
@@ -0,0 +1,192 @@
+From d3356fee47c1ba461195da707e7b0c0e9868fd80 Mon Sep 17 00:00:00 2001
+From: "Stanley.Yang" <Stanley.Yang@amd.com>
+Date: Mon, 25 Nov 2019 16:51:51 +0800
+Subject: [PATCH 4586/4736] Revert "drm/amd/powerplay: enable gpu_busy_percent
+ sys interface for renoir"
+
+This reverts commit 06a4360eecaf6c178518c3b531a583f2fe4c6ae6.
+
+Signed-off-by: Stanley.Yang <Stanley.Yang@amd.com>
+Signed-off-by: Rahul Kumar <rahul.kumar1@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/inc/smu_v12_0.h | 4 -
+ drivers/gpu/drm/amd/powerplay/renoir_ppt.c | 75 -------------------
+ drivers/gpu/drm/amd/powerplay/smu_v12_0.c | 33 --------
+ 3 files changed, 112 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/inc/smu_v12_0.h b/drivers/gpu/drm/amd/powerplay/inc/smu_v12_0.h
+index 44c65dd8850d..1745e0146fba 100644
+--- a/drivers/gpu/drm/amd/powerplay/inc/smu_v12_0.h
++++ b/drivers/gpu/drm/amd/powerplay/inc/smu_v12_0.h
+@@ -62,10 +62,6 @@ int smu_v12_0_powergate_jpeg(struct smu_context *smu, bool gate);
+
+ int smu_v12_0_set_gfx_cgpg(struct smu_context *smu, bool enable);
+
+-int smu_v12_0_read_sensor(struct smu_context *smu,
+- enum amd_pp_sensors sensor,
+- void *data, uint32_t *size);
+-
+ uint32_t smu_v12_0_get_gfxoff_status(struct smu_context *smu);
+
+ int smu_v12_0_gfx_off_control(struct smu_context *smu, bool enable);
+diff --git a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c
+index b44ce143e895..2c624cdf1d81 100644
+--- a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c
++++ b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c
+@@ -139,27 +139,6 @@ static int renoir_get_smu_table_index(struct smu_context *smc, uint32_t index)
+ return mapping.map_to;
+ }
+
+-static int renoir_get_metrics_table(struct smu_context *smu,
+- SmuMetrics_t *metrics_table)
+-{
+- struct smu_table_context *smu_table= &smu->smu_table;
+- int ret = 0;
+-
+- if (!smu_table->metrics_time || time_after(jiffies, smu_table->metrics_time + msecs_to_jiffies(100))) {
+- ret = smu_update_table(smu, SMU_TABLE_SMU_METRICS, 0,
+- (void *)smu_table->metrics_table, false);
+- if (ret) {
+- pr_info("Failed to export SMU metrics table!\n");
+- return ret;
+- }
+- smu_table->metrics_time = jiffies;
+- }
+-
+- memcpy(metrics_table, smu_table->metrics_table, sizeof(SmuMetrics_t));
+-
+- return ret;
+-}
+-
+ static int renoir_tables_init(struct smu_context *smu, struct smu_table *tables)
+ {
+ struct smu_table_context *smu_table = &smu->smu_table;
+@@ -175,11 +154,6 @@ static int renoir_tables_init(struct smu_context *smu, struct smu_table *tables)
+ if (!smu_table->clocks_table)
+ return -ENOMEM;
+
+- smu_table->metrics_table = kzalloc(sizeof(SmuMetrics_t), GFP_KERNEL);
+- if (!smu_table->metrics_table)
+- return -ENOMEM;
+- smu_table->metrics_time = 0;
+-
+ return 0;
+ }
+
+@@ -412,32 +386,6 @@ static int renoir_unforce_dpm_levels(struct smu_context *smu) {
+ return ret;
+ }
+
+-static int renoir_get_current_activity_percent(struct smu_context *smu,
+- enum amd_pp_sensors sensor,
+- uint32_t *value)
+-{
+- int ret = 0;
+- SmuMetrics_t metrics;
+-
+- if (!value)
+- return -EINVAL;
+-
+- ret = renoir_get_metrics_table(smu, &metrics);
+- if (ret)
+- return ret;
+-
+- switch (sensor) {
+- case AMDGPU_PP_SENSOR_GPU_LOAD:
+- *value = metrics.AverageGfxActivity;
+- break;
+- default:
+- pr_err("Invalid sensor for retrieving clock activity\n");
+- return -EINVAL;
+- }
+-
+- return 0;
+-}
+-
+ static int renoir_get_workload_type(struct smu_context *smu, uint32_t profile)
+ {
+
+@@ -751,28 +699,6 @@ static int renoir_get_power_profile_mode(struct smu_context *smu,
+ return size;
+ }
+
+-static int renoir_read_sensor(struct smu_context *smu,
+- enum amd_pp_sensors sensor,
+- void *data, uint32_t *size)
+-{
+- int ret = 0;
+-
+- if (!data || !size)
+- return -EINVAL;
+-
+- mutex_lock(&smu->sensor_lock);
+- switch (sensor) {
+- case AMDGPU_PP_SENSOR_GPU_LOAD:
+- ret = renoir_get_current_activity_percent(smu, sensor, (uint32_t *)data);
+- *size = 4;
+- break;
+- default:
+- ret = smu_v12_0_read_sensor(smu, sensor, data, size);
+- }
+- mutex_unlock(&smu->sensor_lock);
+-
+- return ret;
+-}
+
+ static const struct pptable_funcs renoir_ppt_funcs = {
+ .get_smu_msg_index = renoir_get_smu_msg_index,
+@@ -794,7 +720,6 @@ static const struct pptable_funcs renoir_ppt_funcs = {
+ .get_dpm_clock_table = renoir_get_dpm_clock_table,
+ .set_watermarks_table = renoir_set_watermarks_table,
+ .get_power_profile_mode = renoir_get_power_profile_mode,
+- .read_sensor = renoir_read_sensor,
+ .check_fw_status = smu_v12_0_check_fw_status,
+ .check_fw_version = smu_v12_0_check_fw_version,
+ .powergate_sdma = smu_v12_0_powergate_sdma,
+diff --git a/drivers/gpu/drm/amd/powerplay/smu_v12_0.c b/drivers/gpu/drm/amd/powerplay/smu_v12_0.c
+index 045167311ae8..18b24f954380 100644
+--- a/drivers/gpu/drm/amd/powerplay/smu_v12_0.c
++++ b/drivers/gpu/drm/amd/powerplay/smu_v12_0.c
+@@ -223,39 +223,6 @@ int smu_v12_0_set_gfx_cgpg(struct smu_context *smu, bool enable)
+ SMU_MSG_SetGfxCGPG, enable ? 1 : 0);
+ }
+
+-int smu_v12_0_read_sensor(struct smu_context *smu,
+- enum amd_pp_sensors sensor,
+- void *data, uint32_t *size)
+-{
+- int ret = 0;
+-
+- if(!data || !size)
+- return -EINVAL;
+-
+- switch (sensor) {
+- case AMDGPU_PP_SENSOR_GFX_MCLK:
+- ret = smu_get_current_clk_freq(smu, SMU_UCLK, (uint32_t *)data);
+- *size = 4;
+- break;
+- case AMDGPU_PP_SENSOR_GFX_SCLK:
+- ret = smu_get_current_clk_freq(smu, SMU_GFXCLK, (uint32_t *)data);
+- *size = 4;
+- break;
+- case AMDGPU_PP_SENSOR_MIN_FAN_RPM:
+- *(uint32_t *)data = 0;
+- *size = 4;
+- break;
+- default:
+- ret = smu_common_read_sensor(smu, sensor, data, size);
+- break;
+- }
+-
+- if (ret)
+- *size = 0;
+-
+- return ret;
+-}
+-
+ /**
+ * smu_v12_0_get_gfxoff_status - get gfxoff status
+ *
+--
+2.17.1
+