Reorganization directory structure [1/n]

Change-Id: Id1a94577437a4826a32411869f516fec20314ec0
This commit is contained in:
kamdiedrich
2020-02-22 21:54:11 +01:00
parent 247cc953d1
commit fa8e720f9e
660 changed files with 3 additions and 3 deletions

View File

@@ -0,0 +1,19 @@
/*
* Copyright (C) 2018-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "core/os_interface/linux/allocator_helper.h"
#include "core/helpers/aligned_memory.h"
#include "core/helpers/basic_math.h"
namespace NEO {
size_t getSizeToReserve() {
return (maxNBitValue(47) + 1) / 4;
}
} // namespace NEO

View File

@@ -0,0 +1,21 @@
/*
* Copyright (C) 2019-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "core/execution_environment/execution_environment.h"
#include "core/memory_manager/memory_manager.h"
#include "core/os_interface/linux/drm_memory_manager.h"
#include "core/os_interface/linux/os_interface.h"
#include "core/os_interface/os_interface.h"
namespace NEO {
std::unique_ptr<MemoryManager> MemoryManager::createMemoryManager(ExecutionEnvironment &executionEnvironment) {
return std::make_unique<DrmMemoryManager>(gemCloseWorkerMode::gemCloseWorkerActive,
DebugManager.flags.EnableForcePin.get(),
true,
executionEnvironment);
}
} // namespace NEO

View File

@@ -0,0 +1,8 @@
/*
* Copyright (C) 2018-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "dll/linux/devices/devices_base.inl"

View File

@@ -0,0 +1,216 @@
/*
* Copyright (C) 2018-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
// clang-format off
#ifdef SUPPORT_GEN12LP
#ifdef SUPPORT_TGLLP
DEVICE( IGEN12LP_GT1_MOB_DEVICE_F0_ID, TGLLP_1x6x16, GTTYPE_GT2 )
DEVICE( ITGL_LP_1x6x16_ULT_15W_DEVICE_F0_ID, TGLLP_1x6x16, GTTYPE_GT2 )
DEVICE( ITGL_LP_1x6x16_ULX_5_2W_DEVICE_F0_ID, TGLLP_1x6x16, GTTYPE_GT2 )
DEVICE( ITGL_LP_1x6x16_ULT_12W_DEVICE_F0_ID, TGLLP_1x6x16, GTTYPE_GT2 )
DEVICE( ITGL_LP_1x2x16_HALO_45W_DEVICE_F0_ID, TGLLP_1x2x16, GTTYPE_GT2 )
DEVICE( ITGL_LP_1x2x16_DESK_65W_DEVICE_F0_ID, TGLLP_1x2x16, GTTYPE_GT2 )
DEVICE( ITGL_LP_1x2x16_HALO_WS_45W_DEVICE_F0_ID, TGLLP_1x2x16, GTTYPE_GT2 )
#endif
#endif
#ifdef SUPPORT_GEN11
#ifdef SUPPORT_ICLLP
// GT1
DEVICE( IICL_LP_GT1_MOB_DEVICE_F0_ID, ICLLP_1x4x8, GTTYPE_GT1 )
DEVICE( IICL_LP_1x4x8_LOW_MEDIA_ULT_DEVICE_F0_ID, ICLLP_1x4x8, GTTYPE_GT1 )
DEVICE( IICL_LP_1x4x8_LOW_MEDIA_ULX_DEVICE_F0_ID, ICLLP_1x4x8, GTTYPE_GT1 )
DEVICE( IICL_LP_1x6x8_ULX_DEVICE_F0_ID, ICLLP_1x6x8, GTTYPE_GT1 )
DEVICE( IICL_LP_1x6x8_ULT_DEVICE_F0_ID, ICLLP_1x6x8, GTTYPE_GT1 )
// GT2
DEVICE( IICL_LP_1x8x8_SUPERSKU_DEVICE_F0_ID, ICLLP_1x8x8, GTTYPE_GT2 )
DEVICE( IICL_LP_1x8x8_ULT_DEVICE_F0_ID, ICLLP_1x8x8, GTTYPE_GT2 )
DEVICE( IICL_LP_1x8x8_ULX_DEVICE_F0_ID, ICLLP_1x8x8, GTTYPE_GT2 )
#endif
#ifdef SUPPORT_LKF
DEVICE( ILKF_1x8x8_DESK_DEVICE_F0_ID, LKF_1x8x8, GTTYPE_GT1 )
#endif
#ifdef SUPPORT_EHL
DEVICE( IEHL_1x4x8_SUPERSKU_DEVICE_A0_ID, EHL_1x4x8, GTTYPE_GT1 )
DEVICE( IEHL_1x2x4_DEVICE_A0_ID, EHL_1x2x4, GTTYPE_GT1 )
DEVICE( IEHL_1x4x4_DEVICE_A0_ID, EHL_1x4x4, GTTYPE_GT1 )
DEVICE( IEHL_1x4x8_DEVICE_A0_ID, EHL_1x4x8, GTTYPE_GT1 )
DEVICE( IJSL_1x4x4_DEVICE_B0_ID, EHL_1x4x4, GTTYPE_GT1 )
DEVICE( IJSL_1x4x6_DEVICE_B0_ID, EHL_1x4x6, GTTYPE_GT1 )
DEVICE( IJSL_1x4x8_DEVICE_B0_ID, EHL_1x4x8, GTTYPE_GT1 )
#endif
#endif
#ifdef SUPPORT_GEN9
#ifdef SUPPORT_SKL
// GT1
DEVICE( ISKL_GT1_DESK_DEVICE_F0_ID, SKL_1x2x6, GTTYPE_GT1 )
DEVICE( ISKL_GT1_DT_DEVICE_F0_ID, SKL_1x2x6, GTTYPE_GT1 )
DEVICE( ISKL_GT1_HALO_MOBL_DEVICE_F0_ID, SKL_1x2x6, GTTYPE_GT1 )
DEVICE( ISKL_GT1_SERV_DEVICE_F0_ID, SKL_1x2x6, GTTYPE_GT1 )
DEVICE( ISKL_GT1_ULT_DEVICE_F0_ID, SKL_1x2x6, GTTYPE_GT1 )
DEVICE( ISKL_GT1_ULX_DEVICE_F0_ID, SKL_1x2x6, GTTYPE_GT1 )
// GT1_5
DEVICE( ISKL_GT1_5_DT_DEVICE_F0_ID, SKL_1x3x6, GTTYPE_GT1_5 )
DEVICE( ISKL_GT1_5_ULT_DEVICE_F0_ID, SKL_1x3x6, GTTYPE_GT1_5 )
DEVICE( ISKL_GT1_5_ULX_DEVICE_F0_ID, SKL_1x3x6, GTTYPE_GT1_5 )
// GT2
DEVICE( ISKL_GT2_DESK_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2_DT_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2_HALO_MOBL_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2_SERV_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2_ULT_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2_ULX_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2_WRK_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_GT2F_ULT_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
DEVICE( ISKL_LP_DEVICE_F0_ID, SKL_1x3x8, GTTYPE_GT2 )
// GT3
DEVICE( ISKL_GT3_DESK_DEVICE_F0_ID, SKL_2x3x8, GTTYPE_GT3 )
DEVICE( ISKL_GT3_HALO_MOBL_DEVICE_F0_ID, SKL_2x3x8, GTTYPE_GT3 )
DEVICE( ISKL_GT3_MEDIA_SERV_DEVICE_F0_ID, SKL_2x3x8, GTTYPE_GT3 )
DEVICE( ISKL_GT3_SERV_DEVICE_F0_ID, SKL_2x3x8, GTTYPE_GT3 )
DEVICE( ISKL_GT3_ULT_DEVICE_F0_ID, SKL_2x3x8, GTTYPE_GT3 )
DEVICE( ISKL_GT3e_ULT_DEVICE_F0_ID_540, SKL_2x3x8, GTTYPE_GT3 )
DEVICE( ISKL_GT3e_ULT_DEVICE_F0_ID_550, SKL_2x3x8, GTTYPE_GT3 )
// GT4
DEVICE( ISKL_GT4_DESK_DEVICE_F0_ID, SKL_3x3x8, GTTYPE_GT4 )
DEVICE( ISKL_GT4_DT_DEVICE_F0_ID, SKL_3x3x8, GTTYPE_GT4 )
DEVICE( ISKL_GT4_HALO_MOBL_DEVICE_F0_ID, SKL_3x3x8, GTTYPE_GT4 )
DEVICE( ISKL_GT4_SERV_DEVICE_F0_ID, SKL_3x3x8, GTTYPE_GT4 )
DEVICE( ISKL_GT4_WRK_DEVICE_F0_ID, SKL_3x3x8, GTTYPE_GT4 )
#endif
#ifdef SUPPORT_KBL
// GT1
DEVICE( IKBL_GT1_DT_DEVICE_F0_ID, KBL_1x2x6, GTTYPE_GT1 )
DEVICE( IKBL_GT1_HALO_DEVICE_F0_ID, KBL_1x2x6, GTTYPE_GT1 )
DEVICE( IKBL_GT1_SERV_DEVICE_F0_ID, KBL_1x2x6, GTTYPE_GT1 )
DEVICE( IKBL_GT1_ULT_DEVICE_F0_ID, KBL_1x2x6, GTTYPE_GT1 )
DEVICE( IKBL_GT1_ULX_DEVICE_F0_ID, KBL_1x3x6, GTTYPE_GT1 )
DEVICE( IKBL_GT1F_HALO_DEVICE_F0_ID, KBL_1x2x6, GTTYPE_GT1 )
// GT1_5
DEVICE( IKBL_GT1_5_ULT_DEVICE_F0_ID, KBL_1x3x6, GTTYPE_GT1_5 )
DEVICE( IKBL_GT1_5_ULX_DEVICE_F0_ID, KBL_1x2x6, GTTYPE_GT1_5 )
// GT2
DEVICE( IKBL_GT2_DT_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_HALO_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_R_ULT_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_SERV_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_ULT_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_ULX_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_WRK_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2_R_ULX_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
DEVICE( IKBL_GT2F_ULT_DEVICE_F0_ID, KBL_1x3x8, GTTYPE_GT2 )
// GT3
DEVICE( IKBL_GT3_15W_ULT_DEVICE_F0_ID, KBL_2x3x8, GTTYPE_GT3 )
DEVICE( IKBL_GT3_28W_ULT_DEVICE_F0_ID, KBL_2x3x8, GTTYPE_GT3 )
DEVICE( IKBL_GT3_HALO_DEVICE_F0_ID, KBL_2x3x8, GTTYPE_GT3 )
DEVICE( IKBL_GT3_SERV_DEVICE_F0_ID, KBL_2x3x8, GTTYPE_GT3 )
DEVICE( IKBL_GT3_ULT_DEVICE_F0_ID, KBL_2x3x8, GTTYPE_GT3 )
// GT4
DEVICE( IKBL_GT4_DT_DEVICE_F0_ID, KBL_3x3x8, GTTYPE_GT4 )
DEVICE( IKBL_GT4_HALO_DEVICE_F0_ID, KBL_3x3x8, GTTYPE_GT4 )
DEVICE( IKBL_GT4_SERV_DEVICE_F0_ID, KBL_3x3x8, GTTYPE_GT4 )
DEVICE( IKBL_GT4_WRK_DEVICE_F0_ID, KBL_3x3x8, GTTYPE_GT4 )
#endif
#ifdef SUPPORT_CFL
// GT1
DEVICE( ICFL_GT1_DT_DEVICE_F0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_S41_DT_DEVICE_F0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_S61_DT_DEVICE_F0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_41F_2F1F_ULT_DEVICE_F0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_S6_S4_S2_F1F_DT_DEVICE_F0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_U41F_U2F1F_ULT_DEVICE_F0_ID, CFL_1x2x6, GTTYPE_GT1 )
// GT2
DEVICE( ICFL_GT2_DT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_HALO_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_HALO_WS_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_S42_DT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_S62_DT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_SERV_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_S82_S6F2_DT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_U42F_U2F1F_ULT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_U42F_U2F2F_ULT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_U42F_U2F2_ULT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_S8_S2_DT_DEVICE_F0_ID, CFL_1x3x8, GTTYPE_GT2 )
// GT3
DEVICE( ICFL_HALO_DEVICE_F0_ID, CFL_2x3x8, GTTYPE_GT3 )
DEVICE( ICFL_GT3_ULT_15W_DEVICE_F0_ID, CFL_2x3x8, GTTYPE_GT3 )
DEVICE( ICFL_GT3_ULT_15W_42EU_DEVICE_F0_ID, CFL_2x3x8, GTTYPE_GT3 )
DEVICE( ICFL_GT3_ULT_28W_DEVICE_F0_ID, CFL_2x3x8, GTTYPE_GT3 )
DEVICE( ICFL_GT3_ULT_DEVICE_F0_ID, CFL_2x3x8, GTTYPE_GT3 )
DEVICE( ICFL_GT3_U43_ULT_DEVICE_F0_ID, CFL_2x3x8, GTTYPE_GT3 )
// CML GT1
DEVICE( ICFL_GT1_ULT_DEVICE_V0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_ULT_DEVICE_A0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_ULT_DEVICE_S0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_ULT_DEVICE_K0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_ULX_DEVICE_S0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_DT_DEVICE_P0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_DT_DEVICE_G0_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_HALO_DEVICE_16_ID, CFL_1x2x6, GTTYPE_GT1 )
DEVICE( ICFL_GT1_HALO_DEVICE_18_ID, CFL_1x2x6, GTTYPE_GT1 )
// CML GT2
DEVICE( ICFL_GT2_ULT_DEVICE_V0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_ULT_DEVICE_A0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_ULT_DEVICE_S0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_ULT_DEVICE_K0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_ULX_DEVICE_S0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_DT_DEVICE_P0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_DT_DEVICE_G0_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_HALO_DEVICE_15_ID, CFL_1x3x8, GTTYPE_GT2 )
DEVICE( ICFL_GT2_HALO_DEVICE_17_ID, CFL_1x3x8, GTTYPE_GT2 )
#endif
#ifdef SUPPORT_GLK
DEVICE( IGLK_GT2_ULT_18EU_DEVICE_F0_ID, GLK_1x3x6, GTTYPE_GTA )
DEVICE( IGLK_GT2_ULT_12EU_DEVICE_F0_ID, GLK_1x2x6, GTTYPE_GTA )
#endif
#ifdef SUPPORT_BXT
DEVICE(IBXT_A_DEVICE_F0_ID, BXT_1x3x6, GTTYPE_GTA)
DEVICE(IBXT_C_DEVICE_F0_ID, BXT_1x3x6, GTTYPE_GTA)
DEVICE(IBXT_GT_3x6_DEVICE_ID, BXT_1x3x6, GTTYPE_GTA)
DEVICE(IBXT_P_3x6_DEVICE_ID, BXT_1x3x6, GTTYPE_GTA) //18EU APL
DEVICE(IBXT_P_12EU_3x6_DEVICE_ID, BXT_1x2x6, GTTYPE_GTA) //12EU APL
DEVICE(IBXT_PRO_12EU_3x6_DEVICE_ID, BXT_1x2x6, GTTYPE_GTA) //12EU APL
DEVICE(IBXT_PRO_3x6_DEVICE_ID, BXT_1x3x6, GTTYPE_GTA)
DEVICE(IBXT_X_DEVICE_F0_ID, BXT_1x3x6, GTTYPE_GTA)
#endif
#endif
#ifdef SUPPORT_GEN8
// GT1
DEVICE( IBDW_GT1_DESK_DEVICE_F0_ID, BDW_1x2x6, GTTYPE_GT1 )
DEVICE( IBDW_GT1_HALO_MOBL_DEVICE_F0_ID, BDW_1x2x6, GTTYPE_GT1 )
DEVICE( IBDW_GT1_SERV_DEVICE_F0_ID, BDW_1x2x6, GTTYPE_GT1 )
DEVICE( IBDW_GT1_ULT_MOBL_DEVICE_F0_ID, BDW_1x2x6, GTTYPE_GT1 )
DEVICE( IBDW_GT1_ULX_DEVICE_F0_ID, BDW_1x2x6, GTTYPE_GT1 )
DEVICE( IBDW_GT1_WRK_DEVICE_F0_ID, BDW_1x2x6, GTTYPE_GT1 )
// GT2
DEVICE( IBDW_GT2_DESK_DEVICE_F0_ID, BDW_1x3x8, GTTYPE_GT2 )
DEVICE( IBDW_GT2_HALO_MOBL_DEVICE_F0_ID, BDW_1x3x8, GTTYPE_GT2 )
DEVICE( IBDW_GT2_SERV_DEVICE_F0_ID, BDW_1x3x8, GTTYPE_GT2 )
DEVICE( IBDW_GT2_ULT_MOBL_DEVICE_F0_ID, BDW_1x3x8, GTTYPE_GT2 )
DEVICE( IBDW_GT2_ULX_DEVICE_F0_ID, BDW_1x3x8, GTTYPE_GT2 )
DEVICE( IBDW_GT2_WRK_DEVICE_F0_ID, BDW_1x3x8, GTTYPE_GT2 )
// GT3
DEVICE( IBDW_GT3_DESK_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
DEVICE( IBDW_GT3_HALO_MOBL_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
DEVICE( IBDW_GT3_SERV_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
DEVICE( IBDW_GT3_ULT_MOBL_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
DEVICE( IBDW_GT3_ULT25W_MOBL_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
DEVICE( IBDW_GT3_ULX_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
DEVICE( IBDW_GT3_WRK_DEVICE_F0_ID, BDW_2x3x8, GTTYPE_GT3 )
#endif
// clang-format on

View File

@@ -0,0 +1,108 @@
/*
* Copyright (C) 2017-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "core/debug_settings/debug_settings_manager.h"
#include "core/execution_environment/execution_environment.h"
#include "core/execution_environment/root_device_environment.h"
#include "core/gmm_helper/gmm_helper.h"
#include "core/helpers/hw_cmds.h"
#include "core/helpers/hw_helper.h"
#include "core/helpers/hw_info.h"
#include "core/os_interface/linux/drm_neo.h"
#include "core/os_interface/linux/drm_null_device.h"
#include "drm/i915_drm.h"
#include <array>
#include <cstdio>
#include <cstring>
#include <memory>
namespace NEO {
const DeviceDescriptor deviceDescriptorTable[] = {
#define DEVICE(devId, gt, gtType) {devId, &gt::hwInfo, &gt::setupHardwareInfo, gtType},
#include "devices.inl"
#undef DEVICE
{0, nullptr, nullptr, GTTYPE_UNDEFINED}};
Drm *Drm::create(std::unique_ptr<HwDeviceId> hwDeviceId, RootDeviceEnvironment &rootDeviceEnvironment) {
std::unique_ptr<Drm> drmObject;
if (DebugManager.flags.EnableNullHardware.get() == true) {
drmObject.reset(new DrmNullDevice(std::move(hwDeviceId), rootDeviceEnvironment));
} else {
drmObject.reset(new Drm(std::move(hwDeviceId), rootDeviceEnvironment));
}
// Get HW version (I915_drm.h)
int ret = drmObject->getDeviceID(drmObject->deviceId);
if (ret != 0) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "FATAL: Cannot query device ID parameter!\n");
return nullptr;
}
// Get HW Revision (I915_drm.h)
ret = drmObject->getDeviceRevID(drmObject->revisionId);
if (ret != 0) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "FATAL: Cannot query device Rev ID parameter!\n");
return nullptr;
}
const DeviceDescriptor *device = nullptr;
GTTYPE eGtType = GTTYPE_UNDEFINED;
for (auto &d : deviceDescriptorTable) {
if (drmObject->deviceId == d.deviceId) {
device = &d;
eGtType = d.eGtType;
break;
}
}
if (device) {
ret = drmObject->setupHardwareInfo(const_cast<DeviceDescriptor *>(device), true);
if (ret != 0) {
return nullptr;
}
drmObject->setGtType(eGtType);
rootDeviceEnvironment.executionEnvironment.setHwInfo(device->pHwInfo);
} else {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr,
"FATAL: Unknown device: deviceId: %04x, revisionId: %04x\n", drmObject->deviceId, drmObject->revisionId);
return nullptr;
}
// Detect device parameters
int hasExecSoftPin = 0;
ret = drmObject->getExecSoftPin(hasExecSoftPin);
if (ret != 0) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "FATAL: Cannot query Soft Pin parameter!\n");
return nullptr;
}
if (!hasExecSoftPin) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s",
"FATAL: Device doesn't support Soft-Pin but this is required.\n");
return nullptr;
}
// Activate the Turbo Boost Frequency feature
ret = drmObject->enableTurboBoost();
if (ret != 0) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "WARNING: Failed to request OCL Turbo Boost\n");
}
if (!drmObject->queryEngineInfo()) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "WARNING: Failed to query engine info\n");
}
if (HwHelper::get(device->pHwInfo->platform.eRenderCoreFamily).getEnableLocalMemory(*device->pHwInfo)) {
if (!drmObject->queryMemoryInfo()) {
printDebugString(DebugManager.flags.PrintDebugMessages.get(), stderr, "%s", "WARNING: Failed to query memory info\n");
}
}
return drmObject.release();
}
} // namespace NEO

View File

@@ -0,0 +1,15 @@
/*
* Copyright (C) 2017-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
{
global:
clGetExtensionFunctionAddress;
clIcdGetPlatformIDsKHR;
clGetPlatformInfo;
GTPin_Init;
local: *;
};

View File

@@ -0,0 +1,28 @@
/*
* Copyright (C) 2017-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "core/os_interface/os_library.h"
#include "External/Common/GmmLibDllName.h"
#include "igc.opencl.h"
namespace Os {
// Compiler library names
const char *frontEndDllName = FCL_LIBRARY_NAME;
const char *igcDllName = IGC_LIBRARY_NAME;
const char *libvaDllName = "libva.so.2";
const char *sysFsPciPath = "/sys/bus/pci/devices/";
const char *tbxLibName = "libtbxAccess.so";
// Os specific Metrics Library name
#if __x86_64__ || __ppc64__
const char *metricsLibraryDllName = "libigdml64.so";
#else
const char *metricsLibraryDllName = "libigdml32.so";
#endif
} // namespace Os

View File

@@ -0,0 +1,14 @@
/*
* Copyright (C) 2018-2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "core/os_interface/linux/os_interface.h"
namespace NEO {
bool OSInterface::osEnableLocalMemory = true;
} // namespace NEO