diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3521-drm-amd-powerplay-add-smu-tables-for-rn.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3521-drm-amd-powerplay-add-smu-tables-for-rn.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3521-drm-amd-powerplay-add-smu-tables-for-rn.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3521-drm-amd-powerplay-add-smu-tables-for-rn.patch new file mode 100644 index 00000000..a4dd52ec --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3521-drm-amd-powerplay-add-smu-tables-for-rn.patch @@ -0,0 +1,88 @@ +From 45f01db674f732670c595bcec8c0a5d3162fb1ee Mon Sep 17 00:00:00 2001 +From: Aaron Liu <aaron.liu@amd.com> +Date: Tue, 30 Jul 2019 10:50:44 +0800 +Subject: [PATCH 3521/4256] drm/amd/powerplay: add smu tables for rn + +add and map smu tables for renoir + +Signed-off-by: Aaron Liu <aaron.liu@amd.com> +Reviewed-by: Kenneth Feng <kenneth.feng@amd.com> +Reviewed-by: Evan Quan <evan.quan@amd.com> +Reviewed-by: Kevin Wang <kevin1.wang@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + .../gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 2 ++ + drivers/gpu/drm/amd/powerplay/renoir_ppt.c | 27 +++++++++++++++++++ + 2 files changed, 29 insertions(+) + +diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h +index 7b352c5a451e..4d156e5ab2e8 100644 +--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h ++++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h +@@ -231,6 +231,8 @@ enum smu_table_id + { + SMU_TABLE_PPTABLE = 0, + SMU_TABLE_WATERMARKS, ++ SMU_TABLE_CUSTOM_DPM, ++ SMU_TABLE_DPMCLOCKS, + SMU_TABLE_AVFS, + SMU_TABLE_AVFS_PSM_DEBUG, + SMU_TABLE_AVFS_FUSE_OVERRIDE, +diff --git a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c +index 2580383ff49b..7c3dc150eaa3 100644 +--- a/drivers/gpu/drm/amd/powerplay/renoir_ppt.c ++++ b/drivers/gpu/drm/amd/powerplay/renoir_ppt.c +@@ -33,6 +33,12 @@ + #define MSG_MAP(msg, index) \ + [SMU_MSG_##msg] = {1, (index)} + ++#define TAB_MAP_VALID(tab) \ ++ [SMU_TABLE_##tab] = {1, TABLE_##tab} ++ ++#define TAB_MAP_INVALID(tab) \ ++ [SMU_TABLE_##tab] = {0, TABLE_##tab} ++ + static struct smu_12_0_cmn2aisc_mapping renoir_message_map[SMU_MSG_MAX_COUNT] = { + MSG_MAP(TestMessage, PPSMC_MSG_TestMessage), + MSG_MAP(GetSmuVersion, PPSMC_MSG_GetSmuVersion), +@@ -97,6 +103,13 @@ static struct smu_12_0_cmn2aisc_mapping renoir_message_map[SMU_MSG_MAX_COUNT] = + MSG_MAP(SetHardMinFclkByFreq, PPSMC_MSG_SetHardMinFclkByFreq), + }; + ++static struct smu_12_0_cmn2aisc_mapping renoir_table_map[SMU_TABLE_COUNT] = { ++ TAB_MAP_VALID(WATERMARKS), ++ TAB_MAP_INVALID(CUSTOM_DPM), ++ TAB_MAP_VALID(DPMCLOCKS), ++ TAB_MAP_VALID(SMU_METRICS), ++}; ++ + static int renoir_get_smu_msg_index(struct smu_context *smc, uint32_t index) + { + struct smu_12_0_cmn2aisc_mapping mapping; +@@ -111,9 +124,23 @@ static int renoir_get_smu_msg_index(struct smu_context *smc, uint32_t index) + return mapping.map_to; + } + ++static int renoir_get_smu_table_index(struct smu_context *smc, uint32_t index) ++{ ++ struct smu_12_0_cmn2aisc_mapping mapping; ++ ++ if (index >= SMU_TABLE_COUNT) ++ return -EINVAL; ++ ++ mapping = renoir_table_map[index]; ++ if (!(mapping.valid_mapping)) ++ return -EINVAL; ++ ++ return mapping.map_to; ++} + + static const struct pptable_funcs renoir_ppt_funcs = { + .get_smu_msg_index = renoir_get_smu_msg_index, ++ .get_smu_table_index = renoir_get_smu_table_index, + .set_power_state = NULL, + }; + +-- +2.17.1 + |