aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2994-drm-amd-pp-Get-and-save-Rv-smu-version.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2994-drm-amd-pp-Get-and-save-Rv-smu-version.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2994-drm-amd-pp-Get-and-save-Rv-smu-version.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2994-drm-amd-pp-Get-and-save-Rv-smu-version.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2994-drm-amd-pp-Get-and-save-Rv-smu-version.patch
new file mode 100644
index 00000000..bcc1cd45
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2994-drm-amd-pp-Get-and-save-Rv-smu-version.patch
@@ -0,0 +1,53 @@
+From ce9545042f32173f5c0fdfa982ea10dd6fa8d5eb Mon Sep 17 00:00:00 2001
+From: Rex Zhu <Rex.Zhu@amd.com>
+Date: Tue, 19 Dec 2017 14:08:54 +0800
+Subject: [PATCH 2994/4131] drm/amd/pp: Get and save Rv smu version
+
+The smu firmware is loaded by the sbios on APUs, so query it
+from the smu and save the smu fw version info that is reported
+to userspace.
+
+Change-Id: Ie659a8b6f5de8e560eadbfadd3675907546802ef
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 3 +++
+ drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c | 8 ++++++++
+ 2 files changed, 11 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+index 85d2149..13607e2 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+@@ -801,6 +801,9 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
+ else
+ strcpy(fw_name, "amdgpu/vega10_smc.bin");
+ break;
++ case CHIP_RAVEN:
++ adev->pm.fw_version = info->version;
++ return 0;
+ default:
+ DRM_ERROR("SMC firmware not supported\n");
+ return -EINVAL;
+diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c
+index b98ade6..2d662b4 100644
+--- a/drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c
++++ b/drivers/gpu/drm/amd/powerplay/smumgr/rv_smumgr.c
+@@ -305,6 +305,14 @@ static int rv_smu_fini(struct pp_hwmgr *hwmgr)
+
+ static int rv_start_smu(struct pp_hwmgr *hwmgr)
+ {
++ struct cgs_firmware_info info = {0};
++
++ smum_send_msg_to_smc(hwmgr, PPSMC_MSG_GetSmuVersion);
++ rv_read_arg_from_smc(hwmgr, &hwmgr->smu_version);
++ info.version = hwmgr->smu_version >> 8;
++
++ cgs_get_firmware_info(hwmgr->device, CGS_UCODE_ID_SMU, &info);
++
+ if (rv_verify_smc_interface(hwmgr))
+ return -EINVAL;
+ if (rv_smc_enable_sdma(hwmgr))
+--
+2.7.4
+