aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/0918-drm-amdgpu-psp-Destroy-psp-ring-when-doing-gpu-reset.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0918-drm-amdgpu-psp-Destroy-psp-ring-when-doing-gpu-reset.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/0918-drm-amdgpu-psp-Destroy-psp-ring-when-doing-gpu-reset.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0918-drm-amdgpu-psp-Destroy-psp-ring-when-doing-gpu-reset.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0918-drm-amdgpu-psp-Destroy-psp-ring-when-doing-gpu-reset.patch
new file mode 100644
index 00000000..7918b31c
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0918-drm-amdgpu-psp-Destroy-psp-ring-when-doing-gpu-reset.patch
@@ -0,0 +1,36 @@
+From 45325a2ad1df0bb576feefd1081602df3defb5e5 Mon Sep 17 00:00:00 2001
+From: Xiangliang Yu <Xiangliang.Yu@amd.com>
+Date: Wed, 5 Dec 2018 14:36:33 +0800
+Subject: [PATCH 0918/2940] drm/amdgpu/psp: Destroy psp ring when doing gpu
+ reset
+
+PSP ring need to be destroy before starting reinit for vf.
+This patche move it from hypervisor driver into guest.
+
+Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
+Signed-off-by: Frank Min <Frank.Min@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+index 8ea9cab30b2f..b4fb084645b5 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+@@ -554,8 +554,10 @@ static int psp_load_fw(struct amdgpu_device *adev)
+ int ret;
+ struct psp_context *psp = &adev->psp;
+
+- if (amdgpu_sriov_vf(adev) && adev->in_gpu_reset != 0)
++ if (amdgpu_sriov_vf(adev) && adev->in_gpu_reset) {
++ psp_ring_destroy(psp, PSP_RING_TYPE__KM);
+ goto skip_memalloc;
++ }
+
+ psp->cmd = kzalloc(sizeof(struct psp_gfx_cmd_resp), GFP_KERNEL);
+ if (!psp->cmd)
+--
+2.17.1
+