diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1416-drm-amd-powerplay-implement-sensor-of-get-feature-ma.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1416-drm-amd-powerplay-implement-sensor-of-get-feature-ma.patch | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1416-drm-amd-powerplay-implement-sensor-of-get-feature-ma.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1416-drm-amd-powerplay-implement-sensor-of-get-feature-ma.patch new file mode 100644 index 00000000..521ac772 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1416-drm-amd-powerplay-implement-sensor-of-get-feature-ma.patch @@ -0,0 +1,81 @@ +From 849eecdc87474f185b815c104ddac502c8c03082 Mon Sep 17 00:00:00 2001 +From: Kevin Wang <Kevin1.Wang@amd.com> +Date: Wed, 16 Jan 2019 09:55:03 +0800 +Subject: [PATCH 1416/2940] drm/amd/powerplay: implement sensor of get feature + mask + +add sensor interface of feature mask for debugfs. +this interface is not ip related function, so need move high level +file to implement (amdgpu_smu) + +Signed-off-by: Kevin Wang <Kevin1.Wang@amd.com> +Reviewed-by: Huang Rui <ray.huang@amd.com> +Reviewed-by: Evan Quan <evan.quan@amd.com> +Acked-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 21 +++++++++++++++++++ + .../gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 2 ++ + drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 2 +- + 3 files changed, 24 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +index f17c85fc61e9..012d2790da8a 100644 +--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c ++++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c +@@ -29,6 +29,27 @@ + #include "smu_v11_0.h" + #include "atom.h" + ++int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor, ++ void *data, uint32_t *size) ++{ ++ int ret = 0; ++ ++ switch (sensor) { ++ case AMDGPU_PP_SENSOR_ENABLED_SMC_FEATURES_MASK: ++ ret = smu_feature_get_enabled_mask(smu, (uint32_t *)data, 2); ++ *size = 8; ++ break; ++ default: ++ ret = -EINVAL; ++ break; ++ } ++ ++ if (ret) ++ *size = 0; ++ ++ return ret; ++} ++ + int smu_update_table(struct smu_context *smu, uint32_t table_id, + void *table_data, bool drv2smu) + { +diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h +index 99700a045d2f..2e89a59ed06c 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h +@@ -377,6 +377,8 @@ int smu_update_table(struct smu_context *smu, uint32_t table_id, + void *table_data, bool drv2smu); + bool is_support_sw_smu(struct amdgpu_device *adev); + int smu_reset(struct smu_context *smu); ++int smu_common_read_sensor(struct smu_context *smu, enum amd_pp_sensors sensor, ++ void *data, uint32_t *size); + int smu_sys_get_pp_table(struct smu_context *smu, void **table); + int smu_sys_set_pp_table(struct smu_context *smu, void *buf, size_t size); + +diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +index 7c64509df8ab..1f9459c4ff51 100644 +--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c ++++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c +@@ -1108,7 +1108,7 @@ static int smu_v11_0_read_sensor(struct smu_context *smu, + *size = 4; + break; + default: +- ret = -EINVAL; ++ ret = smu_common_read_sensor(smu, sensor, data, size); + break; + } + +-- +2.17.1 + |