diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch new file mode 100644 index 00000000..3c03f0d1 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux-4.19/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch @@ -0,0 +1,78 @@ +From 57025864a8efc5716490e91683c32534e9c263bf Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Tue, 9 Oct 2018 18:46:12 +0800 +Subject: [PATCH 0498/2940] drm/amdgpu: Remove the direct fw loading support + for sdma2.4 + +sdma2.4 is only for iceland. For Vi, we don't maintain the +direct fw loading. + +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c | 42 -------------------------- + 1 file changed, 42 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +index cd781abc4953..2d4770e173dd 100644 +--- a/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c ++++ b/drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c +@@ -504,41 +504,6 @@ static int sdma_v2_4_rlc_resume(struct amdgpu_device *adev) + return 0; + } + +-/** +- * sdma_v2_4_load_microcode - load the sDMA ME ucode +- * +- * @adev: amdgpu_device pointer +- * +- * Loads the sDMA0/1 ucode. +- * Returns 0 for success, -EINVAL if the ucode is not available. +- */ +-static int sdma_v2_4_load_microcode(struct amdgpu_device *adev) +-{ +- const struct sdma_firmware_header_v1_0 *hdr; +- const __le32 *fw_data; +- u32 fw_size; +- int i, j; +- +- /* halt the MEs */ +- sdma_v2_4_enable(adev, false); +- +- for (i = 0; i < adev->sdma.num_instances; i++) { +- if (!adev->sdma.instance[i].fw) +- return -EINVAL; +- hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data; +- amdgpu_ucode_print_sdma_hdr(&hdr->header); +- fw_size = le32_to_cpu(hdr->header.ucode_size_bytes) / 4; +- fw_data = (const __le32 *) +- (adev->sdma.instance[i].fw->data + +- le32_to_cpu(hdr->header.ucode_array_offset_bytes)); +- WREG32(mmSDMA0_UCODE_ADDR + sdma_offsets[i], 0); +- for (j = 0; j < fw_size; j++) +- WREG32(mmSDMA0_UCODE_DATA + sdma_offsets[i], le32_to_cpup(fw_data++)); +- WREG32(mmSDMA0_UCODE_ADDR + sdma_offsets[i], adev->sdma.instance[i].fw_version); +- } +- +- return 0; +-} + + /** + * sdma_v2_4_start - setup and start the async dma engines +@@ -552,13 +517,6 @@ static int sdma_v2_4_start(struct amdgpu_device *adev) + { + int r; + +- +- if (adev->firmware.load_type == AMDGPU_FW_LOAD_DIRECT) { +- r = sdma_v2_4_load_microcode(adev); +- if (r) +- return r; +- } +- + /* halt the engine before programing */ + sdma_v2_4_enable(adev, false); + +-- +2.17.1 + |