feature(sysman): Added implementation for zesVFManagementGetVFCapabilitiesExp2
As zesVFManagementGetVFCapabilitiesExp has been deprecated, added the implementation for zesVFManagementGetVFCapabilitiesExp2 Related-To: NEO-13525 Signed-off-by: Pratik Bari <pratik.bari@intel.com>
This commit is contained in:
parent
272edeabe6
commit
245aa0cb59
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2020-2024 Intel Corporation
|
||||
* Copyright (C) 2020-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -402,6 +402,7 @@ zesGetVFManagementExpProcAddrTable(
|
|||
fillDdiEntry(pDdiTable->pfnGetVFCapabilitiesExp, L0::zesVFManagementGetVFCapabilitiesExp, version, ZE_API_VERSION_1_11);
|
||||
fillDdiEntry(pDdiTable->pfnGetVFMemoryUtilizationExp2, L0::zesVFManagementGetVFMemoryUtilizationExp2, version, ZE_API_VERSION_1_11);
|
||||
fillDdiEntry(pDdiTable->pfnGetVFEngineUtilizationExp2, L0::zesVFManagementGetVFEngineUtilizationExp2, version, ZE_API_VERSION_1_11);
|
||||
fillDdiEntry(pDdiTable->pfnGetVFCapabilitiesExp2, L0::zesVFManagementGetVFCapabilitiesExp2, version, ZE_API_VERSION_1_12);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2020-2024 Intel Corporation
|
||||
* Copyright (C) 2020-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -909,9 +909,9 @@ ze_result_t zesVFManagementGetVFCapabilitiesExp(
|
|||
zes_vf_handle_t hVFhandle,
|
||||
zes_vf_exp_capabilities_t *pCapability) {
|
||||
if (L0::sysmanInitFromCore) {
|
||||
return L0::VfManagement::fromHandle(hVFhandle)->vfGetCapabilities(pCapability);
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
} else if (L0::Sysman::sysmanOnlyInit) {
|
||||
return L0::Sysman::VfManagement::fromHandle(hVFhandle)->vfGetCapabilities(pCapability);
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
} else {
|
||||
return ZE_RESULT_ERROR_UNINITIALIZED;
|
||||
}
|
||||
|
@ -943,6 +943,18 @@ ze_result_t zesVFManagementGetVFEngineUtilizationExp2(
|
|||
}
|
||||
}
|
||||
|
||||
ze_result_t zesVFManagementGetVFCapabilitiesExp2(
|
||||
zes_vf_handle_t hVFhandle,
|
||||
zes_vf_exp2_capabilities_t *pCapability) {
|
||||
if (L0::sysmanInitFromCore) {
|
||||
return L0::VfManagement::fromHandle(hVFhandle)->vfGetCapabilities(pCapability);
|
||||
} else if (L0::Sysman::sysmanOnlyInit) {
|
||||
return L0::Sysman::VfManagement::fromHandle(hVFhandle)->vfGetCapabilities(pCapability);
|
||||
} else {
|
||||
return ZE_RESULT_ERROR_UNINITIALIZED;
|
||||
}
|
||||
}
|
||||
|
||||
ze_result_t zesDeviceEnumMemoryModules(
|
||||
zes_device_handle_t hDevice,
|
||||
uint32_t *pCount,
|
||||
|
@ -2129,6 +2141,12 @@ ZE_APIEXPORT ze_result_t ZE_APICALL zesVFManagementGetVFEngineUtilizationExp2(
|
|||
return L0::zesVFManagementGetVFEngineUtilizationExp2(hVFhandle, pCount, pEngineUtil);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zesVFManagementGetVFCapabilitiesExp2(
|
||||
zes_vf_handle_t hVFhandle,
|
||||
zes_vf_exp2_capabilities_t *pCapability) {
|
||||
return L0::zesVFManagementGetVFCapabilitiesExp2(hVFhandle, pCapability);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL zesVFManagementSetVFTelemetryModeExp(
|
||||
zes_vf_handle_t hVFhandle,
|
||||
zes_vf_info_util_exp_flags_t flags,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -51,7 +51,7 @@ ze_result_t LinuxVfImp::getVfBDFAddress(uint32_t vfIdMinusOne, zes_pci_address_t
|
|||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t LinuxVfImp::vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) {
|
||||
ze_result_t LinuxVfImp::vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) {
|
||||
|
||||
ze_result_t result = getVfBDFAddress((vfId - 1), &pCapability->address);
|
||||
if (result != ZE_RESULT_SUCCESS) {
|
||||
|
@ -66,7 +66,7 @@ ze_result_t LinuxVfImp::vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapabili
|
|||
if (!vfOsGetLocalMemoryQuota(vfLmemQuota)) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
pCapability->vfDeviceMemSize = static_cast<uint32_t>(vfLmemQuota / 1024);
|
||||
pCapability->vfDeviceMemSize = vfLmemQuota;
|
||||
pCapability->vfID = vfId;
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
|
@ -89,7 +89,7 @@ ze_result_t LinuxVfImp::vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_m
|
|||
if (pMemUtil != nullptr) {
|
||||
for (uint32_t i = 0; i < *pCount; i++) {
|
||||
pMemUtil[i].vfMemLocation = ZES_MEM_LOC_DEVICE;
|
||||
pMemUtil[i].vfMemUtilized = vfLmemUsed / 1024;
|
||||
pMemUtil[i].vfMemUtilized = vfLmemUsed;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -31,7 +31,7 @@ class LinuxVfImp : public OsVf, NEO::NonCopyableOrMovableClass {
|
|||
LinuxVfImp(OsSysman *pOsSysman, uint32_t vfId);
|
||||
~LinuxVfImp() override;
|
||||
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) override;
|
||||
ze_result_t vfOsGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) override;
|
||||
bool vfOsGetLocalMemoryQuota(uint64_t &lMemQuota) override;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -16,7 +16,7 @@ struct OsSysman;
|
|||
|
||||
class OsVf {
|
||||
public:
|
||||
virtual ze_result_t vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0;
|
||||
virtual ze_result_t vfOsGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;
|
||||
virtual bool vfOsGetLocalMemoryQuota(uint64_t &lMemQuota) = 0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -12,13 +12,15 @@
|
|||
namespace L0 {
|
||||
namespace Sysman {
|
||||
|
||||
ze_result_t VfImp::vfGetCapabilities(zes_vf_exp_capabilities_t *pCapability) {
|
||||
ze_result_t VfImp::vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) {
|
||||
*pCapability = capability;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t VfImp::vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) {
|
||||
return pOsVf->vfOsGetMemoryUtilization(pCount, pMemUtil);
|
||||
}
|
||||
|
||||
ze_result_t VfImp::vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) {
|
||||
return pOsVf->vfOsGetEngineUtilization(pCount, pEngineUtil);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -20,7 +20,7 @@ namespace Sysman {
|
|||
class VfImp : public VfManagement, NEO::NonCopyableOrMovableClass {
|
||||
public:
|
||||
void init();
|
||||
ze_result_t vfGetCapabilities(zes_vf_exp_capabilities_t *pCapability) override;
|
||||
ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) override;
|
||||
ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) override;
|
||||
ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) override;
|
||||
|
||||
|
@ -32,7 +32,7 @@ class VfImp : public VfManagement, NEO::NonCopyableOrMovableClass {
|
|||
std::unique_ptr<OsVf> pOsVf;
|
||||
|
||||
private:
|
||||
zes_vf_exp_capabilities_t capability = {};
|
||||
zes_vf_exp2_capabilities_t capability = {};
|
||||
};
|
||||
|
||||
} // namespace Sysman
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -20,7 +20,7 @@ struct OsSysman;
|
|||
|
||||
class VfManagement : _zes_vf_handle_t {
|
||||
public:
|
||||
virtual ze_result_t vfGetCapabilities(zes_vf_exp_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0;
|
||||
virtual ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -14,7 +14,7 @@ namespace Sysman {
|
|||
|
||||
uint32_t WddmVfImp::numEnabledVfs = 0;
|
||||
|
||||
ze_result_t WddmVfImp::vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) {
|
||||
ze_result_t WddmVfImp::vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
ze_result_t WddmVfImp::vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -14,7 +14,7 @@ namespace Sysman {
|
|||
|
||||
class WddmVfImp : public OsVf {
|
||||
public:
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) override;
|
||||
ze_result_t vfOsGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) override;
|
||||
bool vfOsGetLocalMemoryQuota(uint64_t &lMemQuota) override;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -77,8 +77,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenPciAddressR
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, mockedDomain);
|
||||
EXPECT_EQ(capabilities.address.bus, mockedBus);
|
||||
EXPECT_EQ(capabilities.address.device, mockedDevice);
|
||||
|
@ -91,8 +91,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleAndSysfsGetRealPathFailsWhenQueryingVfCap
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.device, (uint32_t)0);
|
||||
|
@ -106,8 +106,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleAndInvalidBDFWithImproperTokensWhenQueryi
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.device, (uint32_t)0);
|
||||
|
@ -121,8 +121,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleAndInvalidBDFWhenQueryingVfCapabilitiesTh
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.device, (uint32_t)0);
|
||||
|
@ -134,9 +134,9 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenParamsRetur
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.vfDeviceMemSize, mockLmemQuota / 1024);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.vfDeviceMemSize, mockLmemQuota);
|
||||
EXPECT_GT(capabilities.vfID, (uint32_t)0);
|
||||
}
|
||||
}
|
||||
|
@ -151,7 +151,7 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingMemoryUtilizationThenMemoryPa
|
|||
std::vector<zes_vf_util_mem_exp2_t> memUtils(count);
|
||||
EXPECT_EQ(zesVFManagementGetVFMemoryUtilizationExp2(hSysmanVf, &count, memUtils.data()), ZE_RESULT_SUCCESS);
|
||||
for (uint32_t it = 0; it < count; it++) {
|
||||
EXPECT_EQ(memUtils[it].vfMemUtilized, mockLmemUsed / 1024);
|
||||
EXPECT_EQ(memUtils[it].vfMemUtilized, mockLmemUsed);
|
||||
EXPECT_EQ(memUtils[it].vfMemLocation, ZES_MEM_LOC_DEVICE);
|
||||
}
|
||||
}
|
||||
|
@ -206,7 +206,7 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenCallingZesVFManagementGetVFEngineUtil
|
|||
TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesAndSysfsReadForMemoryQuotaValueFailsThenErrorIsReturned) {
|
||||
|
||||
pSysfsAccess->mockError = ZE_RESULT_ERROR_UNKNOWN;
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
auto pVfImp = std::make_unique<PublicLinuxVfImp>(pOsSysman, 1);
|
||||
EXPECT_EQ(pVfImp->vfOsGetCapabilities(&capabilities), ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -50,8 +50,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenZeroPciAddr
|
|||
uint32_t vfId = 1;
|
||||
std::unique_ptr<VfManagement> pVfManagement = std::make_unique<VfImp>(pOsSysman, vfId);
|
||||
zes_vf_handle_t vfHandle = pVfManagement->toVfManagementHandle();
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
ze_result_t result = zesVFManagementGetVFCapabilitiesExp(vfHandle, &capabilities);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
ze_result_t result = zesVFManagementGetVFCapabilitiesExp2(vfHandle, &capabilities);
|
||||
EXPECT_EQ(result, ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
|
@ -62,7 +62,7 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenZeroPciAddr
|
|||
TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingOsVfCapabilitiesThenErrorIsReturned) {
|
||||
|
||||
auto pWddmVfImp = std::make_unique<WddmVfImp>();
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
ze_result_t result = pWddmVfImp->vfOsGetCapabilities(&capabilities);
|
||||
EXPECT_EQ(result, ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -46,7 +46,7 @@ ze_result_t LinuxVfImp::getVfBDFAddress(uint32_t vfIdMinusOne, zes_pci_address_t
|
|||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t LinuxVfImp::vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) {
|
||||
ze_result_t LinuxVfImp::vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) {
|
||||
|
||||
ze_result_t result = getVfBDFAddress((vfId - 1), &pCapability->address);
|
||||
if (result != ZE_RESULT_SUCCESS) {
|
||||
|
@ -61,7 +61,7 @@ ze_result_t LinuxVfImp::vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapabili
|
|||
if (!vfOsGetLocalMemoryQuota(vfLmemQuota)) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
pCapability->vfDeviceMemSize = static_cast<uint32_t>(vfLmemQuota / 1024);
|
||||
pCapability->vfDeviceMemSize = vfLmemQuota;
|
||||
pCapability->vfID = vfId;
|
||||
|
||||
return ZE_RESULT_SUCCESS;
|
||||
|
@ -83,7 +83,7 @@ ze_result_t LinuxVfImp::vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_m
|
|||
if (pMemUtil != nullptr) {
|
||||
for (uint32_t i = 0; i < *pCount; i++) {
|
||||
pMemUtil[i].vfMemLocation = ZES_MEM_LOC_DEVICE;
|
||||
pMemUtil[i].vfMemUtilized = vfLmemUsed / 1024;
|
||||
pMemUtil[i].vfMemUtilized = vfLmemUsed;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -31,7 +31,7 @@ class LinuxVfImp : public OsVf, NEO::NonCopyableOrMovableClass {
|
|||
LinuxVfImp(OsSysman *pOsSysman, uint32_t vfId);
|
||||
~LinuxVfImp() override;
|
||||
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) override;
|
||||
ze_result_t vfOsGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) override;
|
||||
bool vfOsGetLocalMemoryQuota(uint64_t &lMemQuota) override;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -15,7 +15,7 @@ struct OsSysman;
|
|||
|
||||
class OsVf {
|
||||
public:
|
||||
virtual ze_result_t vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0;
|
||||
virtual ze_result_t vfOsGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;
|
||||
virtual bool vfOsGetLocalMemoryQuota(uint64_t &lMemQuota) = 0;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
namespace L0 {
|
||||
|
||||
ze_result_t VfImp::vfGetCapabilities(zes_vf_exp_capabilities_t *pCapability) {
|
||||
ze_result_t VfImp::vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) {
|
||||
*pCapability = capability;
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -19,7 +19,7 @@ namespace L0 {
|
|||
class VfImp : public VfManagement, NEO::NonCopyableOrMovableClass {
|
||||
public:
|
||||
void init();
|
||||
ze_result_t vfGetCapabilities(zes_vf_exp_capabilities_t *pCapability) override;
|
||||
ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) override;
|
||||
ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) override;
|
||||
ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) override;
|
||||
|
||||
|
@ -31,7 +31,7 @@ class VfImp : public VfManagement, NEO::NonCopyableOrMovableClass {
|
|||
std::unique_ptr<OsVf> pOsVf;
|
||||
|
||||
private:
|
||||
zes_vf_exp_capabilities_t capability = {};
|
||||
zes_vf_exp2_capabilities_t capability = {};
|
||||
};
|
||||
|
||||
} // namespace L0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -19,7 +19,7 @@ struct OsSysman;
|
|||
|
||||
class VfManagement : _zes_vf_handle_t {
|
||||
public:
|
||||
virtual ze_result_t vfGetCapabilities(zes_vf_exp_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) = 0;
|
||||
virtual ze_result_t vfGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) = 0;
|
||||
virtual ze_result_t vfGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) = 0;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -13,7 +13,7 @@ namespace L0 {
|
|||
|
||||
uint32_t WddmVfImp::numEnabledVfs = 0;
|
||||
|
||||
ze_result_t WddmVfImp::vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) {
|
||||
ze_result_t WddmVfImp::vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
ze_result_t WddmVfImp::vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -13,7 +13,7 @@ namespace L0 {
|
|||
|
||||
class WddmVfImp : public OsVf {
|
||||
public:
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetCapabilities(zes_vf_exp2_capabilities_t *pCapability) override;
|
||||
ze_result_t vfOsGetMemoryUtilization(uint32_t *pCount, zes_vf_util_mem_exp2_t *pMemUtil) override;
|
||||
ze_result_t vfOsGetEngineUtilization(uint32_t *pCount, zes_vf_util_engine_exp2_t *pEngineUtil) override;
|
||||
bool vfOsGetLocalMemoryQuota(uint64_t &lMemQuota) override;
|
||||
|
|
|
@ -1611,13 +1611,13 @@ void testSysmanVfTelemetry(ze_device_handle_t &device) {
|
|||
VALIDATECALL(zesDeviceEnumEnabledVFExp(device, &count, handles.data()));
|
||||
|
||||
for (const auto &handle : handles) {
|
||||
zes_vf_exp_capabilities_t props = {};
|
||||
VALIDATECALL(zesVFManagementGetVFCapabilitiesExp(handle, &props));
|
||||
zes_vf_exp2_capabilities_t props = {};
|
||||
VALIDATECALL(zesVFManagementGetVFCapabilitiesExp2(handle, &props));
|
||||
if (verbose) {
|
||||
std::cout << std::endl
|
||||
<< "----- PCI BDF ------ " << std::endl;
|
||||
std::cout << "Domain: Bus: Device: Function = " << props.address.domain << " : " << props.address.bus << " : " << props.address.device << " : " << props.address.function << std::endl;
|
||||
std::cout << "Memory Size in KiloBytes = " << props.vfDeviceMemSize << std::endl;
|
||||
std::cout << "Memory Size in Bytes = " << props.vfDeviceMemSize << std::endl;
|
||||
std::cout << "VF Id = " << props.vfID << std::endl;
|
||||
}
|
||||
|
||||
|
@ -1631,7 +1631,7 @@ void testSysmanVfTelemetry(ze_device_handle_t &device) {
|
|||
for (uint32_t it = 0; it < count; it++) {
|
||||
if (verbose) {
|
||||
std::cout << "Location of the Memory = " << getMemoryModuleLocation(memUtils[it].vfMemLocation) << std::endl;
|
||||
std::cout << "Memory Utilized in KiloBytes = " << memUtils[it].vfMemUtilized << std::endl;
|
||||
std::cout << "Memory Utilized in Bytes = " << memUtils[it].vfMemUtilized << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -78,8 +78,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenPciAddressR
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, mockedDomain);
|
||||
EXPECT_EQ(capabilities.address.bus, mockedBus);
|
||||
EXPECT_EQ(capabilities.address.device, mockedDevice);
|
||||
|
@ -92,8 +92,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleAndSysfsGetRealPathFailsWhenQueryingVfCap
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.device, (uint32_t)0);
|
||||
|
@ -107,8 +107,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleAndInvalidBDFWithImproperTokensWhenQueryi
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.device, (uint32_t)0);
|
||||
|
@ -122,8 +122,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleAndInvalidBDFWhenQueryingVfCapabilitiesTh
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.device, (uint32_t)0);
|
||||
|
@ -135,9 +135,9 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenParamsRetur
|
|||
auto handles = getEnabledVfHandles(mockHandleCount);
|
||||
for (auto hSysmanVf : handles) {
|
||||
ASSERT_NE(nullptr, hSysmanVf);
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.vfDeviceMemSize, mockLmemQuota / 1024);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
EXPECT_EQ(zesVFManagementGetVFCapabilitiesExp2(hSysmanVf, &capabilities), ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.vfDeviceMemSize, mockLmemQuota);
|
||||
EXPECT_GT(capabilities.vfID, (uint32_t)0);
|
||||
}
|
||||
}
|
||||
|
@ -152,7 +152,7 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingMemoryUtilizationThenMemoryPa
|
|||
std::vector<zes_vf_util_mem_exp2_t> memUtils(count);
|
||||
EXPECT_EQ(zesVFManagementGetVFMemoryUtilizationExp2(hSysmanVf, &count, memUtils.data()), ZE_RESULT_SUCCESS);
|
||||
for (uint32_t it = 0; it < count; it++) {
|
||||
EXPECT_EQ(memUtils[it].vfMemUtilized, mockLmemUsed / 1024);
|
||||
EXPECT_EQ(memUtils[it].vfMemUtilized, mockLmemUsed);
|
||||
EXPECT_EQ(memUtils[it].vfMemLocation, ZES_MEM_LOC_DEVICE);
|
||||
}
|
||||
}
|
||||
|
@ -207,7 +207,7 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenCallingZesVFManagementGetVFEngineUtil
|
|||
TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesAndSysfsReadForMemoryQuotaValueFailsThenErrorIsReturned) {
|
||||
|
||||
pSysfsAccess->mockError = ZE_RESULT_ERROR_UNKNOWN;
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
auto pVfImp = std::make_unique<PublicLinuxVfImp>(pOsSysman, 1);
|
||||
EXPECT_EQ(pVfImp->vfOsGetCapabilities(&capabilities), ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 2024 Intel Corporation
|
||||
* Copyright (C) 2024-2025 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
|
@ -58,8 +58,8 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenZeroPciAddr
|
|||
uint32_t vfId = 1;
|
||||
std::unique_ptr<VfManagement> pVfManagement = std::make_unique<VfImp>(pOsSysman, vfId);
|
||||
zes_vf_handle_t vfHandle = pVfManagement->toVfManagementHandle();
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
ze_result_t result = zesVFManagementGetVFCapabilitiesExp(vfHandle, &capabilities);
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
ze_result_t result = zesVFManagementGetVFCapabilitiesExp2(vfHandle, &capabilities);
|
||||
EXPECT_EQ(result, ZE_RESULT_SUCCESS);
|
||||
EXPECT_EQ(capabilities.address.domain, (uint32_t)0);
|
||||
EXPECT_EQ(capabilities.address.bus, (uint32_t)0);
|
||||
|
@ -70,7 +70,7 @@ TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingVfCapabilitiesThenZeroPciAddr
|
|||
TEST_F(ZesVfFixture, GivenValidVfHandleWhenQueryingOsVfCapabilitiesThenErrorIsReturned) {
|
||||
|
||||
auto pWddmVfImp = std::make_unique<WddmVfImp>();
|
||||
zes_vf_exp_capabilities_t capabilities = {};
|
||||
zes_vf_exp2_capabilities_t capabilities = {};
|
||||
ze_result_t result = pWddmVfImp->vfOsGetCapabilities(&capabilities);
|
||||
EXPECT_EQ(result, ZE_RESULT_ERROR_UNSUPPORTED_FEATURE);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue