diff --git a/core/helpers/preamble.h b/core/helpers/preamble.h index f88df5a2f1..a5bdb42193 100644 --- a/core/helpers/preamble.h +++ b/core/helpers/preamble.h @@ -81,8 +81,10 @@ struct L3CNTLRegisterOffset { }; namespace DebugModeRegisterOffset { -static constexpr uint32_t registerOffset = 0x20ec; -static constexpr uint32_t debugEnabledValue = (1 << 6) | (1 << 22); +template +constexpr uint32_t registerOffset = 0x20ec; +template +constexpr uint32_t debugEnabledValue = (1 << 6) | (1 << 22); }; // namespace DebugModeRegisterOffset namespace TdDebugControlRegisterOffset { diff --git a/core/helpers/preamble_base.inl b/core/helpers/preamble_base.inl index 77a4d3834a..ed16c3a2af 100644 --- a/core/helpers/preamble_base.inl +++ b/core/helpers/preamble_base.inl @@ -89,8 +89,8 @@ template void PreambleHelper::programKernelDebugging(LinearStream *pCommandStream) { auto pCmd = reinterpret_cast(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM))); *pCmd = GfxFamily::cmdInitLoadRegisterImm; - pCmd->setRegisterOffset(DebugModeRegisterOffset::registerOffset); - pCmd->setDataDword(DebugModeRegisterOffset::debugEnabledValue); + pCmd->setRegisterOffset(DebugModeRegisterOffset::registerOffset); + pCmd->setDataDword(DebugModeRegisterOffset::debugEnabledValue); auto pCmd2 = reinterpret_cast(pCommandStream->getSpace(sizeof(MI_LOAD_REGISTER_IMM))); *pCmd2 = GfxFamily::cmdInitLoadRegisterImm; diff --git a/core/unit_tests/preamble/preamble_tests.cpp b/core/unit_tests/preamble/preamble_tests.cpp index e154e56c56..1dc9498e63 100644 --- a/core/unit_tests/preamble/preamble_tests.cpp +++ b/core/unit_tests/preamble/preamble_tests.cpp @@ -9,6 +9,7 @@ #include "core/unit_tests/helpers/debug_manager_state_restore.h" #include "core/utilities/stackvec.h" #include "runtime/command_stream/preemption.h" +#include "runtime/gen11/reg_configs.h" #include "runtime/helpers/flat_batch_buffer_helper_hw.h" #include "test.h" #include "unit_tests/helpers/hw_parse.h" @@ -120,9 +121,8 @@ HWTEST_F(PreambleTest, whenKernelDebuggingCommandsAreProgrammedThenCorrectComman auto it = cmdList.begin(); MI_LOAD_REGISTER_IMM *pCmd = reinterpret_cast(*it); - EXPECT_EQ(DebugModeRegisterOffset::registerOffset, pCmd->getRegisterOffset()); - EXPECT_EQ(DebugModeRegisterOffset::debugEnabledValue, pCmd->getDataDword()); - + EXPECT_EQ(DebugModeRegisterOffset::registerOffset, pCmd->getRegisterOffset()); + EXPECT_EQ(DebugModeRegisterOffset::debugEnabledValue, pCmd->getDataDword()); it++; pCmd = reinterpret_cast(*it); diff --git a/runtime/gen11/reg_configs.h b/runtime/gen11/reg_configs.h index 76c5cd11d9..5a59cf6e37 100644 --- a/runtime/gen11/reg_configs.h +++ b/runtime/gen11/reg_configs.h @@ -23,6 +23,13 @@ struct L3CNTLRegisterOffset { static const uint32_t registerOffset = 0x7034; }; +namespace DebugModeRegisterOffset { +template <> +constexpr uint32_t registerOffset = 0x20d8; +template <> +constexpr uint32_t debugEnabledValue = (1 << 5) | (1 << 21); +}; // namespace DebugModeRegisterOffset + namespace gen11HdcModeRegister { const uint32_t address = 0xE5F4; const uint32_t forceNonCoherentEnableBit = 4;