diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1656-drm-amdgpu-remove-the-unused-vm_manager-lock-the-vm_.patch b/common/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/common/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 + |