aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0498-drm-amdgpu-Remove-the-direct-fw-loading-support-for-.patch b/common/recipes-kernel/linux/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/common/recipes-kernel/linux/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
+