Files
compute-runtime/shared/source/os_interface/linux/driver_info_linux.cpp
Jaroslaw Chodor 0e9aa45e46 Improving OS abstraction
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-23 21:40:37 +02:00

40 lines
1.2 KiB
C++

/*
* Copyright (C) 2020-2021 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "shared/source/os_interface/linux/driver_info_linux.h"
#include "shared/source/helpers/debug_helpers.h"
#include "shared/source/helpers/hw_info.h"
#include "shared/source/os_interface/linux/drm_neo.h"
#include "shared/source/os_interface/os_interface.h"
namespace NEO {
DriverInfo *DriverInfo::create(const HardwareInfo *hwInfo, const OSInterface *osInterface) {
PhysicalDevicePciBusInfo pciBusInfo(PhysicalDevicePciBusInfo::InvalidValue, PhysicalDevicePciBusInfo::InvalidValue, PhysicalDevicePciBusInfo::InvalidValue, PhysicalDevicePciBusInfo::InvalidValue);
if (osInterface) {
auto drm = osInterface->getDriverModel()->as<Drm>();
UNRECOVERABLE_IF(drm == nullptr);
pciBusInfo = drm->getPciBusInfo();
}
if (hwInfo) {
auto imageSupport = hwInfo->capabilityTable.supportsImages;
return new DriverInfoLinux(imageSupport, pciBusInfo);
}
return nullptr;
};
DriverInfoLinux::DriverInfoLinux(bool imageSupport, const PhysicalDevicePciBusInfo &pciBusInfo)
: imageSupport(imageSupport) {
this->pciBusInfo = pciBusInfo;
}
bool DriverInfoLinux::getImageSupport() { return imageSupport; }
} // namespace NEO