aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1391-drm-amd-powerplay-implement-smu_run_afll_btc-functio.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1391-drm-amd-powerplay-implement-smu_run_afll_btc-functio.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1391-drm-amd-powerplay-implement-smu_run_afll_btc-functio.patch88
1 files changed, 88 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1391-drm-amd-powerplay-implement-smu_run_afll_btc-functio.patch b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1391-drm-amd-powerplay-implement-smu_run_afll_btc-functio.patch
new file mode 100644
index 00000000..97714e7c
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/1391-drm-amd-powerplay-implement-smu_run_afll_btc-functio.patch
@@ -0,0 +1,88 @@
+From b4bec0983019c1847ad42b1b7d78fff305c5c493 Mon Sep 17 00:00:00 2001
+From: Kevin Wang <Kevin1.Wang@amd.com>
+Date: Mon, 24 Dec 2018 18:17:15 +0800
+Subject: [PATCH 1391/2940] drm/amd/powerplay: implement smu_run_afll_btc
+ function
+
+Add smu_run_afll_btc function to send msg to smc to start run afll btc.
+
+Signed-off-by: Kevin Wang <Kevin1.Wang@amd.com>
+Reviewed-by: Huang Rui <ray.huang@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/amdgpu_smu.c | 6 ++++++
+ drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h | 3 +++
+ drivers/gpu/drm/amd/powerplay/vega20_ppt.c | 6 ++++++
+ 3 files changed, 15 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+index 773a388cc8fe..3ca3d1cd43d2 100644
+--- a/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
++++ b/drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
+@@ -232,6 +232,7 @@ static int smu_fini_fb_allocations(struct smu_context *smu)
+
+ return 0;
+ }
++
+ static int smu_smc_table_hw_init(struct smu_context *smu)
+ {
+ int ret;
+@@ -306,6 +307,11 @@ static int smu_smc_table_hw_init(struct smu_context *smu)
+ if (ret)
+ return ret;
+
++ /* issue RunAfllBtc msg */
++ ret = smu_run_afll_btc(smu);
++ if (ret)
++ return ret;
++
+ /*
+ * Set min deep sleep dce fclk with bootup value from vbios via
+ * SetMinDeepSleepDcefclk MSG.
+diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
+index a6189108e36c..984dbb2ee079 100644
+--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
++++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
+@@ -195,6 +195,7 @@ struct pptable_funcs {
+ int (*check_powerplay_table)(struct smu_context *smu);
+ int (*append_powerplay_table)(struct smu_context *smu);
+ int (*get_smu_msg_index)(struct smu_context *smu, uint32_t index);
++ int (*run_afll_btc)(struct smu_context *smu);
+ };
+
+ struct smu_funcs
+@@ -289,6 +290,8 @@ struct smu_funcs
+
+ #define smu_msg_get_index(smu, msg) \
+ ((smu)->ppt_funcs? ((smu)->ppt_funcs->get_smu_msg_index? (smu)->ppt_funcs->get_smu_msg_index((smu), (msg)) : -EINVAL) : -EINVAL)
++#define smu_run_afll_btc(smu) \
++ ((smu)->ppt_funcs? ((smu)->ppt_funcs->run_afll_btc? (smu)->ppt_funcs->run_afll_btc((smu)) : 0) : 0)
+
+ extern int smu_get_atom_data_table(struct smu_context *smu, uint32_t table,
+ uint16_t *size, uint8_t *frev, uint8_t *crev,
+diff --git a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
+index e2cac464240d..57d5f0b17df4 100644
+--- a/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
++++ b/drivers/gpu/drm/amd/powerplay/vega20_ppt.c
+@@ -273,12 +273,18 @@ static int vega20_check_powerplay_table(struct smu_context *smu)
+ return 0;
+ }
+
++static int vega20_run_btc_afll(struct smu_context *smu)
++{
++ return smu_send_smc_msg(smu, SMU_MSG_RunAfllBtc);
++}
++
+ static const struct pptable_funcs vega20_ppt_funcs = {
+ .alloc_dpm_context = vega20_allocate_dpm_context,
+ .store_powerplay_table = vega20_store_powerplay_table,
+ .check_powerplay_table = vega20_check_powerplay_table,
+ .append_powerplay_table = vega20_append_powerplay_table,
+ .get_smu_msg_index = vega20_get_smu_msg_index,
++ .run_afll_btc = vega20_run_btc_afll,
+ };
+
+ void vega20_set_ppt_funcs(struct smu_context *smu)
+--
+2.17.1
+