mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 14:55:24 +08:00
Move L0HwHelper ownership to RootDeviceEnvironment 1/n
Related-To: NEO-6853 Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com> Use RootDeviceEnvironment getHelper<L0CoreHelper> for - setAdditionalGroupProperty - createEvent - isResumeWARequired
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
1bcceb1071
commit
aaa4e90ad4
@@ -406,10 +406,9 @@ void DebugSessionImp::applyResumeWa(uint8_t *bitmask, size_t bitmaskSize) {
|
||||
|
||||
UNRECOVERABLE_IF(bitmaskSize % 8 != 0);
|
||||
|
||||
auto hwInfo = connectedDevice->getHwInfo();
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto &l0CoreHelper = connectedDevice->getNEODevice()->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
|
||||
uint32_t *dwordBitmask = reinterpret_cast<uint32_t *>(bitmask);
|
||||
for (uint32_t i = 0; i < bitmaskSize / sizeof(uint32_t) - 1; i = i + 2) {
|
||||
@@ -426,9 +425,9 @@ bool DebugSessionImp::writeResumeCommand(const std::vector<EuThread::ThreadId> &
|
||||
|
||||
if (stateSaveAreaHeader->versionHeader.version.major < 2u) {
|
||||
auto &hwInfo = connectedDevice->getHwInfo();
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto &l0CoreHelper = connectedDevice->getNEODevice()->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
constexpr uint32_t sipResumeValue = 0x40000000;
|
||||
|
||||
bool isBindlessSip = (debugArea.reserved1 == 1);
|
||||
|
||||
@@ -60,13 +60,13 @@ TEST(DebugSessionTest, givenApplyResumeWaCalledThenWAIsApplied) {
|
||||
Mock<L0::DeviceImp> deviceImp(neoDevice, neoDevice->getExecutionEnvironment());
|
||||
|
||||
auto sessionMock = std::make_unique<MockDebugSession>(config, &deviceImp);
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
auto &l0CoreHelper = neoDevice->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
size_t bitmaskSize = 32;
|
||||
auto bitmask = std::make_unique<uint8_t[]>(bitmaskSize);
|
||||
bitmask.get()[0] = 1;
|
||||
sessionMock->applyResumeWa(bitmask.get(), bitmaskSize);
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
EXPECT_EQ(1, bitmask.get()[4]);
|
||||
} else {
|
||||
EXPECT_EQ(0, bitmask.get()[4]);
|
||||
@@ -918,11 +918,12 @@ TEST(DebugSessionTest, GivenBindlessSipVersion1AndResumeWARequiredWhenCallingRes
|
||||
zet_debug_config_t config = {};
|
||||
config.pid = 0x1234;
|
||||
auto hwInfo = *NEO::defaultHwInfo.get();
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
NEO::MockDevice *neoDevice(NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(&hwInfo, 0));
|
||||
Mock<L0::DeviceImp> deviceImp(neoDevice, neoDevice->getExecutionEnvironment());
|
||||
|
||||
auto &l0CoreHelper = neoDevice->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
auto sessionMock = std::make_unique<MockDebugSession>(config, &deviceImp);
|
||||
ASSERT_NE(nullptr, sessionMock);
|
||||
sessionMock->readRegistersResult = ZE_RESULT_SUCCESS;
|
||||
@@ -940,7 +941,7 @@ TEST(DebugSessionTest, GivenBindlessSipVersion1AndResumeWARequiredWhenCallingRes
|
||||
auto result = sessionMock->resume(thread);
|
||||
EXPECT_EQ(result, ZE_RESULT_SUCCESS);
|
||||
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
EXPECT_EQ(1u, sessionMock->readRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeResumeCommandCalled);
|
||||
@@ -961,11 +962,12 @@ TEST(DebugSessionTest, GivenErrorFromReadRegisterWhenResumingThreadThenRegisterI
|
||||
zet_debug_config_t config = {};
|
||||
config.pid = 0x1234;
|
||||
auto hwInfo = *NEO::defaultHwInfo.get();
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
NEO::MockDevice *neoDevice(NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(&hwInfo, 0));
|
||||
Mock<L0::DeviceImp> deviceImp(neoDevice, neoDevice->getExecutionEnvironment());
|
||||
|
||||
auto &l0CoreHelper = neoDevice->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
auto sessionMock = std::make_unique<MockDebugSession>(config, &deviceImp);
|
||||
ASSERT_NE(nullptr, sessionMock);
|
||||
sessionMock->readRegistersResult = ZE_RESULT_ERROR_UNKNOWN;
|
||||
@@ -982,7 +984,7 @@ TEST(DebugSessionTest, GivenErrorFromReadRegisterWhenResumingThreadThenRegisterI
|
||||
|
||||
auto result = sessionMock->resume(thread);
|
||||
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
EXPECT_EQ(1u, sessionMock->readRegistersCallCount);
|
||||
EXPECT_EQ(0u, sessionMock->writeRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeResumeCommandCalled);
|
||||
@@ -1006,11 +1008,12 @@ TEST(DebugSessionTest, GivenErrorFromWriteRegisterWhenResumingThreadThenRegister
|
||||
zet_debug_config_t config = {};
|
||||
config.pid = 0x1234;
|
||||
auto hwInfo = *NEO::defaultHwInfo.get();
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
NEO::MockDevice *neoDevice(NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(&hwInfo, 0));
|
||||
Mock<L0::DeviceImp> deviceImp(neoDevice, neoDevice->getExecutionEnvironment());
|
||||
|
||||
auto &l0CoreHelper = neoDevice->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
auto sessionMock = std::make_unique<MockDebugSession>(config, &deviceImp);
|
||||
ASSERT_NE(nullptr, sessionMock);
|
||||
sessionMock->readRegistersResult = ZE_RESULT_SUCCESS;
|
||||
@@ -1027,7 +1030,7 @@ TEST(DebugSessionTest, GivenErrorFromWriteRegisterWhenResumingThreadThenRegister
|
||||
|
||||
auto result = sessionMock->resume(thread);
|
||||
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
EXPECT_EQ(1u, sessionMock->readRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeResumeCommandCalled);
|
||||
@@ -1050,11 +1053,12 @@ TEST(DebugSessionTest, GivenNonBindlessSipVersion1AndResumeWARequiredWhenCalling
|
||||
zet_debug_config_t config = {};
|
||||
config.pid = 0x1234;
|
||||
auto hwInfo = *NEO::defaultHwInfo.get();
|
||||
auto &l0HwHelper = L0HwHelper::get(hwInfo.platform.eRenderCoreFamily);
|
||||
|
||||
NEO::MockDevice *neoDevice(NEO::MockDevice::createWithNewExecutionEnvironment<NEO::MockDevice>(&hwInfo, 0));
|
||||
Mock<L0::DeviceImp> deviceImp(neoDevice, neoDevice->getExecutionEnvironment());
|
||||
|
||||
auto &l0CoreHelper = neoDevice->getRootDeviceEnvironment().getHelper<L0CoreHelper>();
|
||||
|
||||
auto sessionMock = std::make_unique<MockDebugSession>(config, &deviceImp);
|
||||
ASSERT_NE(nullptr, sessionMock);
|
||||
sessionMock->readRegistersResult = ZE_RESULT_SUCCESS;
|
||||
@@ -1072,7 +1076,7 @@ TEST(DebugSessionTest, GivenNonBindlessSipVersion1AndResumeWARequiredWhenCalling
|
||||
auto result = sessionMock->resume(thread);
|
||||
EXPECT_EQ(result, ZE_RESULT_SUCCESS);
|
||||
|
||||
if (l0HwHelper.isResumeWARequired()) {
|
||||
if (l0CoreHelper.isResumeWARequired()) {
|
||||
EXPECT_EQ(1u, sessionMock->readRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeRegistersCallCount);
|
||||
EXPECT_EQ(1u, sessionMock->writeResumeCommandCalled);
|
||||
@@ -2307,7 +2311,7 @@ TEST(DebugSessionTest, GivenStoppedThreadWhenUnderInvalidConditionsThenSlmWriteF
|
||||
retVal = sessionMock->writeSLMMemory(threadId, &desc, writeSize, input);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_NOT_AVAILABLE, retVal);
|
||||
|
||||
desc.address = 0x1000000f; //force a read
|
||||
desc.address = 0x1000000f; // force a read
|
||||
retVal = sessionMock->writeSLMMemory(threadId, &desc, writeSize, input);
|
||||
EXPECT_EQ(ZE_RESULT_ERROR_NOT_AVAILABLE, retVal);
|
||||
sessionMock->slmCmdRegisterAccessReadyCount = 2;
|
||||
|
||||
Reference in New Issue
Block a user