refactor: improve exp extension names
Related-To: NEO-8179 Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
parent
329e944977
commit
dd6040ab6e
|
@ -59,11 +59,11 @@ zexCounterBasedEventCreate(ze_context_handle_t hContext, ze_device_handle_t hDev
|
|||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexAllocateMsix(ze_context_handle_t hContext, uint32_t &msixId) {
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexIntelAllocateNetworkInterrupt(ze_context_handle_t hContext, uint32_t &networkInterruptId) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexReleaseMsix(ze_context_handle_t hContext, uint32_t msixId) {
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexIntelReleaseNetworkInterrupt(ze_context_handle_t hContext, uint32_t networkInterruptId) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ zexCounterBasedEventCreate(
|
|||
const ze_event_desc_t *desc,
|
||||
ze_event_handle_t *phEvent);
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexAllocateMsix(ze_context_handle_t hContext, uint32_t &msixId);
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexIntelAllocateNetworkInterrupt(ze_context_handle_t hContext, uint32_t &networkInterruptId);
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexReleaseMsix(ze_context_handle_t hContext, uint32_t msixId);
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zexIntelReleaseNetworkInterrupt(ze_context_handle_t hContext, uint32_t networkInterruptId);
|
||||
|
||||
} // namespace L0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2023 Intel Corporation
|
||||
* Copyright (C) 2023-2024 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -33,6 +33,6 @@ const std::vector<std::pair<std::string, uint32_t>> DriverHandleImp::extensionsS
|
|||
{ZE_INTEL_DEVICE_MODULE_DP_PROPERTIES_EXP_NAME, ZE_INTEL_DEVICE_MODULE_DP_PROPERTIES_EXP_VERSION_CURRENT},
|
||||
{ZE_EVENT_POOL_COUNTER_BASED_EXP_NAME, ZE_EVENT_POOL_COUNTER_BASED_EXP_VERSION_CURRENT},
|
||||
{ZE_INTEL_COMMAND_LIST_MEMORY_SYNC, ZE_INTEL_COMMAND_LIST_MEMORY_SYNC_EXP_VERSION_CURRENT},
|
||||
{ZE_INTEL_EVENT_SYNC_MODE_EXP_NAME, ZE_INTEL_EVENT_SYNC_MODE_EXP_VERSION_CURRENT},
|
||||
{ZEX_INTEL_EVENT_SYNC_MODE_EXP_NAME, ZEX_INTEL_EVENT_SYNC_MODE_EXP_VERSION_CURRENT},
|
||||
};
|
||||
} // namespace L0
|
||||
|
|
|
@ -98,11 +98,11 @@ Event *Event::create(const EventDescriptor &eventDescriptor, const ze_event_desc
|
|||
bool interruptMode = false;
|
||||
bool kmdWaitMode = false;
|
||||
|
||||
if (extendedDesc && (extendedDesc->stype == ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC)) {
|
||||
auto eventSyncModeDesc = reinterpret_cast<const ze_intel_event_sync_mode_exp_desc_t *>(extendedDesc);
|
||||
if (extendedDesc && (extendedDesc->stype == ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC)) {
|
||||
auto eventSyncModeDesc = reinterpret_cast<const zex_intel_event_sync_mode_exp_desc_t *>(extendedDesc);
|
||||
|
||||
interruptMode = (eventSyncModeDesc->syncModeFlags & ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT);
|
||||
kmdWaitMode = (eventSyncModeDesc->syncModeFlags & ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT);
|
||||
interruptMode = (eventSyncModeDesc->syncModeFlags & ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT);
|
||||
kmdWaitMode = (eventSyncModeDesc->syncModeFlags & ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT);
|
||||
|
||||
if (kmdWaitMode) {
|
||||
event->setExternalInterruptId(eventSyncModeDesc->externalInterruptId);
|
||||
|
|
|
@ -55,9 +55,9 @@ HWTEST2_F(InOrderCmdListTests, givenDriverHandleWhenAskingForExtensionsThenRetur
|
|||
EXPECT_NE(it, extensionProperties.end());
|
||||
EXPECT_EQ((*it).version, ZE_INTEL_COMMAND_LIST_MEMORY_SYNC_EXP_VERSION_CURRENT);
|
||||
|
||||
it = std::find_if(extensionProperties.begin(), extensionProperties.end(), [](const auto &extension) { return (strcmp(extension.name, ZE_INTEL_EVENT_SYNC_MODE_EXP_NAME) == 0); });
|
||||
it = std::find_if(extensionProperties.begin(), extensionProperties.end(), [](const auto &extension) { return (strcmp(extension.name, ZEX_INTEL_EVENT_SYNC_MODE_EXP_NAME) == 0); });
|
||||
EXPECT_NE(it, extensionProperties.end());
|
||||
EXPECT_EQ((*it).version, ZE_INTEL_EVENT_SYNC_MODE_EXP_VERSION_CURRENT);
|
||||
EXPECT_EQ((*it).version, ZEX_INTEL_EVENT_SYNC_MODE_EXP_VERSION_CURRENT);
|
||||
}
|
||||
|
||||
HWTEST2_F(InOrderCmdListTests, givenCmdListWhenAskingForQwordDataSizeThenReturnFalse, IsAtLeastSkl) {
|
||||
|
@ -89,7 +89,7 @@ HWTEST2_F(InOrderCmdListTests, givenEventSyncModeDescPassedWhenCreatingEventThen
|
|||
|
||||
auto eventPool = std::unique_ptr<L0::EventPool>(EventPool::create(driverHandle.get(), context, 0, nullptr, &eventPoolDesc, returnValue));
|
||||
|
||||
ze_intel_event_sync_mode_exp_desc_t syncModeDesc = {ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC};
|
||||
zex_intel_event_sync_mode_exp_desc_t syncModeDesc = {ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC};
|
||||
ze_event_desc_t eventDesc = {};
|
||||
eventDesc.pNext = &syncModeDesc;
|
||||
|
||||
|
@ -100,31 +100,31 @@ HWTEST2_F(InOrderCmdListTests, givenEventSyncModeDescPassedWhenCreatingEventThen
|
|||
EXPECT_FALSE(event0->isKmdWaitModeEnabled());
|
||||
|
||||
eventDesc.index = 1;
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
|
||||
auto event1 = DestroyableZeUniquePtr<FixtureMockEvent>(static_cast<FixtureMockEvent *>(Event::create<typename FamilyType::TimestampPacketType>(eventPool.get(), &eventDesc, device)));
|
||||
EXPECT_TRUE(event1->isInterruptModeEnabled());
|
||||
EXPECT_FALSE(event1->isKmdWaitModeEnabled());
|
||||
|
||||
eventDesc.index = 2;
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
auto event2 = DestroyableZeUniquePtr<FixtureMockEvent>(static_cast<FixtureMockEvent *>(Event::create<typename FamilyType::TimestampPacketType>(eventPool.get(), &eventDesc, device)));
|
||||
EXPECT_FALSE(event2->isInterruptModeEnabled());
|
||||
EXPECT_TRUE(event2->isKmdWaitModeEnabled());
|
||||
|
||||
eventDesc.index = 3;
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT | ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT | ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
auto event3 = DestroyableZeUniquePtr<FixtureMockEvent>(static_cast<FixtureMockEvent *>(Event::create<typename FamilyType::TimestampPacketType>(eventPool.get(), &eventDesc, device)));
|
||||
EXPECT_TRUE(event3->isInterruptModeEnabled());
|
||||
EXPECT_TRUE(event3->isKmdWaitModeEnabled());
|
||||
|
||||
eventDesc.index = 4;
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
|
||||
syncModeDesc.externalInterruptId = 123;
|
||||
auto event4 = DestroyableZeUniquePtr<FixtureMockEvent>(static_cast<FixtureMockEvent *>(Event::create<typename FamilyType::TimestampPacketType>(eventPool.get(), &eventDesc, device)));
|
||||
EXPECT_EQ(0u, event4->externalInterruptId);
|
||||
|
||||
eventDesc.index = 5;
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
EXPECT_ANY_THROW(Event::create<typename FamilyType::TimestampPacketType>(eventPool.get(), &eventDesc, device));
|
||||
}
|
||||
|
||||
|
@ -3851,17 +3851,17 @@ HWTEST2_F(InOrderCmdListTests, givenStandaloneEventWhenCallingSynchronizeThenRet
|
|||
}
|
||||
|
||||
HWTEST2_F(InOrderCmdListTests, givenStandaloneCbEventWhenPassingExternalInterruptIdThenAssign, IsAtLeastSkl) {
|
||||
ze_intel_event_sync_mode_exp_desc_t syncModeDesc = {ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC};
|
||||
zex_intel_event_sync_mode_exp_desc_t syncModeDesc = {ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC};
|
||||
syncModeDesc.externalInterruptId = 123;
|
||||
|
||||
ze_event_desc_t eventDesc = {};
|
||||
eventDesc.pNext = &syncModeDesc;
|
||||
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT;
|
||||
auto event1 = createStandaloneCbEvent(reinterpret_cast<const ze_base_desc_t *>(&syncModeDesc));
|
||||
EXPECT_EQ(0u, event1->externalInterruptId);
|
||||
|
||||
syncModeDesc.syncModeFlags = ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
syncModeDesc.syncModeFlags = ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT;
|
||||
auto event2 = createStandaloneCbEvent(reinterpret_cast<const ze_base_desc_t *>(&syncModeDesc));
|
||||
EXPECT_EQ(syncModeDesc.externalInterruptId, event2->externalInterruptId);
|
||||
}
|
||||
|
|
|
@ -93,48 +93,48 @@ typedef struct _ze_intel_device_command_list_wait_on_memory_data_size_exp_desc_t
|
|||
uint32_t cmdListWaitOnMemoryDataSizeInBytes; /// <out> Defines supported data size for zexCommandListAppendWaitOnMemory[64] API
|
||||
} ze_intel_device_command_list_wait_on_memory_data_size_exp_desc_t;
|
||||
|
||||
#ifndef ZE_INTEL_EVENT_SYNC_MODE_EXP_NAME
|
||||
#ifndef ZEX_INTEL_EVENT_SYNC_MODE_EXP_NAME
|
||||
/// @brief Event sync mode extension name
|
||||
#define ZE_INTEL_EVENT_SYNC_MODE_EXP_NAME "ZE_intel_experimental_event_sync_mode"
|
||||
#define ZEX_INTEL_EVENT_SYNC_MODE_EXP_NAME "ZEX_intel_experimental_event_sync_mode"
|
||||
#endif // ZE_INTEL_EVENT_SYNC_MODE_EXP_NAME
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief Event sync mode extension Version(s)
|
||||
typedef enum _ze_intel_event_sync_mode_exp_version_t {
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_VERSION_1_0 = ZE_MAKE_VERSION(1, 0), ///< version 1.0
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_VERSION_CURRENT = ZE_MAKE_VERSION(1, 0), ///< latest known version
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_VERSION_FORCE_UINT32 = 0x7fffffff
|
||||
} ze_intel_event_sync_mode_exp_version_t;
|
||||
typedef enum _zex_intel_event_sync_mode_exp_version_t {
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_VERSION_1_0 = ZE_MAKE_VERSION(1, 0), ///< version 1.0
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_VERSION_CURRENT = ZE_MAKE_VERSION(1, 0), ///< latest known version
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_VERSION_FORCE_UINT32 = 0x7fffffff
|
||||
} zex_intel_event_sync_mode_exp_version_t;
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief Supported event sync mode flags
|
||||
typedef uint32_t ze_intel_event_sync_mode_exp_flags_t;
|
||||
typedef enum _ze_intel_event_sync_mode_exp_flag_t {
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT = ZE_BIT(0), ///< Low power host synchronization mode, for better CPU utilization
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT = ZE_BIT(1), ///< Generate interrupt when Event is signalled on Device
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_EXTERNAL_INTERRUPT_WAIT = ZE_BIT(2), ///< Host synchronization APIs wait for external interrupt. Can be used only for Events created via zexCounterBasedEventCreate
|
||||
ZE_INTEL_EVENT_SYNC_MODE_EXP_EXP_FLAG_FORCE_UINT32 = 0x7fffffff
|
||||
typedef uint32_t zex_intel_event_sync_mode_exp_flags_t;
|
||||
typedef enum _zex_intel_event_sync_mode_exp_flag_t {
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT = ZE_BIT(0), ///< Low power host synchronization mode, for better CPU utilization
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT = ZE_BIT(1), ///< Generate interrupt when Event is signalled on Device
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_EXTERNAL_INTERRUPT_WAIT = ZE_BIT(2), ///< Host synchronization APIs wait for external interrupt. Can be used only for Events created via zexCounterBasedEventCreate
|
||||
ZEX_INTEL_EVENT_SYNC_MODE_EXP_EXP_FLAG_FORCE_UINT32 = 0x7fffffff
|
||||
|
||||
} ze_intel_event_sync_mode_exp_flag_t;
|
||||
} zex_intel_event_sync_mode_exp_flag_t;
|
||||
|
||||
#ifndef ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC
|
||||
/// @brief stype for _ze_intel_event_sync_mode_exp_flag_t
|
||||
#define ZE_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC (ze_structure_type_t)0x00030016
|
||||
#ifndef ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC
|
||||
/// @brief stype for _zex_intel_event_sync_mode_exp_flag_t
|
||||
#define ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC (ze_structure_type_t)0x00030016
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief Extended descriptor for event sync mode
|
||||
///
|
||||
/// @details
|
||||
/// - Implementation must support ::ZE_intel_experimental_event_sync_mode extension
|
||||
/// - Implementation must support ::ZEX_intel_experimental_event_sync_mode extension
|
||||
/// - May be passed to ze_event_desc_t through pNext.
|
||||
typedef struct _ze_intel_event_sync_mode_exp_desc_t {
|
||||
ze_structure_type_t stype; ///< [in] type of this structure
|
||||
const void *pNext; ///< [in][optional] must be null or a pointer to an extension-specific
|
||||
///< structure (i.e. contains stype and pNext).
|
||||
ze_intel_event_sync_mode_exp_flags_t syncModeFlags; /// <in> valid combination of ::ze_intel_event_sync_mode_exp_flag_t
|
||||
uint32_t externalInterruptId; /// <in> External interrupt id. Used only when ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_EXTERNAL_INTERRUPT_WAIT flag is set
|
||||
} ze_intel_event_sync_mode_exp_desc_t;
|
||||
typedef struct _zex_intel_event_sync_mode_exp_desc_t {
|
||||
ze_structure_type_t stype; ///< [in] type of this structure
|
||||
const void *pNext; ///< [in][optional] must be null or a pointer to an extension-specific
|
||||
///< structure (i.e. contains stype and pNext).
|
||||
zex_intel_event_sync_mode_exp_flags_t syncModeFlags; /// <in> valid combination of ::ze_intel_event_sync_mode_exp_flag_t
|
||||
uint32_t externalInterruptId; /// <in> External interrupt id. Used only when ZEX_INTEL_EVENT_SYNC_MODE_EXP_FLAG_EXTERNAL_INTERRUPT_WAIT flag is set
|
||||
} zex_intel_event_sync_mode_exp_desc_t;
|
||||
|
||||
#if defined(__cplusplus)
|
||||
} // extern "C"
|
||||
|
|
Loading…
Reference in New Issue