aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5203-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5203-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5203-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch320
1 files changed, 320 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5203-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5203-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch
new file mode 100644
index 00000000..64b2e22a
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5203-drm-amdgpu-switch-firmware-path-for-CIK-parts-v2.patch
@@ -0,0 +1,320 @@
+From 2056411d82c4ab5f03516b1163aa382b53b9fc2d 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 5203/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 dc6d0f5..83c6e71 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 6ebf95a..7c23719 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 2b41ed7..9bf0b24 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 e3d6ff1..725de42 100644
+--- a/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c
+@@ -50,8 +50,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[] =
+@@ -150,10 +150,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
+