aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0934-drm-amd-amdgpu-Add-smc_sk-firmware-in-baffin-ellesme.patch
blob: f9782b6c2ebd982afce769dbe35dcf8eea4b086f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
From 34b371ae9b63f4c0ee28fcef5636c3a5f60bb2d6 Mon Sep 17 00:00:00 2001
From: yanyang1 <Young.Yang@amd.com>
Date: Fri, 5 Feb 2016 17:39:37 +0800
Subject: [PATCH 0934/1110] drm/amd/amdgpu: Add smc_sk firmware in baffin &
 ellesmere.

add CGS_UCODE_ID_SMU_SK.

Signed-off-by: yanyang1 <Young.Yang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c  | 12 +++++++++---
 drivers/gpu/drm/amd/include/cgs_common.h |  1 +
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
index 8bc4040..594159c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c
@@ -702,7 +702,7 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
 {
 	CGS_FUNC_ADEV;
 
-	if (CGS_UCODE_ID_SMU != type) {
+	if ((CGS_UCODE_ID_SMU != type) && (CGS_UCODE_ID_SMU_SK != type)) {
 		uint64_t gpu_addr;
 		uint32_t data_size;
 		const struct gfx_firmware_header_v1_0 *header;
@@ -743,10 +743,16 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
 			strcpy(fw_name, "amdgpu/fiji_smc.bin");
 			break;
 		case CHIP_BAFFIN:
-			strcpy(fw_name, "amdgpu/baffin_smc.bin");
+			if (type == CGS_UCODE_ID_SMU)
+				strcpy(fw_name, "amdgpu/baffin_smc.bin");
+			else if (type == CGS_UCODE_ID_SMU_SK)
+				strcpy(fw_name, "amdgpu/baffin_smc_sk.bin");
 			break;
 		case CHIP_ELLESMERE:
-			strcpy(fw_name, "amdgpu/ellesmere_smc.bin");
+			if (type == CGS_UCODE_ID_SMU)
+				strcpy(fw_name, "amdgpu/ellesmere_smc.bin");
+			else if (type == CGS_UCODE_ID_SMU_SK)
+				strcpy(fw_name, "amdgpu/ellesmere_smc_sk.bin");
 			break;
 		default:
 			DRM_ERROR("SMC firmware not supported\n");
diff --git a/drivers/gpu/drm/amd/include/cgs_common.h b/drivers/gpu/drm/amd/include/cgs_common.h
index ca1e229..7a3714b 100644
--- a/drivers/gpu/drm/amd/include/cgs_common.h
+++ b/drivers/gpu/drm/amd/include/cgs_common.h
@@ -94,6 +94,7 @@ enum cgs_voltage_planes {
  */
 enum cgs_ucode_id {
 	CGS_UCODE_ID_SMU = 0,
+	CGS_UCODE_ID_SMU_SK,
 	CGS_UCODE_ID_SDMA0,
 	CGS_UCODE_ID_SDMA1,
 	CGS_UCODE_ID_CP_CE,
-- 
2.7.4