Fixed AUB capture in HW mode for umd-migrated shared allocations

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
This commit is contained in:
Milczarek, Slawomir
2022-03-30 11:08:22 +00:00
committed by Compute-Runtime-Automation
parent bce96e666f
commit 7cd4ca5ce7
2 changed files with 7 additions and 10 deletions

View File

@@ -119,9 +119,7 @@ inline void PageFaultManager::migrateStorageToCpuDomain(void *ptr, PageFaultData
}
void PageFaultManager::selectGpuDomainHandler() {
if (DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_AUB ||
DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_TBX ||
DebugManager.flags.SetCommandStreamReceiver.get() == CommandStreamReceiverType::CSR_TBX_WITH_AUB) {
if (DebugManager.flags.SetCommandStreamReceiver.get() > CommandStreamReceiverType::CSR_HW) {
this->gpuDomainHandler = &PageFaultManager::handleGpuDomainTransferForAubAndTbx;
}
}

View File

@@ -640,7 +640,8 @@ TEST_F(PageFaultManagerTest, givenUnifiedMemoryAllocWhenSetAubWritableIsCalledTh
TEST_F(PageFaultManagerTest, givenAubOrTbxCsrWhenSelectingHandlerThenAubAndTbxGpuDomainHandlerIsSet) {
DebugManagerStateRestore restorer;
for (auto csrType : {CommandStreamReceiverType::CSR_AUB, CommandStreamReceiverType::CSR_TBX, CommandStreamReceiverType::CSR_TBX_WITH_AUB}) {
for (auto csrType : {CommandStreamReceiverType::CSR_AUB, CommandStreamReceiverType::CSR_TBX,
CommandStreamReceiverType::CSR_HW_WITH_AUB, CommandStreamReceiverType::CSR_TBX_WITH_AUB}) {
DebugManager.flags.SetCommandStreamReceiver.set(csrType);
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
@@ -655,14 +656,12 @@ TEST_F(PageFaultManagerTest, givenHwCsrWhenSelectingHandlerThenHwGpuDomainHandle
EXPECT_EQ(pageFaultManager->getHwHandlerAddress(), reinterpret_cast<void *>(pageFaultManager->gpuDomainHandler));
for (auto csrType : {CommandStreamReceiverType::CSR_HW, CommandStreamReceiverType::CSR_HW_WITH_AUB}) {
DebugManager.flags.SetCommandStreamReceiver.set(csrType);
DebugManager.flags.SetCommandStreamReceiver.set(CommandStreamReceiverType::CSR_HW);
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
pageFaultManager2->selectGpuDomainHandler();
auto pageFaultManager2 = std::make_unique<MockPageFaultManager>();
pageFaultManager2->selectGpuDomainHandler();
EXPECT_EQ(pageFaultManager->gpuDomainHandler, reinterpret_cast<void *>(pageFaultManager2->gpuDomainHandler));
}
EXPECT_EQ(pageFaultManager->gpuDomainHandler, reinterpret_cast<void *>(pageFaultManager2->gpuDomainHandler));
}
struct PageFaultManagerTestWithDebugFlag : public ::testing::TestWithParam<uint32_t> {