Use correct virtual addresses in TBX CSR makeCoherent method

- cpu virtual address was used instead of gpu va
- this caused incorrect behaviour of TBX server when
special heap allocator assigning GPU addresses was used

Change-Id: I2328cf2441be797311fd6a3c7b331b0fff79d4fc
This commit is contained in:
Hoppe, Mateusz
2018-04-03 12:23:14 +02:00
committed by sys_ocldev
parent b56289a507
commit 4703417813
6 changed files with 28 additions and 7 deletions

View File

@@ -142,7 +142,9 @@ volatile uint32_t *CommandQueue::getHwTagAddress() const {
DEBUG_BREAK_IF(!this->device);
auto &commandStreamReceiver = device->getCommandStreamReceiver();
auto tag_address = commandStreamReceiver.getTagAddress();
commandStreamReceiver.makeCoherent((void *)tag_address, sizeof(tag_address));
auto allocation = commandStreamReceiver.getTagAllocation();
UNRECOVERABLE_IF(allocation == nullptr);
commandStreamReceiver.makeCoherent(*allocation);
return tag_address;
}