fix: Retrieve tileIndex using gt_id
Related-To: NEO-11104 Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
parent
4dd1c80362
commit
06ea5944bd
|
@ -362,9 +362,8 @@ void DebugSessionLinuxXe::handleEvent(NEO::EuDebugEvent *event) {
|
|||
static_cast<uint32_t>(execQueuePlacements->numPlacements));
|
||||
|
||||
UNRECOVERABLE_IF(execQueuePlacements->numPlacements == 0);
|
||||
auto engine = reinterpret_cast<NEO::EngineClassInstance *>(&(execQueuePlacements->instances[0]));
|
||||
NEO::EngineClassInstance engineClassInstance = {engine->engineClass, engine->engineInstance};
|
||||
auto tileIndex = DrmHelper::getEngineTileIndex(connectedDevice, engineClassInstance);
|
||||
auto engine = reinterpret_cast<NEO::XeEngineClassInstance *>(&(execQueuePlacements->instances[0]));
|
||||
auto tileIndex = engine->gtId;
|
||||
|
||||
auto &vmToTile = clientHandleToConnection[execQueuePlacements->clientHandle]->vmToTile;
|
||||
if (vmToTile.find(execQueuePlacements->vmHandle) != vmToTile.end()) {
|
||||
|
|
|
@ -2871,7 +2871,7 @@ TEST_F(DebugApiLinuxTestXe, GivenExecQueuePlacementEventWhenHandlingThenVmToTile
|
|||
|
||||
EXPECT_NE(session->clientHandleToConnection[client1.clientHandle]->vmToTile.end(),
|
||||
session->clientHandleToConnection[client1.clientHandle]->vmToTile.find(vmHandle));
|
||||
EXPECT_EQ(0u, session->clientHandleToConnection[client1.clientHandle]->vmToTile[vmHandle]);
|
||||
EXPECT_EQ(1u, session->clientHandleToConnection[client1.clientHandle]->vmToTile[vmHandle]);
|
||||
}
|
||||
|
||||
TEST_F(DebugApiLinuxTestXe, GivenMultipleExecQueuePlacementEventForSameVmHandleWithDifferentTileIndexWhenHandlingThenErrorReported) {
|
||||
|
@ -2909,7 +2909,7 @@ TEST_F(DebugApiLinuxTestXe, GivenMultipleExecQueuePlacementEventForSameVmHandleW
|
|||
auto engineClassInstance = reinterpret_cast<drm_xe_engine_class_instance *>(&(execQueuePlacements->instances[0]));
|
||||
engineClassInstance[0].engine_class = 0;
|
||||
engineClassInstance[0].engine_instance = 1;
|
||||
engineClassInstance[0].gt_id = 1;
|
||||
engineClassInstance[0].gt_id = 0;
|
||||
|
||||
::testing::internal::CaptureStderr();
|
||||
session->handleEvent(&execQueuePlacements->base);
|
||||
|
|
|
@ -60,8 +60,8 @@ struct EuDebugEventExecQueuePlacements {
|
|||
uint64_t vmHandle;
|
||||
uint64_t execQueueHandle;
|
||||
uint64_t lrcHandle;
|
||||
uint64_t numPlacements;
|
||||
uint64_t pad;
|
||||
uint32_t numPlacements;
|
||||
uint32_t pad;
|
||||
uint64_t instances[];
|
||||
};
|
||||
|
||||
|
@ -160,6 +160,13 @@ struct DebugMetadataDestroy {
|
|||
uint32_t metadataId;
|
||||
};
|
||||
|
||||
struct XeEngineClassInstance {
|
||||
uint16_t engineClass;
|
||||
uint16_t engineInstance;
|
||||
uint16_t gtId;
|
||||
uint16_t pad;
|
||||
};
|
||||
|
||||
struct XeUserExtension {
|
||||
uint64_t nextExtension;
|
||||
uint32_t name;
|
||||
|
|
Loading…
Reference in New Issue