@@ -445,22 +445,19 @@ static uint64_t get_pte_flags(struct amdgpu_device *adev, struct kgd_mem *mem)
445445 mapping_flags |= AMDGPU_VM_MTYPE_UC ;
446446 } else if (mem -> alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM ) {
447447 if (bo_adev == adev ) {
448- mapping_flags |= AMDGPU_VM_MTYPE_RW ;
448+ mapping_flags |= coherent ?
449+ AMDGPU_VM_MTYPE_CC : AMDGPU_VM_MTYPE_RW ;
449450 if (adev -> gmc .xgmi .connected_to_cpu )
450451 snoop = true;
451452 } else {
452- mapping_flags |= AMDGPU_VM_MTYPE_NC ;
453+ mapping_flags |= AMDGPU_VM_MTYPE_UC ;
453454 if (amdgpu_xgmi_same_hive (adev , bo_adev ))
454455 snoop = true;
455456 }
456457 } else {
457458 snoop = true;
458- if (adev -> gmc .xgmi .connected_to_cpu )
459- /* system memory uses NC on A+A */
460- mapping_flags |= AMDGPU_VM_MTYPE_NC ;
461- else
462- mapping_flags |= coherent ?
463- AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC ;
459+ mapping_flags |= coherent ?
460+ AMDGPU_VM_MTYPE_UC : AMDGPU_VM_MTYPE_NC ;
464461 }
465462 break ;
466463 default :
@@ -1037,41 +1034,6 @@ static int init_kfd_vm(struct amdgpu_vm *vm, void **process_info,
10371034 return ret ;
10381035}
10391036
1040- int amdgpu_amdkfd_gpuvm_create_process_vm (struct kgd_dev * kgd , u32 pasid ,
1041- void * * vm , void * * process_info ,
1042- struct dma_fence * * ef )
1043- {
1044- struct amdgpu_device * adev = get_amdgpu_device (kgd );
1045- struct amdgpu_vm * new_vm ;
1046- int ret ;
1047-
1048- new_vm = kzalloc (sizeof (* new_vm ), GFP_KERNEL );
1049- if (!new_vm )
1050- return - ENOMEM ;
1051-
1052- /* Initialize AMDGPU part of the VM */
1053- ret = amdgpu_vm_init (adev , new_vm , AMDGPU_VM_CONTEXT_COMPUTE , pasid );
1054- if (ret ) {
1055- pr_err ("Failed init vm ret %d\n" , ret );
1056- goto amdgpu_vm_init_fail ;
1057- }
1058-
1059- /* Initialize KFD part of the VM and process info */
1060- ret = init_kfd_vm (new_vm , process_info , ef );
1061- if (ret )
1062- goto init_kfd_vm_fail ;
1063-
1064- * vm = (void * ) new_vm ;
1065-
1066- return 0 ;
1067-
1068- init_kfd_vm_fail :
1069- amdgpu_vm_fini (adev , new_vm );
1070- amdgpu_vm_init_fail :
1071- kfree (new_vm );
1072- return ret ;
1073- }
1074-
10751037int amdgpu_amdkfd_gpuvm_acquire_process_vm (struct kgd_dev * kgd ,
10761038 struct file * filp , u32 pasid ,
10771039 void * * vm , void * * process_info ,
@@ -1138,21 +1100,6 @@ void amdgpu_amdkfd_gpuvm_destroy_cb(struct amdgpu_device *adev,
11381100 }
11391101}
11401102
1141- void amdgpu_amdkfd_gpuvm_destroy_process_vm (struct kgd_dev * kgd , void * vm )
1142- {
1143- struct amdgpu_device * adev = get_amdgpu_device (kgd );
1144- struct amdgpu_vm * avm = (struct amdgpu_vm * )vm ;
1145-
1146- if (WARN_ON (!kgd || !vm ))
1147- return ;
1148-
1149- pr_debug ("Destroying process vm %p\n" , vm );
1150-
1151- /* Release the VM context */
1152- amdgpu_vm_fini (adev , avm );
1153- kfree (vm );
1154- }
1155-
11561103void amdgpu_amdkfd_gpuvm_release_process_vm (struct kgd_dev * kgd , void * vm )
11571104{
11581105 struct amdgpu_device * adev = get_amdgpu_device (kgd );
0 commit comments