SWDEV-413997 - Cleanup fixes for Virtual Memory Management.

Change-Id: I9a4a4d9087b5daf15e3ba31e786d34db431212a1
This commit is contained in:
kjayapra-amd authored and Karthik Jayaprakash committed 2024-04-22 10:58:06 -04:00
1 orang tua 0ccdb3e160
melakukan 74ffc5f0d5
2 files changed
+4 -4

No files matched your search

+4 -3
Melihat File
@@ -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;