aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2333-amd-powerplay-fix-the-issue-of-uclk-dpm.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2333-amd-powerplay-fix-the-issue-of-uclk-dpm.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2333-amd-powerplay-fix-the-issue-of-uclk-dpm.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2333-amd-powerplay-fix-the-issue-of-uclk-dpm.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2333-amd-powerplay-fix-the-issue-of-uclk-dpm.patch
new file mode 100644
index 00000000..f439cc65
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2333-amd-powerplay-fix-the-issue-of-uclk-dpm.patch
@@ -0,0 +1,43 @@
+From d2eff063b70b179f2c0f8917a126554f26f36dc0 Mon Sep 17 00:00:00 2001
+From: Kenneth Feng <kenneth.feng@amd.com>
+Date: Wed, 29 May 2019 23:20:24 -0500
+Subject: [PATCH 2333/2940] amd/powerplay: fix the issue of uclk dpm
+
+PPSMC_MSG_SetUclkFastSwitch message can be applied on vega20,
+but can't on navi10. This is the prerequisite of uclk dpm on
+navi10.
+
+Signed-off-by: Kenneth Feng <kenneth.feng@amd.com>
+Reviewed-by: Huang Rui <ray.huang@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/smu_v11_0.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+index 564b61af6c30..5d2e82ef250d 100644
+--- a/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
++++ b/drivers/gpu/drm/amd/powerplay/smu_v11_0.c
+@@ -327,7 +327,6 @@ static int smu_v11_0_setup_pptable(struct smu_context *smu)
+ hdr = (const struct smc_firmware_header_v1_0 *) adev->pm.fw->data;
+ version_major = le16_to_cpu(hdr->header.header_version_major);
+ version_minor = le16_to_cpu(hdr->header.header_version_minor);
+-
+ if (version_major == 2 && smu->smu_table.boot_values.pp_table_id > 0) {
+ switch (version_minor) {
+ case 0:
+@@ -900,8 +899,9 @@ static int smu_v11_0_notify_display_change(struct smu_context *smu)
+
+ if (!smu->pm_enabled)
+ return ret;
+- if (smu_feature_is_enabled(smu, SMU_FEATURE_DPM_UCLK_BIT))
+- ret = smu_send_smc_msg_with_param(smu, SMU_MSG_SetUclkFastSwitch, 1);
++ if (smu_feature_is_enabled(smu, SMU_FEATURE_DPM_UCLK_BIT) &&
++ smu->adev->gmc.vram_type == AMDGPU_VRAM_TYPE_HBM)
++ ret = smu_send_smc_msg_with_param(smu, SMU_MSG_SetUclkFastSwitch, 1);
+
+ return ret;
+ }
+--
+2.17.1
+