diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5608-drm-amdgpu-gmc8-always-load-MC-firmware-in-the-drive.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/5608-drm-amdgpu-gmc8-always-load-MC-firmware-in-the-drive.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5608-drm-amdgpu-gmc8-always-load-MC-firmware-in-the-drive.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5608-drm-amdgpu-gmc8-always-load-MC-firmware-in-the-drive.patch new file mode 100644 index 00000000..e461abec --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5608-drm-amdgpu-gmc8-always-load-MC-firmware-in-the-drive.patch @@ -0,0 +1,46 @@ +From b7a5a8408361ba9967e10e227a4d007b5926a9e4 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Wed, 28 Nov 2018 23:28:17 -0500 +Subject: [PATCH 5608/5725] drm/amdgpu/gmc8: always load MC firmware in the + driver + +Some power features rely on the driver loaded version so always +load the MC firmware from the driver even if the vbios loaded +a version already. + +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 9 +-------- + 1 file changed, 1 insertion(+), 8 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +index e729f38..9c1b2d3a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c ++++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c +@@ -365,7 +365,7 @@ static int gmc_v8_0_polaris_mc_load_microcode(struct amdgpu_device *adev) + const struct mc_firmware_header_v1_0 *hdr; + const __le32 *fw_data = NULL; + const __le32 *io_mc_regs = NULL; +- u32 data, vbios_version; ++ u32 data; + int i, ucode_size, regs_size; + + /* Skip MC ucode loading on SR-IOV capable boards. +@@ -376,13 +376,6 @@ static int gmc_v8_0_polaris_mc_load_microcode(struct amdgpu_device *adev) + if (amdgpu_sriov_bios(adev)) + return 0; + +- WREG32(mmMC_SEQ_IO_DEBUG_INDEX, 0x9F); +- data = RREG32(mmMC_SEQ_IO_DEBUG_DATA); +- vbios_version = data & 0xf; +- +- if (vbios_version == 0) +- return 0; +- + if (!adev->gmc.fw) + return -EINVAL; + +-- +2.7.4 + |