mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-05 09:09:04 +08:00
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:
committed by
Compute-Runtime-Automation
parent
1cffe921ba
commit
c4bb209f91
@@ -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;
|
||||
}
|
||||
|
||||
@@ -244,6 +244,8 @@ enum class DrmParam {
|
||||
EngineClassVideoEnhance,
|
||||
EngineClassInvalid,
|
||||
EngineClassInvalidNone,
|
||||
QueryEngineInfo,
|
||||
QueryHwconfigTable,
|
||||
};
|
||||
|
||||
unsigned int getIoctlRequestValue(DrmIoctl ioctlRequest, IoctlHelper *ioctlHelper);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user