refactor: improve engine query
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
parent
ce0cbc2dca
commit
a04cf31110
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue