SWDEV-323702 - Use active queue for transfer

Pass active queue for transfers in the cache coherency layer.
That will allow to use device transfer queue only for
cases when active queue isn't available, because using device
transfer queue from another active queue may cause a deadlock

Change-Id: Ifbe7e0303b77dbf6eeda3939ffbc25a3df7472de
这个提交包含在:
German Andryeyev 于 2022-02-18 09:10:53 -05:00 提交
1 父节点 ffbd63e774
当前提交 95d55fdfa8
9 个文件已更改
+58 -48

没有与搜索条件相匹配的文件

+2 -2
查看文件
@@ -2044,7 +2044,7 @@ void VirtualGPU::submitMapMemory(amd::MapMemoryCommand& cmd) {
releaseGpuMemoryFence();
}
// Target is the backing store, so just ensure that owner is up-to-date
devMemory->owner()->cacheWriteBack();
devMemory->owner()->cacheWriteBack(this);
if (devMemory->isHostMemDirectAccess()) {
// Add memory to VA cache, so rutnime can detect direct access to VA
@@ -2464,7 +2464,7 @@ void VirtualGPU::submitMigrateMemObjects(amd::MigrateMemObjectsCommand& vcmd) {
// Make sure GPU finished operation before synchronization with the backing store
releaseGpuMemoryFence();
}
memory->mgpuCacheWriteBack();
memory->mgpuCacheWriteBack(*this);
} else if (vcmd.migrationFlags() & CL_MIGRATE_MEM_OBJECT_CONTENT_UNDEFINED) {
// Synchronize memory from host if necessary.
// The sync function will perform memory migration from