SWDEV-413997 - Cleanup fixes for Virtual Memory Management.

Change-Id: I9a4a4d9087b5daf15e3ba31e786d34db431212a1
Tá an tiomantas seo le fáil i:
kjayapra-amd údaraithe agus Karthik Jayaprakash tiomanta 2024-04-22 10:58:06 -04:00
1 tuismitheoir 0ccdb3e160
tiomantas 74ffc5f0d5
2 comhad athraithe
+4 -4

Níor tháinig aon chomhaid le do chuardach

+4 -3
Féach ar an gComhad
@@ -2605,12 +2605,13 @@ void VirtualGPU::submitVirtualMap(amd::VirtualMapCommand& vcmd) {
dispatchBarrierPacket(kBarrierPacketHeader, false);
Barriers().WaitCurrent();
amd::Memory* vaddr_sub_obj = amd::MemObjMap::FindMemObj(vcmd.ptr());
assert(vaddr_sub_obj != nullptr);
// Unmap the object, since the physical addr is set.
if ((hsa_status = hsa_amd_vmem_unmap(vaddr_base_obj->getSvmPtr(), vcmd.size()))
if ((hsa_status = hsa_amd_vmem_unmap(vaddr_sub_obj->getSvmPtr(), vcmd.size()))
== HSA_STATUS_SUCCESS) {
// assert the va is mapped and needs to be removed
amd::Memory* vaddr_sub_obj = amd::MemObjMap::FindMemObj(vcmd.ptr());
assert(vaddr_sub_obj != nullptr);
vaddr_sub_obj->getContext().devices()[0]->DestroyVirtualBuffer(vaddr_sub_obj);
amd::MemObjMap::RemoveMemObj(vcmd.ptr());
vaddr_sub_obj->getUserData().phys_mem_obj = nullptr;