diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4847-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4847-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch | 320 |
1 files changed, 320 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4847-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4847-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch new file mode 100644 index 00000000..88fab65a --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4847-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch @@ -0,0 +1,320 @@ +From 2a8cf751841f8bdc1fb51b20c752b6e7b4abd4f1 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Mon, 2 Jul 2018 14:32:28 -0500 +Subject: [PATCH 4847/5725] drm/amdgpu: switch firmware path for CIK parts (v2) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Use separate firmware path for amdgpu to avoid conflicts +with radeon on CIK parts. + +v2: squash in logic simplification (Alex) + +Reviewed-by: Chunming Zhou <david1.zhou@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c | 8 ++-- + drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 10 ++--- + drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 10 ++--- + drivers/gpu/drm/amd/amdgpu/ci_dpm.c | 10 ++--- + drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 24 +++++------ + drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c | 72 ++++++++++++++++----------------- + drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c | 9 ++--- + 7 files changed, 70 insertions(+), 73 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +index e950730..693ec5e 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cgs.c +@@ -314,17 +314,17 @@ static int amdgpu_cgs_get_firmware_info(struct cgs_device *cgs_device, + (adev->pdev->revision == 0x81) || + (adev->pdev->device == 0x665f)) { + info->is_kicker = true; +- strcpy(fw_name, "radeon/bonaire_k_smc.bin"); ++ strcpy(fw_name, "amdgpu/bonaire_k_smc.bin"); + } else { +- strcpy(fw_name, "radeon/bonaire_smc.bin"); ++ strcpy(fw_name, "amdgpu/bonaire_smc.bin"); + } + break; + case CHIP_HAWAII: + if (adev->pdev->revision == 0x80) { + info->is_kicker = true; +- strcpy(fw_name, "radeon/hawaii_k_smc.bin"); ++ strcpy(fw_name, "amdgpu/hawaii_k_smc.bin"); + } else { +- strcpy(fw_name, "radeon/hawaii_smc.bin"); ++ strcpy(fw_name, "amdgpu/hawaii_smc.bin"); + } + break; + case CHIP_TOPAZ: +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +index 212fec7..1db0845 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c +@@ -53,11 +53,11 @@ + + /* Firmware Names */ + #ifdef CONFIG_DRM_AMDGPU_CIK +-#define FIRMWARE_BONAIRE "radeon/bonaire_uvd.bin" +-#define FIRMWARE_KABINI "radeon/kabini_uvd.bin" +-#define FIRMWARE_KAVERI "radeon/kaveri_uvd.bin" +-#define FIRMWARE_HAWAII "radeon/hawaii_uvd.bin" +-#define FIRMWARE_MULLINS "radeon/mullins_uvd.bin" ++#define FIRMWARE_BONAIRE "amdgpu/bonaire_uvd.bin" ++#define FIRMWARE_KABINI "amdgpu/kabini_uvd.bin" ++#define FIRMWARE_KAVERI "amdgpu/kaveri_uvd.bin" ++#define FIRMWARE_HAWAII "amdgpu/hawaii_uvd.bin" ++#define FIRMWARE_MULLINS "amdgpu/mullins_uvd.bin" + #endif + #define FIRMWARE_TONGA "amdgpu/tonga_uvd.bin" + #define FIRMWARE_CARRIZO "amdgpu/carrizo_uvd.bin" +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +index acad299..b2a4cdb 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c +@@ -40,11 +40,11 @@ + + /* Firmware Names */ + #ifdef CONFIG_DRM_AMDGPU_CIK +-#define FIRMWARE_BONAIRE "radeon/bonaire_vce.bin" +-#define FIRMWARE_KABINI "radeon/kabini_vce.bin" +-#define FIRMWARE_KAVERI "radeon/kaveri_vce.bin" +-#define FIRMWARE_HAWAII "radeon/hawaii_vce.bin" +-#define FIRMWARE_MULLINS "radeon/mullins_vce.bin" ++#define FIRMWARE_BONAIRE "amdgpu/bonaire_vce.bin" ++#define FIRMWARE_KABINI "amdgpu/kabini_vce.bin" ++#define FIRMWARE_KAVERI "amdgpu/kaveri_vce.bin" ++#define FIRMWARE_HAWAII "amdgpu/hawaii_vce.bin" ++#define FIRMWARE_MULLINS "amdgpu/mullins_vce.bin" + #endif + #define FIRMWARE_TONGA "amdgpu/tonga_vce.bin" + #define FIRMWARE_CARRIZO "amdgpu/carrizo_vce.bin" +diff --git a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c +index 85b3f46..caaaabf 100644 +--- a/drivers/gpu/drm/amd/amdgpu/ci_dpm.c ++++ b/drivers/gpu/drm/amd/amdgpu/ci_dpm.c +@@ -49,10 +49,10 @@ + #include "gmc/gmc_7_1_d.h" + #include "gmc/gmc_7_1_sh_mask.h" + +-MODULE_FIRMWARE("radeon/bonaire_smc.bin"); +-MODULE_FIRMWARE("radeon/bonaire_k_smc.bin"); +-MODULE_FIRMWARE("radeon/hawaii_smc.bin"); +-MODULE_FIRMWARE("radeon/hawaii_k_smc.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_smc.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_k_smc.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_smc.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_k_smc.bin"); + + #define MC_CG_ARB_FREQ_F0 0x0a + #define MC_CG_ARB_FREQ_F1 0x0b +@@ -5814,7 +5814,7 @@ static int ci_dpm_init_microcode(struct amdgpu_device *adev) + 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); + if (err) + goto out; +diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +index 1543e7e..e1b56e7 100644 +--- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c ++++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +@@ -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 int cik_sdma_soft_reset(void *handle); + +-MODULE_FIRMWARE("radeon/bonaire_sdma.bin"); +-MODULE_FIRMWARE("radeon/bonaire_sdma1.bin"); +-MODULE_FIRMWARE("radeon/hawaii_sdma.bin"); +-MODULE_FIRMWARE("radeon/hawaii_sdma1.bin"); +-MODULE_FIRMWARE("radeon/kaveri_sdma.bin"); +-MODULE_FIRMWARE("radeon/kaveri_sdma1.bin"); +-MODULE_FIRMWARE("radeon/kabini_sdma.bin"); +-MODULE_FIRMWARE("radeon/kabini_sdma1.bin"); +-MODULE_FIRMWARE("radeon/mullins_sdma.bin"); +-MODULE_FIRMWARE("radeon/mullins_sdma1.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_sdma.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_sdma1.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_sdma.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_sdma1.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_sdma.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_sdma1.bin"); ++MODULE_FIRMWARE("amdgpu/kabini_sdma.bin"); ++MODULE_FIRMWARE("amdgpu/kabini_sdma1.bin"); ++MODULE_FIRMWARE("amdgpu/mullins_sdma.bin"); ++MODULE_FIRMWARE("amdgpu/mullins_sdma1.bin"); + + 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) + + for (i = 0; i < adev->sdma.num_instances; i++) { + 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 +- 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); + if (err) + goto out; +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +index 703803f..46dfa24 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v7_0.c +@@ -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_gds_init(struct amdgpu_device *adev); + +-MODULE_FIRMWARE("radeon/bonaire_pfp.bin"); +-MODULE_FIRMWARE("radeon/bonaire_me.bin"); +-MODULE_FIRMWARE("radeon/bonaire_ce.bin"); +-MODULE_FIRMWARE("radeon/bonaire_rlc.bin"); +-MODULE_FIRMWARE("radeon/bonaire_mec.bin"); +- +-MODULE_FIRMWARE("radeon/hawaii_pfp.bin"); +-MODULE_FIRMWARE("radeon/hawaii_me.bin"); +-MODULE_FIRMWARE("radeon/hawaii_ce.bin"); +-MODULE_FIRMWARE("radeon/hawaii_rlc.bin"); +-MODULE_FIRMWARE("radeon/hawaii_mec.bin"); +- +-MODULE_FIRMWARE("radeon/kaveri_pfp.bin"); +-MODULE_FIRMWARE("radeon/kaveri_me.bin"); +-MODULE_FIRMWARE("radeon/kaveri_ce.bin"); +-MODULE_FIRMWARE("radeon/kaveri_rlc.bin"); +-MODULE_FIRMWARE("radeon/kaveri_mec.bin"); +-MODULE_FIRMWARE("radeon/kaveri_mec2.bin"); +- +-MODULE_FIRMWARE("radeon/kabini_pfp.bin"); +-MODULE_FIRMWARE("radeon/kabini_me.bin"); +-MODULE_FIRMWARE("radeon/kabini_ce.bin"); +-MODULE_FIRMWARE("radeon/kabini_rlc.bin"); +-MODULE_FIRMWARE("radeon/kabini_mec.bin"); +- +-MODULE_FIRMWARE("radeon/mullins_pfp.bin"); +-MODULE_FIRMWARE("radeon/mullins_me.bin"); +-MODULE_FIRMWARE("radeon/mullins_ce.bin"); +-MODULE_FIRMWARE("radeon/mullins_rlc.bin"); +-MODULE_FIRMWARE("radeon/mullins_mec.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_me.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_ce.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_rlc.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_mec.bin"); ++ ++MODULE_FIRMWARE("amdgpu/hawaii_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_me.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_ce.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_rlc.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_mec.bin"); ++ ++MODULE_FIRMWARE("amdgpu/kaveri_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_me.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_ce.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_rlc.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_mec.bin"); ++MODULE_FIRMWARE("amdgpu/kaveri_mec2.bin"); ++ ++MODULE_FIRMWARE("amdgpu/kabini_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/kabini_me.bin"); ++MODULE_FIRMWARE("amdgpu/kabini_ce.bin"); ++MODULE_FIRMWARE("amdgpu/kabini_rlc.bin"); ++MODULE_FIRMWARE("amdgpu/kabini_mec.bin"); ++ ++MODULE_FIRMWARE("amdgpu/mullins_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/mullins_me.bin"); ++MODULE_FIRMWARE("amdgpu/mullins_ce.bin"); ++MODULE_FIRMWARE("amdgpu/mullins_rlc.bin"); ++MODULE_FIRMWARE("amdgpu/mullins_mec.bin"); + + 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) + 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); + if (err) + goto out; +@@ -933,7 +933,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + if (err) + 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); + if (err) + goto out; +@@ -941,7 +941,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + if (err) + 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); + if (err) + goto out; +@@ -949,7 +949,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + if (err) + 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); + if (err) + goto out; +@@ -958,7 +958,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + goto out; + + 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); + if (err) + goto out; +@@ -967,7 +967,7 @@ static int gfx_v7_0_init_microcode(struct amdgpu_device *adev) + 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); + if (err) + goto out; +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +index 22707a4..4fd4081 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c +@@ -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 int gmc_v7_0_wait_for_idle(void *handle); + +-MODULE_FIRMWARE("radeon/bonaire_mc.bin"); +-MODULE_FIRMWARE("radeon/hawaii_mc.bin"); ++MODULE_FIRMWARE("amdgpu/bonaire_mc.bin"); ++MODULE_FIRMWARE("amdgpu/hawaii_mc.bin"); + MODULE_FIRMWARE("amdgpu/topaz_mc.bin"); + + static const u32 golden_settings_iceland_a11[] = +@@ -147,10 +147,7 @@ static int gmc_v7_0_init_microcode(struct amdgpu_device *adev) + default: BUG(); + } + +- if (adev->asic_type == CHIP_TOPAZ) +- 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); ++ snprintf(fw_name, sizeof(fw_name), "amdgpu/%s_mc.bin", chip_name); + + err = request_firmware(&adev->gmc.fw, fw_name, adev->dev); + if (err) +-- +2.7.4 + |