mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-12 00:59:38 +08:00
fix: get timestamp frequency from default engine in xe path
Related-To: NEO-11111 Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
d60d57b994
commit
27398c2b6f
@@ -532,6 +532,7 @@ TEST(IoctlHelperXeTest, whenCallingIoctlThenProperValueIsReturned) {
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
|
||||
auto mockXeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
|
||||
mockXeIoctlHelper->initialize();
|
||||
|
||||
drm.reset();
|
||||
{
|
||||
@@ -674,10 +675,9 @@ TEST(IoctlHelperXeTest, whenCallingIoctlThenProperValueIsReturned) {
|
||||
ret = mockXeIoctlHelper->ioctl(DrmIoctl::getparam, &test);
|
||||
EXPECT_EQ(-1, ret);
|
||||
test.param = static_cast<int>(DrmParam::paramCsTimestampFrequency);
|
||||
mockXeIoctlHelper->xeTimestampFrequency = 1;
|
||||
ret = mockXeIoctlHelper->ioctl(DrmIoctl::getparam, &test);
|
||||
EXPECT_EQ(0, ret);
|
||||
EXPECT_EQ(dstvalue, 1);
|
||||
EXPECT_EQ(static_cast<uint32_t>(dstvalue), DrmMockXe::mockTimestampFrequency);
|
||||
}
|
||||
EXPECT_THROW(mockXeIoctlHelper->ioctl(DrmIoctl::gemContextCreateExt, NULL), std::runtime_error);
|
||||
drm.reset();
|
||||
@@ -1599,37 +1599,6 @@ TEST(IoctlHelperXeTest, whenFillBindInfoForIpcHandleIsCalledThenBindInfoIsCorrec
|
||||
EXPECT_EQ(bindInfo.size, size);
|
||||
}
|
||||
|
||||
TEST(IoctlHelperXeTest, givenIoctlFailureWhenGetTimestampFrequencyIsCalledThenFalseIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
|
||||
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
|
||||
auto engineInfo = xeIoctlHelper->createEngineInfo(false);
|
||||
ASSERT_NE(nullptr, engineInfo);
|
||||
|
||||
drm.testMode(1, -1);
|
||||
uint64_t frequency;
|
||||
auto ret = xeIoctlHelper->getTimestampFrequency(frequency);
|
||||
EXPECT_EQ(false, ret);
|
||||
}
|
||||
|
||||
TEST(IoctlHelperXeTest, whenGetTimestampFrequencyIsCalledThenProperFrequencyIsSet) {
|
||||
DebugManagerStateRestore restorer;
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
DrmMockXe drm{*executionEnvironment->rootDeviceEnvironments[0]};
|
||||
auto xeIoctlHelper = std::make_unique<MockIoctlHelperXe>(drm);
|
||||
auto engineInfo = xeIoctlHelper->createEngineInfo(false);
|
||||
ASSERT_NE(nullptr, engineInfo);
|
||||
|
||||
uint32_t expectedFrequency = 100;
|
||||
xeIoctlHelper->xeTimestampFrequency = expectedFrequency;
|
||||
|
||||
uint64_t frequency = 0;
|
||||
auto ret = xeIoctlHelper->getTimestampFrequency(frequency);
|
||||
EXPECT_EQ(true, ret);
|
||||
EXPECT_EQ(expectedFrequency, frequency);
|
||||
}
|
||||
|
||||
TEST(IoctlHelperXeTest, givenIoctlFailureWhenSetGpuCpuTimesIsCalledThenFalseIsReturned) {
|
||||
DebugManagerStateRestore restorer;
|
||||
auto executionEnvironment = std::make_unique<MockExecutionEnvironment>();
|
||||
|
||||
@@ -45,7 +45,6 @@ struct MockIoctlHelperXe : IoctlHelperXe {
|
||||
using IoctlHelperXe::xeGetengineClassName;
|
||||
using IoctlHelperXe::xeGtListData;
|
||||
using IoctlHelperXe::xeShowBindTable;
|
||||
using IoctlHelperXe::xeTimestampFrequency;
|
||||
};
|
||||
|
||||
inline constexpr int testValueVmId = 0x5764;
|
||||
@@ -108,7 +107,7 @@ class DrmMockXe : public DrmMockCustom {
|
||||
0, // tile_id
|
||||
0, // gt_id
|
||||
{0}, // padding
|
||||
12500000, // reference_clock
|
||||
mockTimestampFrequency, // reference_clock
|
||||
0b100, // native mem regions
|
||||
0x011, // slow mem regions
|
||||
};
|
||||
@@ -117,7 +116,7 @@ class DrmMockXe : public DrmMockCustom {
|
||||
1, // tile_id
|
||||
1, // gt_id
|
||||
{0}, // padding
|
||||
12500000, // reference_clock
|
||||
mockTimestampFrequency, // reference_clock
|
||||
0b001, // native mem regions
|
||||
0x110, // slow mem regions
|
||||
};
|
||||
@@ -126,7 +125,7 @@ class DrmMockXe : public DrmMockCustom {
|
||||
0, // tile_id
|
||||
0, // gt_id
|
||||
{0}, // padding
|
||||
12500000, // reference_clock
|
||||
mockTimestampFrequency, // reference_clock
|
||||
0b010, // native mem regions
|
||||
0x101, // slow mem regions
|
||||
};
|
||||
@@ -320,7 +319,7 @@ class DrmMockXe : public DrmMockCustom {
|
||||
uint64_t queryConfig[6]{}; // 1 qword for num params and 1 qwords per param
|
||||
static constexpr uint32_t mockExecQueueId = 1234;
|
||||
static constexpr int32_t mockMaxExecQueuePriority = 3;
|
||||
|
||||
static constexpr uint32_t mockTimestampFrequency = 12500000;
|
||||
static_assert(sizeof(drm_xe_engine) == 4 * sizeof(uint64_t), "");
|
||||
uint64_t queryEngines[45]{}; // 1 qword for num engines and 4 qwords per engine
|
||||
static_assert(sizeof(drm_xe_mem_region) == 11 * sizeof(uint64_t), "");
|
||||
|
||||
Reference in New Issue
Block a user