aboutsummaryrefslogtreecommitdiffstats
path: root/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5184-drm-amdgpu-Remove-the-sriov-checking-and-add-firmwar.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5184-drm-amdgpu-Remove-the-sriov-checking-and-add-firmwar.patch')
-rw-r--r--meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5184-drm-amdgpu-Remove-the-sriov-checking-and-add-firmwar.patch122
1 files changed, 0 insertions, 122 deletions
diff --git a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5184-drm-amdgpu-Remove-the-sriov-checking-and-add-firmwar.patch b/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5184-drm-amdgpu-Remove-the-sriov-checking-and-add-firmwar.patch
deleted file mode 100644
index fbf29c59..00000000
--- a/meta-r1000/recipes-kernel/linux/linux-yocto-4.14.71/5184-drm-amdgpu-Remove-the-sriov-checking-and-add-firmwar.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 54c201258fcaba7753378e0770a46d6bb67e9b94 Mon Sep 17 00:00:00 2001
-From: Emily Deng <Emily.Deng@amd.com>
-Date: Fri, 17 Aug 2018 18:26:41 +0800
-Subject: [PATCH 5184/5725] drm/amdgpu: Remove the sriov checking and add
- firmware checking
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Unify bare metal and sriov, and add firmware checking for
-reg write and reg wait unify command.
-
-Signed-off-by: Emily Deng <Emily.Deng@amd.com>
-Acked-by: Christian König <christian.koenig@amd.com>
-Reviewed-and-Tested-by: Rex Zhu <Rex.Zhu@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h | 2 ++
- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 59 ++++++++++++++++++++++++++++++++-
- 2 files changed, 60 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
-index 53e9e2a..f172e92 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h
-@@ -274,6 +274,8 @@ struct amdgpu_gfx {
- uint32_t rlc_srls_feature_version;
- uint32_t mec_feature_version;
- uint32_t mec2_feature_version;
-+ bool mec_fw_write_wait;
-+ bool me_fw_write_wait;
- struct amdgpu_ring gfx_ring[AMDGPU_MAX_GFX_RINGS];
- unsigned num_gfx_rings;
- struct amdgpu_ring compute_ring[AMDGPU_MAX_COMPUTE_RINGS];
-diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-index 2b78ec4..7a95547 100644
---- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
-@@ -482,6 +482,59 @@ static void gfx_v9_0_init_rlc_ext_microcode(struct amdgpu_device *adev)
- le32_to_cpu(rlc_hdr->reg_list_format_direct_reg_list_length);
- }
-
-+static void gfx_v9_0_check_fw_write_wait(struct amdgpu_device *adev)
-+{
-+ adev->gfx.me_fw_write_wait = false;
-+ adev->gfx.mec_fw_write_wait = false;
-+
-+ switch (adev->asic_type) {
-+ case CHIP_VEGA10:
-+ if ((adev->gfx.me_fw_version >= 0x0000009c) &&
-+ (adev->gfx.me_feature_version >= 42) &&
-+ (adev->gfx.pfp_fw_version >= 0x000000b1) &&
-+ (adev->gfx.pfp_feature_version >= 42))
-+ adev->gfx.me_fw_write_wait = true;
-+
-+ if ((adev->gfx.mec_fw_version >= 0x00000193) &&
-+ (adev->gfx.mec_feature_version >= 42))
-+ adev->gfx.mec_fw_write_wait = true;
-+ break;
-+ case CHIP_VEGA12:
-+ if ((adev->gfx.me_fw_version >= 0x0000009c) &&
-+ (adev->gfx.me_feature_version >= 44) &&
-+ (adev->gfx.pfp_fw_version >= 0x000000b2) &&
-+ (adev->gfx.pfp_feature_version >= 44))
-+ adev->gfx.me_fw_write_wait = true;
-+
-+ if ((adev->gfx.mec_fw_version >= 0x00000196) &&
-+ (adev->gfx.mec_feature_version >= 44))
-+ adev->gfx.mec_fw_write_wait = true;
-+ break;
-+ case CHIP_VEGA20:
-+ if ((adev->gfx.me_fw_version >= 0x0000009c) &&
-+ (adev->gfx.me_feature_version >= 44) &&
-+ (adev->gfx.pfp_fw_version >= 0x000000b2) &&
-+ (adev->gfx.pfp_feature_version >= 44))
-+ adev->gfx.me_fw_write_wait = true;
-+
-+ if ((adev->gfx.mec_fw_version >= 0x00000197) &&
-+ (adev->gfx.mec_feature_version >= 44))
-+ adev->gfx.mec_fw_write_wait = true;
-+ break;
-+ case CHIP_RAVEN:
-+ if ((adev->gfx.me_fw_version >= 0x0000009c) &&
-+ (adev->gfx.me_feature_version >= 42) &&
-+ (adev->gfx.pfp_fw_version >= 0x000000b1) &&
-+ (adev->gfx.pfp_feature_version >= 42))
-+ adev->gfx.me_fw_write_wait = true;
-+
-+ if ((adev->gfx.mec_fw_version >= 0x00000192) &&
-+ (adev->gfx.mec_feature_version >= 42))
-+ adev->gfx.mec_fw_write_wait = true;
-+ break;
-+ }
-+}
-+
- static int gfx_v9_0_init_microcode(struct amdgpu_device *adev)
- {
- const char *chip_name;
-@@ -716,6 +769,7 @@ static int gfx_v9_0_init_microcode(struct amdgpu_device *adev)
- }
-
- out:
-+ gfx_v9_0_check_fw_write_wait(adev);
- if (err) {
- dev_err(adev->dev,
- "gfx9: Failed to load firmware \"%s\"\n",
-@@ -4366,8 +4420,11 @@ static void gfx_v9_0_ring_emit_reg_write_reg_wait(struct amdgpu_ring *ring,
- uint32_t ref, uint32_t mask)
- {
- int usepfp = (ring->funcs->type == AMDGPU_RING_TYPE_GFX);
-+ struct amdgpu_device *adev = ring->adev;
-+ bool fw_version_ok = (ring->funcs->type == AMDGPU_RING_TYPE_GFX) ?
-+ adev->gfx.me_fw_write_wait : adev->gfx.mec_fw_write_wait;
-
-- if (amdgpu_sriov_vf(ring->adev))
-+ if (fw_version_ok)
- gfx_v9_0_wait_reg_mem(ring, usepfp, 0, 1, reg0, reg1,
- ref, mask, 0x20);
- else
---
-2.7.4
-