Move query hwconfig table and engine info to DrmParam enum

Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
Mateusz Jablonski
2022-06-01 16:03:01 +00:00
committed by Compute-Runtime-Automation
parent 1cffe921ba
commit c4bb209f91
13 changed files with 93 additions and 100 deletions

View File

@@ -966,7 +966,7 @@ int Drm::waitUserFence(uint32_t ctxId, uint64_t address, uint64_t value, ValueWi
}
bool Drm::querySystemInfo() {
auto request = ioctlHelper->getHwConfigIoctlVal();
auto request = ioctlHelper->getDrmParamValue(DrmParam::QueryHwconfigTable);
auto deviceBlobQuery = this->query(request, 0);
if (deviceBlobQuery.empty()) {
PRINT_DEBUG_STRING(DebugManager.flags.PrintDebugMessages.get(), stdout, "%s", "INFO: System Info query failed!\n");
@@ -991,7 +991,8 @@ bool Drm::queryMemoryInfo() {
}
bool Drm::queryEngineInfo(bool isSysmanEnabled) {
auto enginesQuery = this->query(ioctlHelper->getEngineInfoIoctlVal(), 0);
auto request = ioctlHelper->getDrmParamValue(DrmParam::QueryEngineInfo);
auto enginesQuery = this->query(request, 0);
if (enginesQuery.empty()) {
return false;
}

View File

@@ -244,6 +244,8 @@ enum class DrmParam {
EngineClassVideoEnhance,
EngineClassInvalid,
EngineClassInvalidNone,
QueryEngineInfo,
QueryHwconfigTable,
};
unsigned int getIoctlRequestValue(DrmIoctl ioctlRequest, IoctlHelper *ioctlHelper);

View File

@@ -78,14 +78,12 @@ class IoctlHelper {
virtual CacheRegion closFree(Drm *drm, CacheRegion closIndex) = 0;
virtual int waitUserFence(Drm *drm, uint32_t ctxId, uint64_t address,
uint64_t value, uint32_t dataWidth, int64_t timeout, uint16_t flags) = 0;
virtual uint32_t getHwConfigIoctlVal() = 0;
virtual uint32_t getAtomicAdvise(bool isNonAtomic) = 0;
virtual uint32_t getPreferredLocationAdvise() = 0;
virtual bool setVmBoAdvise(Drm *drm, int32_t handle, uint32_t attribute, void *region) = 0;
virtual bool setVmPrefetch(Drm *drm, uint64_t start, uint64_t length, uint32_t region) = 0;
virtual uint32_t getDirectSubmissionFlag() = 0;
virtual int32_t getMemRegionsIoctlVal() = 0;
virtual int32_t getEngineInfoIoctlVal() = 0;
virtual uint32_t getComputeSlicesIoctlVal() = 0;
virtual std::unique_ptr<uint8_t[]> prepareVmBindExt(const StackVec<uint32_t, 2> &bindExtHandles) = 0;
virtual uint64_t getFlagsForVmBind(bool bindCapture, bool bindImmediate, bool bindMakeResident) = 0;
@@ -139,14 +137,12 @@ class IoctlHelperUpstream : public IoctlHelper {
CacheRegion closFree(Drm *drm, CacheRegion closIndex) override;
int waitUserFence(Drm *drm, uint32_t ctxId, uint64_t address,
uint64_t value, uint32_t dataWidth, int64_t timeout, uint16_t flags) override;
uint32_t getHwConfigIoctlVal() override;
uint32_t getAtomicAdvise(bool isNonAtomic) override;
uint32_t getPreferredLocationAdvise() override;
bool setVmBoAdvise(Drm *drm, int32_t handle, uint32_t attribute, void *region) override;
bool setVmPrefetch(Drm *drm, uint64_t start, uint64_t length, uint32_t region) override;
uint32_t getDirectSubmissionFlag() override;
int32_t getMemRegionsIoctlVal() override;
int32_t getEngineInfoIoctlVal() override;
uint32_t getComputeSlicesIoctlVal() override;
std::unique_ptr<uint8_t[]> prepareVmBindExt(const StackVec<uint32_t, 2> &bindExtHandles) override;
uint64_t getFlagsForVmBind(bool bindCapture, bool bindImmediate, bool bindMakeResident) override;
@@ -205,14 +201,12 @@ class IoctlHelperPrelim20 : public IoctlHelper {
CacheRegion closFree(Drm *drm, CacheRegion closIndex) override;
int waitUserFence(Drm *drm, uint32_t ctxId, uint64_t address,
uint64_t value, uint32_t dataWidth, int64_t timeout, uint16_t flags) override;
uint32_t getHwConfigIoctlVal() override;
uint32_t getAtomicAdvise(bool isNonAtomic) override;
uint32_t getPreferredLocationAdvise() override;
bool setVmBoAdvise(Drm *drm, int32_t handle, uint32_t attribute, void *region) override;
bool setVmPrefetch(Drm *drm, uint64_t start, uint64_t length, uint32_t region) override;
uint32_t getDirectSubmissionFlag() override;
int32_t getMemRegionsIoctlVal() override;
int32_t getEngineInfoIoctlVal() override;
uint32_t getComputeSlicesIoctlVal() override;
std::unique_ptr<uint8_t[]> prepareVmBindExt(const StackVec<uint32_t, 2> &bindExtHandles) override;
uint64_t getFlagsForVmBind(bool bindCapture, bool bindImmediate, bool bindMakeResident) override;

View File

@@ -175,10 +175,6 @@ int IoctlHelperPrelim20::waitUserFence(Drm *drm, uint32_t ctxId, uint64_t addres
return IoctlHelper::ioctl(drm, DrmIoctl::GemWaitUserFence, &wait);
}
uint32_t IoctlHelperPrelim20::getHwConfigIoctlVal() {
return PRELIM_DRM_I915_QUERY_HWCONFIG_TABLE;
}
uint32_t IoctlHelperPrelim20::getAtomicAdvise(bool isNonAtomic) {
return isNonAtomic ? PRELIM_I915_VM_ADVISE_ATOMIC_NONE : PRELIM_I915_VM_ADVISE_ATOMIC_SYSTEM;
}
@@ -231,10 +227,6 @@ int32_t IoctlHelperPrelim20::getMemRegionsIoctlVal() {
return PRELIM_DRM_I915_QUERY_MEMORY_REGIONS;
}
int32_t IoctlHelperPrelim20::getEngineInfoIoctlVal() {
return PRELIM_DRM_I915_QUERY_ENGINE_INFO;
}
uint32_t IoctlHelperPrelim20::getComputeSlicesIoctlVal() {
return PRELIM_DRM_I915_QUERY_COMPUTE_SLICES;
}
@@ -636,6 +628,10 @@ int IoctlHelperPrelim20::getDrmParamValue(DrmParam drmParam) const {
switch (drmParam) {
case DrmParam::EngineClassCompute:
return PRELIM_I915_ENGINE_CLASS_COMPUTE;
case DrmParam::QueryEngineInfo:
return PRELIM_DRM_I915_QUERY_ENGINE_INFO;
case DrmParam::QueryHwconfigTable:
return PRELIM_DRM_I915_QUERY_HWCONFIG_TABLE;
default:
return getDrmParamValueBase(drmParam);
}

View File

@@ -87,10 +87,6 @@ int IoctlHelperUpstream::waitUserFence(Drm *drm, uint32_t ctxId, uint64_t addres
return 0;
}
uint32_t IoctlHelperUpstream::getHwConfigIoctlVal() {
return DRM_I915_QUERY_HWCONFIG_TABLE;
}
uint32_t IoctlHelperUpstream::getAtomicAdvise(bool isNonAtomic) {
return 0;
}
@@ -115,10 +111,6 @@ int32_t IoctlHelperUpstream::getMemRegionsIoctlVal() {
return DRM_I915_QUERY_MEMORY_REGIONS;
}
int32_t IoctlHelperUpstream::getEngineInfoIoctlVal() {
return DRM_I915_QUERY_ENGINE_INFO;
}
uint32_t IoctlHelperUpstream::getComputeSlicesIoctlVal() {
return 0;
}
@@ -296,6 +288,10 @@ int IoctlHelperUpstream::getDrmParamValue(DrmParam drmParam) const {
switch (drmParam) {
case DrmParam::EngineClassCompute:
return 4;
case DrmParam::QueryEngineInfo:
return DRM_I915_QUERY_ENGINE_INFO;
case DrmParam::QueryHwconfigTable:
return DRM_I915_QUERY_HWCONFIG_TABLE;
default:
return getDrmParamValueBase(drmParam);
}