aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Wang <Qingqing.Wang@amd.com>2016-02-03 06:16:54 -0500
committerAlex Deucher <alexander.deucher@amd.com>2016-02-02 22:54:10 -0500
commit429c45deae6e57f1bb91bfb05b671063fb0cef60 (patch)
tree8f228d439e44626314fd88b75cfc52e5b73f4aef
parente42d85261680edfc350a6c2a86b7fbb44a85014b (diff)
drm/amdgpu: iceland use CI based MC IP
Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Ken Wang <Qingqing.Wang@amd.com> Cc: stable@vger.kernel.org
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c10
-rw-r--r--drivers/gpu/drm/amd/amdgpu/vi.c7
2 files changed, 13 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
index 3f956065d069..069abc8ea31d 100644
--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
@@ -42,6 +42,7 @@ static void gmc_v7_0_set_irq_funcs(struct amdgpu_device *adev);
42 42
43MODULE_FIRMWARE("radeon/bonaire_mc.bin"); 43MODULE_FIRMWARE("radeon/bonaire_mc.bin");
44MODULE_FIRMWARE("radeon/hawaii_mc.bin"); 44MODULE_FIRMWARE("radeon/hawaii_mc.bin");
45MODULE_FIRMWARE("amdgpu/topaz_mc.bin");
45 46
46/** 47/**
47 * gmc8_mc_wait_for_idle - wait for MC idle callback. 48 * gmc8_mc_wait_for_idle - wait for MC idle callback.
@@ -132,13 +133,20 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev)
132 case CHIP_HAWAII: 133 case CHIP_HAWAII:
133 chip_name = "hawaii"; 134 chip_name = "hawaii";
134 break; 135 break;
136 case CHIP_TOPAZ:
137 chip_name = "topaz";
138 break;
135 case CHIP_KAVERI: 139 case CHIP_KAVERI:
136 case CHIP_KABINI: 140 case CHIP_KABINI:
137 return 0; 141 return 0;
138 default: BUG(); 142 default: BUG();
139 } 143 }
140 144
141 snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name); 145 if(adev->asic_type == CHIP_TOPAZ)
146 snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
147 else
148 snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name);
149
142 err = request_firmware(&adev->mc.fw, fw_name, adev->dev); 150 err = request_firmware(&adev->mc.fw, fw_name, adev->dev);
143 if (err) 151 if (err)
144 goto out; 152 goto out;
diff --git a/drivers/gpu/drm/amd/amdgpu/vi.c b/drivers/gpu/drm/amd/amdgpu/vi.c
index 652e76644c31..d94c625575b9 100644
--- a/drivers/gpu/drm/amd/amdgpu/vi.c
+++ b/drivers/gpu/drm/amd/amdgpu/vi.c
@@ -61,6 +61,7 @@
61#include "vi.h" 61#include "vi.h"
62#include "vi_dpm.h" 62#include "vi_dpm.h"
63#include "gmc_v8_0.h" 63#include "gmc_v8_0.h"
64#include "gmc_v7_0.h"
64#include "gfx_v8_0.h" 65#include "gfx_v8_0.h"
65#include "sdma_v2_4.h" 66#include "sdma_v2_4.h"
66#include "sdma_v3_0.h" 67#include "sdma_v3_0.h"
@@ -1109,10 +1110,10 @@ static const struct amdgpu_ip_block_version topaz_ip_blocks[] =
1109 }, 1110 },
1110 { 1111 {
1111 .type = AMD_IP_BLOCK_TYPE_GMC, 1112 .type = AMD_IP_BLOCK_TYPE_GMC,
1112 .major = 8, 1113 .major = 7,
1113 .minor = 0, 1114 .minor = 4,
1114 .rev = 0, 1115 .rev = 0,
1115 .funcs = &gmc_v8_0_ip_funcs, 1116 .funcs = &gmc_v7_0_ip_funcs,
1116 }, 1117 },
1117 { 1118 {
1118 .type = AMD_IP_BLOCK_TYPE_IH, 1119 .type = AMD_IP_BLOCK_TYPE_IH,