From bbe7d051e38b0d5a8fe0fb5f4f8c4336a1d211a2 Mon Sep 17 00:00:00 2001 From: Lukasz Jobczyk Date: Thu, 20 Jul 2023 16:28:30 +0000 Subject: [PATCH] fix: Restore ULLS sfence on integrated devices Related-To: NEO-8067 Signed-off-by: Lukasz Jobczyk --- .../direct_submission/direct_submission_hw.inl | 1 - .../direct_submission_tests_2.cpp | 4 ++-- .../linux/drm_direct_submission_tests.cpp | 18 +++--------------- 3 files changed, 5 insertions(+), 18 deletions(-) diff --git a/shared/source/direct_submission/direct_submission_hw.inl b/shared/source/direct_submission/direct_submission_hw.inl index e29deaf9d9..04b7945349 100644 --- a/shared/source/direct_submission/direct_submission_hw.inl +++ b/shared/source/direct_submission/direct_submission_hw.inl @@ -64,7 +64,6 @@ DirectSubmissionHw::DirectSubmissionHw(const DirectSubmis if (hwInfo->capabilityTable.isIntegratedDevice) { miMemFenceRequired = false; - sfenceMode = DirectSubmissionSfenceMode::Disabled; } else { miMemFenceRequired = productHelper.isGlobalFenceInDirectSubmissionRequired(*hwInfo); } diff --git a/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp b/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp index 5a123fe087..1792a404ad 100644 --- a/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp +++ b/shared/test/unit_test/direct_submission/direct_submission_tests_2.cpp @@ -1009,7 +1009,7 @@ HWTEST_F(DirectSubmissionDispatchBufferTest, givenDebugFlagSetWhenDispatchingWor EXPECT_TRUE(directSubmission.dispatchCommandBuffer(batchBuffer, flushStamp)); - uint32_t expectedCount = (debugFlag == -1) ? (pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice ? 0 : 2) : static_cast(debugFlag); + uint32_t expectedCount = (debugFlag == -1) ? 2 : static_cast(debugFlag); EXPECT_EQ(initialCounterValue + expectedCount, CpuIntrinsicsTests::sfenceCounter); } @@ -1032,7 +1032,7 @@ HWTEST_F(DirectSubmissionDispatchBufferTest, givenDebugFlagSetWhenStoppingRingbu EXPECT_TRUE(directSubmission.stopRingBuffer(false)); - uint32_t expectedCount = (debugFlag == -1) ? (pDevice->getHardwareInfo().capabilityTable.isIntegratedDevice ? 0 : 2) : static_cast(debugFlag); + uint32_t expectedCount = (debugFlag == -1) ? 2 : static_cast(debugFlag); EXPECT_EQ(initialCounterValue + expectedCount, CpuIntrinsicsTests::sfenceCounter); } diff --git a/shared/test/unit_test/direct_submission/linux/drm_direct_submission_tests.cpp b/shared/test/unit_test/direct_submission/linux/drm_direct_submission_tests.cpp index 9cb38a9c53..4cd623cbc6 100644 --- a/shared/test/unit_test/direct_submission/linux/drm_direct_submission_tests.cpp +++ b/shared/test/unit_test/direct_submission/linux/drm_direct_submission_tests.cpp @@ -226,11 +226,7 @@ HWTEST_F(DrmDirectSubmissionTest, givenPciBarrierWhenCreateDirectSubmissionThenP MockDrmDirectSubmission> directSubmission(commandStreamReceiver); EXPECT_NE(nullptr, directSubmission.pciBarrierPtr); - if (device->getHardwareInfo().capabilityTable.isIntegratedDevice) { - EXPECT_EQ(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); - } else { - EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); - } + EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); EXPECT_FALSE(directSubmission.miMemFenceRequired); SysCalls::munmap(ptr, MemoryConstants::pageSize); @@ -251,11 +247,7 @@ HWTEST_F(DrmDirectSubmissionTest, givenPciBarrierWhenCreateDirectSubmissionAndMm MockDrmDirectSubmission> directSubmission(commandStreamReceiver); EXPECT_EQ(nullptr, directSubmission.pciBarrierPtr); - if (device->getHardwareInfo().capabilityTable.isIntegratedDevice) { - EXPECT_EQ(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); - } else { - EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); - } + EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); auto expectMiMemFence = device->getHardwareInfo().capabilityTable.isIntegratedDevice ? false : device->getRootDeviceEnvironment().getHelper().isGlobalFenceInDirectSubmissionRequired(device->getHardwareInfo()); EXPECT_EQ(directSubmission.miMemFenceRequired, expectMiMemFence); @@ -276,11 +268,7 @@ HWTEST_F(DrmDirectSubmissionTest, givenPciBarrierDisabledWhenCreateDirectSubmiss MockDrmDirectSubmission> directSubmission(commandStreamReceiver); EXPECT_EQ(nullptr, directSubmission.pciBarrierPtr); - if (device->getHardwareInfo().capabilityTable.isIntegratedDevice) { - EXPECT_EQ(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); - } else { - EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); - } + EXPECT_NE(DirectSubmissionSfenceMode::Disabled, directSubmission.sfenceMode); auto expectMiMemFence = device->getHardwareInfo().capabilityTable.isIntegratedDevice ? false : device->getRootDeviceEnvironment().getHelper().isGlobalFenceInDirectSubmissionRequired(device->getHardwareInfo()); EXPECT_EQ(directSubmission.miMemFenceRequired, expectMiMemFence);