feature(sysman): supports deviceId and vendorId in zesInit path

Related-To: NEO-10914

Signed-off-by: Kulkarni, Ashwin Kumar <ashwin.kumar.kulkarni@intel.com>
This commit is contained in:
Kulkarni, Ashwin Kumar
2024-07-30 05:41:17 +00:00
committed by Compute-Runtime-Automation
parent eadb7b5a66
commit cf4ef679c9
5 changed files with 30 additions and 1 deletions

View File

@@ -60,6 +60,8 @@ ze_result_t GlobalOperationsImp::deviceGetProperties(zes_device_properties_t *pP
if (hardwareInfo.capabilityTable.supportsOnDemandPageFaults) {
pProperties->core.flags |= ZE_DEVICE_PROPERTY_FLAG_ONDEMANDPAGING;
}
pProperties->core.deviceId = hardwareInfo.platform.usDeviceID;
pProperties->core.vendorId = vendorIdIntel;
zes_base_properties_t *pNext = static_cast<zes_base_properties_t *>(pProperties->pNext);
while (pNext) {

View File

@@ -29,6 +29,7 @@ constexpr uint32_t numCoreTemperatureEntries = 4; // entries would be CORE0,
constexpr uint32_t numComputeTemperatureEntries = 3; // entries would be IA, GT and LLC
constexpr uint32_t invalidMaxTemperature = 125;
constexpr uint32_t invalidMinTemperature = 10;
constexpr uint32_t vendorIdIntel = 0x8086;
namespace L0 {
namespace Sysman {
@@ -86,4 +87,4 @@ const std::map<std::string, zes_engine_type_flag_t> sysfsEngineMapToLevel0Engine
{"ccs", ZES_ENGINE_TYPE_FLAG_COMPUTE},
{"bcs", ZES_ENGINE_TYPE_FLAG_DMA},
{"vcs", ZES_ENGINE_TYPE_FLAG_MEDIA},
{"vecs", ZES_ENGINE_TYPE_FLAG_OTHER}};
{"vecs", ZES_ENGINE_TYPE_FLAG_OTHER}};

View File

@@ -1204,6 +1204,17 @@ HWTEST2_F(SysmanGlobalOperationsFixture,
EXPECT_FALSE(properties.core.flags & ZE_DEVICE_PROPERTY_FLAG_INTEGRATED);
}
TEST_F(SysmanGlobalOperationsFixture, GivenValidDeviceHandleWhenCallingGetPropertiesThenCorrectDeviceAndVendorIdsAreReturned) {
auto pHwInfo = pLinuxSysmanImp->getSysmanDeviceImp()->getRootDeviceEnvironment().getMutableHardwareInfo();
pHwInfo->platform.usDeviceID = 0x1234;
zes_device_properties_t properties = {};
ze_result_t result = zesDeviceGetProperties(pSysmanDevice->toHandle(), &properties);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_EQ(properties.core.vendorId, static_cast<uint32_t>(0x8086));
EXPECT_EQ(properties.core.deviceId, static_cast<uint32_t>(pHwInfo->platform.usDeviceID));
}
using SysmanDevicePropertiesExtensionTest = SysmanGlobalOperationsFixture;
TEST_F(SysmanDevicePropertiesExtensionTest,

View File

@@ -114,6 +114,19 @@ TEST_F(SysmanGlobalOperationsFixture, GivenValidDeviceHandleWhenCallingzesDriver
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
}
TEST_F(SysmanGlobalOperationsFixture, GivenValidDeviceHandleWhenCallingGetPropertiesThenCorrectDeviceAndVendorIdsAreReturned) {
init(true);
auto pHwInfo = pWddmSysmanImp->getSysmanDeviceImp()->getRootDeviceEnvironment().getMutableHardwareInfo();
pHwInfo->platform.usDeviceID = 0x1234;
zes_device_properties_t properties = {};
ze_result_t result = zesDeviceGetProperties(pSysmanDevice->toHandle(), &properties);
EXPECT_EQ(ZE_RESULT_SUCCESS, result);
EXPECT_EQ(properties.core.vendorId, static_cast<uint32_t>(0x8086));
EXPECT_EQ(properties.core.deviceId, static_cast<uint32_t>(pHwInfo->platform.usDeviceID));
}
class SysmanGlobalOperationsUuidFixture : public SysmanDeviceFixture {
public:
L0::Sysman::GlobalOperationsImp *pGlobalOperationsImp;

View File

@@ -1389,6 +1389,8 @@ void testSysmanGlobalOperations(ze_device_handle_t &device) {
std::cout << "properties.modelName = " << properties.modelName << std::endl;
std::cout << "properties.vendorName = " << properties.vendorName << std::endl;
std::cout << "properties.driverVersion= " << properties.driverVersion << std::endl;
std::cout << "properties.core.vendorId= " << properties.core.vendorId << std::endl;
std::cout << "properties.core.deviceId= " << properties.core.deviceId << std::endl;
std::cout << "properties.core.uuid= " << std::endl;
for (uint32_t i = 0; i < ZE_MAX_UUID_SIZE; i++) {
std::cout << +properties.core.uuid.id[i] << " ";