1 /*
2  * Copyright (C) 2020-2021 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #include "level_zero/tools/source/sysman/global_operations/windows/os_global_operations_imp.h"
9 
10 namespace L0 {
11 
getDevice()12 Device *WddmGlobalOperationsImp::getDevice() {
13     return pDevice;
14 }
15 
getSerialNumber(char (& serialNumber)[ZES_STRING_PROPERTY_SIZE])16 void WddmGlobalOperationsImp::getSerialNumber(char (&serialNumber)[ZES_STRING_PROPERTY_SIZE]) {
17 }
18 
getBoardNumber(char (& boardNumber)[ZES_STRING_PROPERTY_SIZE])19 void WddmGlobalOperationsImp::getBoardNumber(char (&boardNumber)[ZES_STRING_PROPERTY_SIZE]) {
20 }
21 
getBrandName(char (& brandName)[ZES_STRING_PROPERTY_SIZE])22 void WddmGlobalOperationsImp::getBrandName(char (&brandName)[ZES_STRING_PROPERTY_SIZE]) {
23 }
24 
getModelName(char (& modelName)[ZES_STRING_PROPERTY_SIZE])25 void WddmGlobalOperationsImp::getModelName(char (&modelName)[ZES_STRING_PROPERTY_SIZE]) {
26 }
27 
getVendorName(char (& vendorName)[ZES_STRING_PROPERTY_SIZE])28 void WddmGlobalOperationsImp::getVendorName(char (&vendorName)[ZES_STRING_PROPERTY_SIZE]) {
29 }
30 
getDriverVersion(char (& driverVersion)[ZES_STRING_PROPERTY_SIZE])31 void WddmGlobalOperationsImp::getDriverVersion(char (&driverVersion)[ZES_STRING_PROPERTY_SIZE]) {
32 }
33 
getWedgedStatus(zes_device_state_t * pState)34 void WddmGlobalOperationsImp::getWedgedStatus(zes_device_state_t *pState) {
35 }
getRepairStatus(zes_device_state_t * pState)36 void WddmGlobalOperationsImp::getRepairStatus(zes_device_state_t *pState) {
37 }
reset(ze_bool_t force)38 ze_result_t WddmGlobalOperationsImp::reset(ze_bool_t force) {
39     uint32_t value = 0;
40     KmdSysman::RequestProperty request;
41     KmdSysman::ResponseProperty response;
42     request.commandId = KmdSysman::Command::Set;
43     request.componentId = KmdSysman::Component::GlobalOperationsComponent;
44     request.requestId = KmdSysman::Requests::GlobalOperation::TriggerDeviceLevelReset;
45     request.dataSize = sizeof(uint32_t);
46     value = static_cast<uint32_t>(force);
47     memcpy_s(request.dataBuffer, sizeof(uint32_t), &value, sizeof(uint32_t));
48     return pKmdSysManager->requestSingle(request, response);
49 }
50 
scanProcessesState(std::vector<zes_process_state_t> & pProcessList)51 ze_result_t WddmGlobalOperationsImp::scanProcessesState(std::vector<zes_process_state_t> &pProcessList) {
52     return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
53 }
54 
deviceGetState(zes_device_state_t * pState)55 ze_result_t WddmGlobalOperationsImp::deviceGetState(zes_device_state_t *pState) {
56     return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
57 }
58 
WddmGlobalOperationsImp(OsSysman * pOsSysman)59 WddmGlobalOperationsImp::WddmGlobalOperationsImp(OsSysman *pOsSysman) {
60     WddmSysmanImp *pWddmSysmanImp = static_cast<WddmSysmanImp *>(pOsSysman);
61     pDevice = pWddmSysmanImp->getDeviceHandle();
62     pKmdSysManager = &pWddmSysmanImp->getKmdSysManager();
63 }
64 
create(OsSysman * pOsSysman)65 OsGlobalOperations *OsGlobalOperations::create(OsSysman *pOsSysman) {
66     WddmGlobalOperationsImp *pWddmGlobalOperationsImp = new WddmGlobalOperationsImp(pOsSysman);
67     return static_cast<OsGlobalOperations *>(pWddmGlobalOperationsImp);
68 }
69 
70 } // namespace L0
71