From dd6040ab6e586759bba20224652e304eb5bb606e Mon Sep 17 00:00:00 2001 From: Bartosz Dunajski Date: Thu, 18 Apr 2024 09:10:17 +0000 Subject: [PATCH] refactor: improve exp extension names Related-To: NEO-8179 Signed-off-by: Bartosz Dunajski --- .../driver_experimental/public/zex_event.cpp | 4 +- .../driver_experimental/public/zex_event.h | 4 +- .../driver/driver_handle_imp_helper.cpp | 4 +- level_zero/core/source/event/event_impl.inl | 8 +-- .../sources/cmdlist/test_in_order_cmdlist.cpp | 22 ++++---- level_zero/include/ze_intel_gpu.h | 50 +++++++++---------- 6 files changed, 46 insertions(+), 46 deletions(-) diff --git a/level_zero/api/driver_experimental/public/zex_event.cpp b/level_zero/api/driver_experimental/public/zex_event.cpp index a362fec0d6..551f666eb4 100644 --- a/level_zero/api/driver_experimental/public/zex_event.cpp +++ b/level_zero/api/driver_experimental/public/zex_event.cpp @@ -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; } diff --git a/level_zero/api/driver_experimental/public/zex_event.h b/level_zero/api/driver_experimental/public/zex_event.h index 9b266f141a..59c7cd967b 100644 --- a/level_zero/api/driver_experimental/public/zex_event.h +++ b/level_zero/api/driver_experimental/public/zex_event.h @@ -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 diff --git a/level_zero/core/source/driver/driver_handle_imp_helper.cpp b/level_zero/core/source/driver/driver_handle_imp_helper.cpp index 7bb271ab35..47a122d2a3 100644 --- a/level_zero/core/source/driver/driver_handle_imp_helper.cpp +++ b/level_zero/core/source/driver/driver_handle_imp_helper.cpp @@ -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> 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 diff --git a/level_zero/core/source/event/event_impl.inl b/level_zero/core/source/event/event_impl.inl index 43cebc01a1..28e45aea35 100644 --- a/level_zero/core/source/event/event_impl.inl +++ b/level_zero/core/source/event/event_impl.inl @@ -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(extendedDesc); + if (extendedDesc && (extendedDesc->stype == ZEX_INTEL_STRUCTURE_TYPE_EVENT_SYNC_MODE_EXP_DESC)) { + auto eventSyncModeDesc = reinterpret_cast(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); diff --git a/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist.cpp b/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist.cpp index 5010a09aab..5e4c0af39d 100644 --- a/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist.cpp +++ b/level_zero/core/test/unit_tests/sources/cmdlist/test_in_order_cmdlist.cpp @@ -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(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(static_cast(Event::create(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(static_cast(Event::create(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(static_cast(Event::create(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(static_cast(Event::create(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(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(&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(&syncModeDesc)); EXPECT_EQ(syncModeDesc.externalInterruptId, event2->externalInterruptId); } diff --git a/level_zero/include/ze_intel_gpu.h b/level_zero/include/ze_intel_gpu.h index 12648105d9..39cf05520c 100644 --- a/level_zero/include/ze_intel_gpu.h +++ b/level_zero/include/ze_intel_gpu.h @@ -93,48 +93,48 @@ typedef struct _ze_intel_device_command_list_wait_on_memory_data_size_exp_desc_t uint32_t cmdListWaitOnMemoryDataSizeInBytes; /// 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; /// valid combination of ::ze_intel_event_sync_mode_exp_flag_t - uint32_t externalInterruptId; /// 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; /// valid combination of ::ze_intel_event_sync_mode_exp_flag_t + uint32_t externalInterruptId; /// 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"