refactor: improve engine query

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski 2024-08-07 12:40:07 +00:00 committed by Compute-Runtime-Automation
parent ce0cbc2dca
commit a04cf31110
2 changed files with 6 additions and 1 deletions

View File

@ -242,6 +242,10 @@ std::vector<DataType> IoctlHelperXe::queryData(uint32_t queryId) {
template std::vector<uint8_t> IoctlHelperXe::queryData(uint32_t queryId); template std::vector<uint8_t> IoctlHelperXe::queryData(uint32_t queryId);
template std::vector<uint64_t> IoctlHelperXe::queryData(uint32_t queryId); template std::vector<uint64_t> IoctlHelperXe::queryData(uint32_t queryId);
uint32_t IoctlHelperXe::getNumEngines(uint64_t *enginesData) const {
return reinterpret_cast<struct drm_xe_query_engines *>(enginesData)->num_engines;
}
std::unique_ptr<EngineInfo> IoctlHelperXe::createEngineInfo(bool isSysmanEnabled) { std::unique_ptr<EngineInfo> IoctlHelperXe::createEngineInfo(bool isSysmanEnabled) {
auto enginesData = queryData<uint64_t>(DRM_XE_DEVICE_QUERY_ENGINES); auto enginesData = queryData<uint64_t>(DRM_XE_DEVICE_QUERY_ENGINES);
@ -251,7 +255,7 @@ std::unique_ptr<EngineInfo> IoctlHelperXe::createEngineInfo(bool isSysmanEnabled
auto queryEngines = reinterpret_cast<struct drm_xe_query_engines *>(enginesData.data()); auto queryEngines = reinterpret_cast<struct drm_xe_query_engines *>(enginesData.data());
auto numberHwEngines = queryEngines->num_engines; auto numberHwEngines = getNumEngines(enginesData.data());
xeLog("numberHwEngines=%d\n", numberHwEngines); xeLog("numberHwEngines=%d\n", numberHwEngines);

View File

@ -154,6 +154,7 @@ class IoctlHelperXe : public IoctlHelper {
int getRunaloneExtProperty(); int getRunaloneExtProperty();
virtual bool isExtraEngineClassAllowed(uint16_t engineClass) const { return false; } virtual bool isExtraEngineClassAllowed(uint16_t engineClass) const { return false; }
virtual std::optional<uint32_t> getCxlType() { return {}; } virtual std::optional<uint32_t> getCxlType() { return {}; }
virtual uint32_t getNumEngines(uint64_t *enginesData) const;
struct UserFenceExtension { struct UserFenceExtension {
static constexpr uint32_t tagValue = 0x123987; static constexpr uint32_t tagValue = 0x123987;