Commit ce206464 authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu: switch firmware path for CIK parts (v2)

Use separate firmware path for amdgpu to avoid conflicts
with radeon on CIK parts.

v2: squash in logic simplification (Alex)
Reviewed-by: default avatarChunming Zhou <david1.zhou@amd.com>
Reviewed-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 9fc15f5f
...@@ -314,17 +314,17 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, ...@@ -314,17 +314,17 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device,
(adev->pdev->revision == 0x81) || (adev->pdev->revision == 0x81) ||
(adev->pdev->device == 0x665f)) { (adev->pdev->device == 0x665f)) {
info->is_kicker = true; info->is_kicker = true;
strcpy(fw_name, "radeon/bonaire_k_smc.bin"); strcpy(fw_name, "amdgpu/bonaire_k_smc.bin");
} else { } else {
strcpy(fw_name, "radeon/bonaire_smc.bin"); strcpy(fw_name, "amdgpu/bonaire_smc.bin");
} }
break; break;
case CHIP_HAWAII: case CHIP_HAWAII:
if (adev->pdev->revision == 0x80) { if (adev->pdev->revision == 0x80) {
info->is_kicker = true; info->is_kicker = true;
strcpy(fw_name, "radeon/hawaii_k_smc.bin"); strcpy(fw_name, "amdgpu/hawaii_k_smc.bin");
} else { } else {
strcpy(fw_name, "radeon/hawaii_smc.bin"); strcpy(fw_name, "amdgpu/hawaii_smc.bin");
} }
break; break;
case CHIP_TOPAZ: case CHIP_TOPAZ:
......
...@@ -53,11 +53,11 @@ ...@@ -53,11 +53,11 @@
/* Firmware Names */ /* Firmware Names */
#ifdef CONFIG_DRM_AMDGPU_CIK #ifdef CONFIG_DRM_AMDGPU_CIK
#define FIRMWARE_BONAIRE "radeon/bonaire_uvd.bin" #define FIRMWARE_BONAIRE "amdgpu/bonaire_uvd.bin"
#define FIRMWARE_KABINI "radeon/kabini_uvd.bin" #define FIRMWARE_KABINI "amdgpu/kabini_uvd.bin"
#define FIRMWARE_KAVERI "radeon/kaveri_uvd.bin" #define FIRMWARE_KAVERI "amdgpu/kaveri_uvd.bin"
#define FIRMWARE_HAWAII "radeon/hawaii_uvd.bin" #define FIRMWARE_HAWAII "amdgpu/hawaii_uvd.bin"
#define FIRMWARE_MULLINS "radeon/mullins_uvd.bin" #define FIRMWARE_MULLINS "amdgpu/mullins_uvd.bin"
#endif #endif
#define FIRMWARE_TONGA "amdgpu/tonga_uvd.bin" #define FIRMWARE_TONGA "amdgpu/tonga_uvd.bin"
#define FIRMWARE_CARRIZO "amdgpu/carrizo_uvd.bin" #define FIRMWARE_CARRIZO "amdgpu/carrizo_uvd.bin"
......
...@@ -40,11 +40,11 @@ ...@@ -40,11 +40,11 @@
/* Firmware Names */ /* Firmware Names */
#ifdef CONFIG_DRM_AMDGPU_CIK #ifdef CONFIG_DRM_AMDGPU_CIK
#define FIRMWARE_BONAIRE "radeon/bonaire_vce.bin" #define FIRMWARE_BONAIRE "amdgpu/bonaire_vce.bin"
#define FIRMWARE_KABINI "radeon/kabini_vce.bin" #define FIRMWARE_KABINI "amdgpu/kabini_vce.bin"
#define FIRMWARE_KAVERI "radeon/kaveri_vce.bin" #define FIRMWARE_KAVERI "amdgpu/kaveri_vce.bin"
#define FIRMWARE_HAWAII "radeon/hawaii_vce.bin" #define FIRMWARE_HAWAII "amdgpu/hawaii_vce.bin"
#define FIRMWARE_MULLINS "radeon/mullins_vce.bin" #define FIRMWARE_MULLINS "amdgpu/mullins_vce.bin"
#endif #endif
#define FIRMWARE_TONGA "amdgpu/tonga_vce.bin" #define FIRMWARE_TONGA "amdgpu/tonga_vce.bin"
#define FIRMWARE_CARRIZO "amdgpu/carrizo_vce.bin" #define FIRMWARE_CARRIZO "amdgpu/carrizo_vce.bin"
......
...@@ -49,10 +49,10 @@ ...@@ -49,10 +49,10 @@
#include "gmc/gmc_7_1_d.h" #include "gmc/gmc_7_1_d.h"
#include "gmc/gmc_7_1_sh_mask.h" #include "gmc/gmc_7_1_sh_mask.h"
MODULE_FIRMWARE("radeon/bonaire_smc.bin"); MODULE_FIRMWARE("amdgpu/bonaire_smc.bin");
MODULE_FIRMWARE("radeon/bonaire_k_smc.bin"); MODULE_FIRMWARE("amdgpu/bonaire_k_smc.bin");
MODULE_FIRMWARE("radeon/hawaii_smc.bin"); MODULE_FIRMWARE("amdgpu/hawaii_smc.bin");
MODULE_FIRMWARE("radeon/hawaii_k_smc.bin"); MODULE_FIRMWARE("amdgpu/hawaii_k_smc.bin");
#define MC_CG_ARB_FREQ_F0 0x0a #define MC_CG_ARB_FREQ_F0 0x0a
#define MC_CG_ARB_FREQ_F1 0x0b #define MC_CG_ARB_FREQ_F1 0x0b
...@@ -5815,7 +5815,7 @@ static int ci_dpm_init_microcode(struct amdgpu_device *adev) ...@@ -5815,7 +5815,7 @@ static int ci_dpm_init_microcode(struct amdgpu_device *adev)
default: BUG(); default: BUG();
} }
snprintf(fw_name, sizeof(fw_name), "radeon/%s_smc.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_smc.bin", chip_name);
err = request_firmware(&adev->pm.fw, fw_name, adev->dev); err = request_firmware(&adev->pm.fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
......
...@@ -54,16 +54,16 @@ static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev); ...@@ -54,16 +54,16 @@ static void cik_sdma_set_buffer_funcs(struct amdgpu_device *adev);
static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev); static void cik_sdma_set_vm_pte_funcs(struct amdgpu_device *adev);
static int cik_sdma_soft_reset(void *handle); static int cik_sdma_soft_reset(void *handle);
MODULE_FIRMWARE("radeon/bonaire_sdma.bin"); MODULE_FIRMWARE("amdgpu/bonaire_sdma.bin");
MODULE_FIRMWARE("radeon/bonaire_sdma1.bin"); MODULE_FIRMWARE("amdgpu/bonaire_sdma1.bin");
MODULE_FIRMWARE("radeon/hawaii_sdma.bin"); MODULE_FIRMWARE("amdgpu/hawaii_sdma.bin");
MODULE_FIRMWARE("radeon/hawaii_sdma1.bin"); MODULE_FIRMWARE("amdgpu/hawaii_sdma1.bin");
MODULE_FIRMWARE("radeon/kaveri_sdma.bin"); MODULE_FIRMWARE("amdgpu/kaveri_sdma.bin");
MODULE_FIRMWARE("radeon/kaveri_sdma1.bin"); MODULE_FIRMWARE("amdgpu/kaveri_sdma1.bin");
MODULE_FIRMWARE("radeon/kabini_sdma.bin"); MODULE_FIRMWARE("amdgpu/kabini_sdma.bin");
MODULE_FIRMWARE("radeon/kabini_sdma1.bin"); MODULE_FIRMWARE("amdgpu/kabini_sdma1.bin");
MODULE_FIRMWARE("radeon/mullins_sdma.bin"); MODULE_FIRMWARE("amdgpu/mullins_sdma.bin");
MODULE_FIRMWARE("radeon/mullins_sdma1.bin"); MODULE_FIRMWARE("amdgpu/mullins_sdma1.bin");
u32 amdgpu_cik_gpu_check_soft_reset(struct amdgpu_device *adev); u32 amdgpu_cik_gpu_check_soft_reset(struct amdgpu_device *adev);
...@@ -132,9 +132,9 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev) ...@@ -132,9 +132,9 @@ static int cik_sdma_init_microcode(struct amdgpu_device *adev)
for (i = 0; i < adev->sdma.num_instances; i++) { for (i = 0; i < adev->sdma.num_instances; i++) {
if (i == 0) if (i == 0)
snprintf(fw_name, sizeof(fw_name), "radeon/%s_sdma.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_sdma.bin", chip_name);
else else
snprintf(fw_name, sizeof(fw_name), "radeon/%s_sdma1.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_sdma1.bin", chip_name);
err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev); err = request_firmware(&adev->sdma.instance[i].fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
......
...@@ -57,36 +57,36 @@ static void gfx_v7_0_set_ring_funcs(struct amdgpu_device *adev); ...@@ -57,36 +57,36 @@ static void gfx_v7_0_set_ring_funcs(struct amdgpu_device *adev);
static void gfx_v7_0_set_irq_funcs(struct amdgpu_device *adev); static void gfx_v7_0_set_irq_funcs(struct amdgpu_device *adev);
static void gfx_v7_0_set_gds_init(struct amdgpu_device *adev); static void gfx_v7_0_set_gds_init(struct amdgpu_device *adev);
MODULE_FIRMWARE("radeon/bonaire_pfp.bin"); MODULE_FIRMWARE("amdgpu/bonaire_pfp.bin");
MODULE_FIRMWARE("radeon/bonaire_me.bin"); MODULE_FIRMWARE("amdgpu/bonaire_me.bin");
MODULE_FIRMWARE("radeon/bonaire_ce.bin"); MODULE_FIRMWARE("amdgpu/bonaire_ce.bin");
MODULE_FIRMWARE("radeon/bonaire_rlc.bin"); MODULE_FIRMWARE("amdgpu/bonaire_rlc.bin");
MODULE_FIRMWARE("radeon/bonaire_mec.bin"); MODULE_FIRMWARE("amdgpu/bonaire_mec.bin");
MODULE_FIRMWARE("radeon/hawaii_pfp.bin"); MODULE_FIRMWARE("amdgpu/hawaii_pfp.bin");
MODULE_FIRMWARE("radeon/hawaii_me.bin"); MODULE_FIRMWARE("amdgpu/hawaii_me.bin");
MODULE_FIRMWARE("radeon/hawaii_ce.bin"); MODULE_FIRMWARE("amdgpu/hawaii_ce.bin");
MODULE_FIRMWARE("radeon/hawaii_rlc.bin"); MODULE_FIRMWARE("amdgpu/hawaii_rlc.bin");
MODULE_FIRMWARE("radeon/hawaii_mec.bin"); MODULE_FIRMWARE("amdgpu/hawaii_mec.bin");
MODULE_FIRMWARE("radeon/kaveri_pfp.bin"); MODULE_FIRMWARE("amdgpu/kaveri_pfp.bin");
MODULE_FIRMWARE("radeon/kaveri_me.bin"); MODULE_FIRMWARE("amdgpu/kaveri_me.bin");
MODULE_FIRMWARE("radeon/kaveri_ce.bin"); MODULE_FIRMWARE("amdgpu/kaveri_ce.bin");
MODULE_FIRMWARE("radeon/kaveri_rlc.bin"); MODULE_FIRMWARE("amdgpu/kaveri_rlc.bin");
MODULE_FIRMWARE("radeon/kaveri_mec.bin"); MODULE_FIRMWARE("amdgpu/kaveri_mec.bin");
MODULE_FIRMWARE("radeon/kaveri_mec2.bin"); MODULE_FIRMWARE("amdgpu/kaveri_mec2.bin");
MODULE_FIRMWARE("radeon/kabini_pfp.bin"); MODULE_FIRMWARE("amdgpu/kabini_pfp.bin");
MODULE_FIRMWARE("radeon/kabini_me.bin"); MODULE_FIRMWARE("amdgpu/kabini_me.bin");
MODULE_FIRMWARE("radeon/kabini_ce.bin"); MODULE_FIRMWARE("amdgpu/kabini_ce.bin");
MODULE_FIRMWARE("radeon/kabini_rlc.bin"); MODULE_FIRMWARE("amdgpu/kabini_rlc.bin");
MODULE_FIRMWARE("radeon/kabini_mec.bin"); MODULE_FIRMWARE("amdgpu/kabini_mec.bin");
MODULE_FIRMWARE("radeon/mullins_pfp.bin"); MODULE_FIRMWARE("amdgpu/mullins_pfp.bin");
MODULE_FIRMWARE("radeon/mullins_me.bin"); MODULE_FIRMWARE("amdgpu/mullins_me.bin");
MODULE_FIRMWARE("radeon/mullins_ce.bin"); MODULE_FIRMWARE("amdgpu/mullins_ce.bin");
MODULE_FIRMWARE("radeon/mullins_rlc.bin"); MODULE_FIRMWARE("amdgpu/mullins_rlc.bin");
MODULE_FIRMWARE("radeon/mullins_mec.bin"); MODULE_FIRMWARE("amdgpu/mullins_mec.bin");
static const struct amdgpu_gds_reg_offset amdgpu_gds_reg_offset[] = static const struct amdgpu_gds_reg_offset amdgpu_gds_reg_offset[] =
{ {
...@@ -925,7 +925,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -925,7 +925,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
default: BUG(); default: BUG();
} }
snprintf(fw_name, sizeof(fw_name), "radeon/%s_pfp.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_pfp.bin", chip_name);
err = request_firmware(&adev->gfx.pfp_fw, fw_name, adev->dev); err = request_firmware(&adev->gfx.pfp_fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
...@@ -933,7 +933,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -933,7 +933,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
if (err) if (err)
goto out; goto out;
snprintf(fw_name, sizeof(fw_name), "radeon/%s_me.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_me.bin", chip_name);
err = request_firmware(&adev->gfx.me_fw, fw_name, adev->dev); err = request_firmware(&adev->gfx.me_fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
...@@ -941,7 +941,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -941,7 +941,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
if (err) if (err)
goto out; goto out;
snprintf(fw_name, sizeof(fw_name), "radeon/%s_ce.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_ce.bin", chip_name);
err = request_firmware(&adev->gfx.ce_fw, fw_name, adev->dev); err = request_firmware(&adev->gfx.ce_fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
...@@ -949,7 +949,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -949,7 +949,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
if (err) if (err)
goto out; goto out;
snprintf(fw_name, sizeof(fw_name), "radeon/%s_mec.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec.bin", chip_name);
err = request_firmware(&adev->gfx.mec_fw, fw_name, adev->dev); err = request_firmware(&adev->gfx.mec_fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
...@@ -958,7 +958,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -958,7 +958,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
goto out; goto out;
if (adev->asic_type == CHIP_KAVERI) { if (adev->asic_type == CHIP_KAVERI) {
snprintf(fw_name, sizeof(fw_name), "radeon/%s_mec2.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mec2.bin", chip_name);
err = request_firmware(&adev->gfx.mec2_fw, fw_name, adev->dev); err = request_firmware(&adev->gfx.mec2_fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
...@@ -967,7 +967,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -967,7 +967,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev)
goto out; goto out;
} }
snprintf(fw_name, sizeof(fw_name), "radeon/%s_rlc.bin", chip_name); snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_rlc.bin", chip_name);
err = request_firmware(&adev->gfx.rlc_fw, fw_name, adev->dev); err = request_firmware(&adev->gfx.rlc_fw, fw_name, adev->dev);
if (err) if (err)
goto out; goto out;
......
...@@ -47,8 +47,8 @@ static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev); ...@@ -47,8 +47,8 @@ static void gmc_v7_0_set_gmc_funcs(struct amdgpu_device *adev);
static void gmc_v7_0_set_irq_funcs(struct amdgpu_device *adev); static void gmc_v7_0_set_irq_funcs(struct amdgpu_device *adev);
static int gmc_v7_0_wait_for_idle(void *handle); static int gmc_v7_0_wait_for_idle(void *handle);
MODULE_FIRMWARE("radeon/bonaire_mc.bin"); MODULE_FIRMWARE("amdgpu/bonaire_mc.bin");
MODULE_FIRMWARE("radeon/hawaii_mc.bin"); MODULE_FIRMWARE("amdgpu/hawaii_mc.bin");
MODULE_FIRMWARE("amdgpu/topaz_mc.bin"); MODULE_FIRMWARE("amdgpu/topaz_mc.bin");
static const u32 golden_settings_iceland_a11[] = static const u32 golden_settings_iceland_a11[] =
...@@ -147,10 +147,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev) ...@@ -147,10 +147,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev)
default: BUG(); default: BUG();
} }
if (adev->asic_type == CHIP_TOPAZ) snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name);
else
snprintf(fw_name, sizeof(fw_name), "radeon/%s_mc.bin", chip_name);
err = request_firmware(&adev->gmc.fw, fw_name, adev->dev); err = request_firmware(&adev->gmc.fw, fw_name, adev->dev);
if (err) if (err)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment