aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/3711-drm-amdgpu-Add-helper-to-turn-an-existing-VM-into-a-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/3711-drm-amdgpu-Add-helper-to-turn-an-existing-VM-into-a-.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/3711-drm-amdgpu-Add-helper-to-turn-an-existing-VM-into-a-.patch64
1 files changed, 64 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/3711-drm-amdgpu-Add-helper-to-turn-an-existing-VM-into-a-.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/3711-drm-amdgpu-Add-helper-to-turn-an-existing-VM-into-a-.patch
new file mode 100644
index 00000000..38aa6cdb
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/3711-drm-amdgpu-Add-helper-to-turn-an-existing-VM-into-a-.patch
@@ -0,0 +1,64 @@
+From 8831a91499df85dfbe4972848ffa58ea4e9f69db Mon Sep 17 00:00:00 2001
+From: Felix Kuehling <Felix.Kuehling@amd.com>
+Date: Sat, 24 Feb 2018 18:26:47 -0500
+Subject: [PATCH 3711/4131] drm/amdgpu: Add helper to turn an existing VM into
+ a compute VM
+
+Change-Id: Ie7d1fe63c2d612765a62e9c4d57e361f21cf0d10
+Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
+
+Conflicts:
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 21 ++++-----------------
+ 1 file changed, 4 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+index f3b4241..5a78082 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+@@ -2385,7 +2385,7 @@ static void amdgpu_inc_compute_vms(struct amdgpu_device *adev)
+ /* First Compute VM: enable compute power profile */
+ if (adev->powerplay.pp_funcs->switch_power_profile)
+ amdgpu_dpm_switch_power_profile(adev,
+- PP_SMC_POWER_PROFILE_COMPUTE, true);
++ PP_SMC_POWER_PROFILE_COMPUTE);
+ }
+ mutex_unlock(&id_mgr->lock);
+ }
+@@ -2411,10 +2411,6 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
+ uint64_t flags;
+ int r, i;
+
+- /* Temporary use only the first VM manager */
+- unsigned vmhub = 0; /*ring->funcs->vmhub;*/
+- struct amdgpu_vmid_mgr *id_mgr = &adev->vm_manager.id_mgr[vmhub];
+-
+ vm->va = RB_ROOT_CACHED;
+ for (i = 0; i < AMDGPU_MAX_VMHUBS; i++)
+ vm->reserved_vmid[i] = NULL;
+@@ -2498,18 +2494,9 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm,
+ vm->fault_credit = 16;
+
+ vm->vm_context = vm_context;
+- if (vm_context == AMDGPU_VM_CONTEXT_COMPUTE) {
+- mutex_lock(&id_mgr->lock);
+-
+- if ((adev->vm_manager.n_compute_vms++ == 0) &&
+- (!amdgpu_sriov_vf(adev))) {
+- /* First Compute VM: enable compute power profile */
+- if (adev->powerplay.pp_funcs->switch_power_profile)
+- amdgpu_dpm_switch_power_profile(adev,
+- PP_SMC_POWER_PROFILE_COMPUTE, true);
+- }
+- mutex_unlock(&id_mgr->lock);
+- }
++
++ if (vm_context == AMDGPU_VM_CONTEXT_COMPUTE)
++ amdgpu_inc_compute_vms(adev);
+
+ return 0;
+
+--
+2.7.4
+