aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch57
1 files changed, 57 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch
new file mode 100644
index 00000000..d2124e73
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch
@@ -0,0 +1,57 @@
+From fb19121ee88e9eefac4009d8b5218d9831427a82 Mon Sep 17 00:00:00 2001
+From: Evan Quan <evan.quan@amd.com>
+Date: Thu, 13 Apr 2017 14:43:58 +0800
+Subject: [PATCH 1656/4131] drm/amdgpu: remove the unused vm_manager lock - the
+ vm_manager lock was removed by "drm/amdgpu: split VMID management by VMHUB" -
+ fine granularity lock was introduced stead
+
+Change-Id: I5bfb4e1d1ad41b30f0bd2f1d6a4cb412eadf127b
+Signed-off-by: Evan Quan <evan.quan@amd.com>
+Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
+Reviewed-by: Yong Zhao <Yong.Zhao@amd.com>
+
+ Conflicts:
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+index c300397..fb68019 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+@@ -2601,7 +2601,6 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
+
+ vm->vm_context = vm_context;
+ if (vm_context == AMDGPU_VM_CONTEXT_COMPUTE) {
+- mutex_lock(&adev->vm_manager.lock);
+
+ if (adev->vm_manager.n_compute_vms++ == 0) {
+ /* First Compute VM: enable compute power profile */
+@@ -2612,7 +2611,6 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
+ adev->pm.funcs->switch_power_profile(adev,
+ AMD_PP_COMPUTE_PROFILE);
+ }
+- mutex_unlock(&adev->vm_manager.lock);
+ }
+
+ return 0;
+@@ -2671,7 +2669,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
+ int i;
+
+ if (vm->vm_context == AMDGPU_VM_CONTEXT_COMPUTE) {
+- mutex_lock(&adev->vm_manager.lock);
+
+ WARN(adev->vm_manager.n_compute_vms == 0, "Unbalanced number of Compute VMs");
+
+@@ -2684,7 +2681,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
+ adev->pm.funcs->switch_power_profile(adev,
+ AMD_PP_GFX_PROFILE);
+ }
+- mutex_unlock(&adev->vm_manager.lock);
+ }
+
+ amd_sched_entity_fini(vm->entity.sched, &vm->entity);
+--
+2.7.4
+