diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4848-drm-amdgpu-switch-firmware-path-for-SI-parts.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4848-drm-amdgpu-switch-firmware-path-for-SI-parts.patch | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4848-drm-amdgpu-switch-firmware-path-for-SI-parts.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4848-drm-amdgpu-switch-firmware-path-for-SI-parts.patch new file mode 100644 index 00000000..32a0f318 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4848-drm-amdgpu-switch-firmware-path-for-SI-parts.patch @@ -0,0 +1,191 @@ +From ebe8951c35677696c279be3097e49a50e98324c8 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Mon, 2 Jul 2018 14:35:36 -0500 +Subject: [PATCH 4848/5725] drm/amdgpu: switch firmware path for SI parts +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 SI parts. + +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/gfx_v6_0.c | 56 +++++++++++++++++------------------ + drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c | 14 ++++----- + drivers/gpu/drm/amd/amdgpu/si_dpm.c | 22 +++++++------- + 3 files changed, 46 insertions(+), 46 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +index 0005f70..4518021 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gfx_v6_0.c +@@ -44,30 +44,30 @@ static void gfx_v6_0_set_ring_funcs(struct amdgpu_device *adev); + static void gfx_v6_0_set_irq_funcs(struct amdgpu_device *adev); + static void gfx_v6_0_get_cu_info(struct amdgpu_device *adev); + +-MODULE_FIRMWARE("radeon/tahiti_pfp.bin"); +-MODULE_FIRMWARE("radeon/tahiti_me.bin"); +-MODULE_FIRMWARE("radeon/tahiti_ce.bin"); +-MODULE_FIRMWARE("radeon/tahiti_rlc.bin"); +- +-MODULE_FIRMWARE("radeon/pitcairn_pfp.bin"); +-MODULE_FIRMWARE("radeon/pitcairn_me.bin"); +-MODULE_FIRMWARE("radeon/pitcairn_ce.bin"); +-MODULE_FIRMWARE("radeon/pitcairn_rlc.bin"); +- +-MODULE_FIRMWARE("radeon/verde_pfp.bin"); +-MODULE_FIRMWARE("radeon/verde_me.bin"); +-MODULE_FIRMWARE("radeon/verde_ce.bin"); +-MODULE_FIRMWARE("radeon/verde_rlc.bin"); +- +-MODULE_FIRMWARE("radeon/oland_pfp.bin"); +-MODULE_FIRMWARE("radeon/oland_me.bin"); +-MODULE_FIRMWARE("radeon/oland_ce.bin"); +-MODULE_FIRMWARE("radeon/oland_rlc.bin"); +- +-MODULE_FIRMWARE("radeon/hainan_pfp.bin"); +-MODULE_FIRMWARE("radeon/hainan_me.bin"); +-MODULE_FIRMWARE("radeon/hainan_ce.bin"); +-MODULE_FIRMWARE("radeon/hainan_rlc.bin"); ++MODULE_FIRMWARE("amdgpu/tahiti_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/tahiti_me.bin"); ++MODULE_FIRMWARE("amdgpu/tahiti_ce.bin"); ++MODULE_FIRMWARE("amdgpu/tahiti_rlc.bin"); ++ ++MODULE_FIRMWARE("amdgpu/pitcairn_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/pitcairn_me.bin"); ++MODULE_FIRMWARE("amdgpu/pitcairn_ce.bin"); ++MODULE_FIRMWARE("amdgpu/pitcairn_rlc.bin"); ++ ++MODULE_FIRMWARE("amdgpu/verde_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/verde_me.bin"); ++MODULE_FIRMWARE("amdgpu/verde_ce.bin"); ++MODULE_FIRMWARE("amdgpu/verde_rlc.bin"); ++ ++MODULE_FIRMWARE("amdgpu/oland_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/oland_me.bin"); ++MODULE_FIRMWARE("amdgpu/oland_ce.bin"); ++MODULE_FIRMWARE("amdgpu/oland_rlc.bin"); ++ ++MODULE_FIRMWARE("amdgpu/hainan_pfp.bin"); ++MODULE_FIRMWARE("amdgpu/hainan_me.bin"); ++MODULE_FIRMWARE("amdgpu/hainan_ce.bin"); ++MODULE_FIRMWARE("amdgpu/hainan_rlc.bin"); + + static u32 gfx_v6_0_get_csb_size(struct amdgpu_device *adev); + static void gfx_v6_0_get_csb_buffer(struct amdgpu_device *adev, volatile u32 *buffer); +@@ -335,7 +335,7 @@ static int gfx_v6_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; +@@ -346,7 +346,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) + adev->gfx.pfp_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); + adev->gfx.pfp_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); + +- 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; +@@ -357,7 +357,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) + adev->gfx.me_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); + adev->gfx.me_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); + +- 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; +@@ -368,7 +368,7 @@ static int gfx_v6_0_init_microcode(struct amdgpu_device *adev) + adev->gfx.ce_fw_version = le32_to_cpu(cp_hdr->header.ucode_version); + adev->gfx.ce_feature_version = le32_to_cpu(cp_hdr->ucode_feature_version); + +- 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_v6_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +index 1170699..b2ad0c2 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c +@@ -40,11 +40,11 @@ static void gmc_v6_0_set_gmc_funcs(struct amdgpu_device *adev); + static void gmc_v6_0_set_irq_funcs(struct amdgpu_device *adev); + static int gmc_v6_0_wait_for_idle(void *handle); + +-MODULE_FIRMWARE("radeon/tahiti_mc.bin"); +-MODULE_FIRMWARE("radeon/pitcairn_mc.bin"); +-MODULE_FIRMWARE("radeon/verde_mc.bin"); +-MODULE_FIRMWARE("radeon/oland_mc.bin"); +-MODULE_FIRMWARE("radeon/si58_mc.bin"); ++MODULE_FIRMWARE("amdgpu/tahiti_mc.bin"); ++MODULE_FIRMWARE("amdgpu/pitcairn_mc.bin"); ++MODULE_FIRMWARE("amdgpu/verde_mc.bin"); ++MODULE_FIRMWARE("amdgpu/oland_mc.bin"); ++MODULE_FIRMWARE("amdgpu/si58_mc.bin"); + + #define MC_SEQ_MISC0__MT__MASK 0xf0000000 + #define MC_SEQ_MISC0__MT__GDDR1 0x10000000 +@@ -133,9 +133,9 @@ static int gmc_v6_0_init_microcode(struct amdgpu_device *adev) + is_58_fw = true; + + if (is_58_fw) +- snprintf(fw_name, sizeof(fw_name), "radeon/si58_mc.bin"); ++ snprintf(fw_name, sizeof(fw_name), "amdgpu/si58_mc.bin"); + 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) + goto out; +diff --git a/drivers/gpu/drm/amd/amdgpu/si_dpm.c b/drivers/gpu/drm/amd/amdgpu/si_dpm.c +index 9567dd0..1026431 100644 +--- a/drivers/gpu/drm/amd/amdgpu/si_dpm.c ++++ b/drivers/gpu/drm/amd/amdgpu/si_dpm.c +@@ -56,16 +56,16 @@ + + #define BIOS_SCRATCH_4 0x5cd + +-MODULE_FIRMWARE("radeon/tahiti_smc.bin"); +-MODULE_FIRMWARE("radeon/pitcairn_smc.bin"); +-MODULE_FIRMWARE("radeon/pitcairn_k_smc.bin"); +-MODULE_FIRMWARE("radeon/verde_smc.bin"); +-MODULE_FIRMWARE("radeon/verde_k_smc.bin"); +-MODULE_FIRMWARE("radeon/oland_smc.bin"); +-MODULE_FIRMWARE("radeon/oland_k_smc.bin"); +-MODULE_FIRMWARE("radeon/hainan_smc.bin"); +-MODULE_FIRMWARE("radeon/hainan_k_smc.bin"); +-MODULE_FIRMWARE("radeon/banks_k_2_smc.bin"); ++MODULE_FIRMWARE("amdgpu/tahiti_smc.bin"); ++MODULE_FIRMWARE("amdgpu/pitcairn_smc.bin"); ++MODULE_FIRMWARE("amdgpu/pitcairn_k_smc.bin"); ++MODULE_FIRMWARE("amdgpu/verde_smc.bin"); ++MODULE_FIRMWARE("amdgpu/verde_k_smc.bin"); ++MODULE_FIRMWARE("amdgpu/oland_smc.bin"); ++MODULE_FIRMWARE("amdgpu/oland_k_smc.bin"); ++MODULE_FIRMWARE("amdgpu/hainan_smc.bin"); ++MODULE_FIRMWARE("amdgpu/hainan_k_smc.bin"); ++MODULE_FIRMWARE("amdgpu/banks_k_2_smc.bin"); + + static const struct amd_pm_funcs si_dpm_funcs; + +@@ -7664,7 +7664,7 @@ static int si_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; +-- +2.7.4 + |