feature: pass interrupt flag to queue creation api

Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
This commit is contained in:
Bartosz Dunajski
2024-06-06 11:23:55 +00:00
committed by Compute-Runtime-Automation
parent b4c31492d3
commit 455f74991e
14 changed files with 26 additions and 22 deletions

View File

@@ -1164,7 +1164,7 @@ void IoctlHelperXe::xeShowBindTable() {
}
}
int IoctlHelperXe::createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex) {
int IoctlHelperXe::createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex, bool allocateInterrupt) {
drm_xe_exec_queue_create create = {};
uint32_t drmContextId = 0;
@@ -1192,6 +1192,7 @@ int IoctlHelperXe::createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_
}
}
setContextProperties(osContext, &extProperties, extPropertyIndex);
applyContextFlags(&create, allocateInterrupt);
if (extPropertyIndex > 0) {
create.extensions = castToUint64(&extProperties[0]);

View File

@@ -98,7 +98,7 @@ class IoctlHelperXe : public IoctlHelper {
int getDrmParamValue(DrmParam drmParam) const override;
int getDrmParamValueBase(DrmParam drmParam) const override;
std::string getIoctlString(DrmIoctl ioctlRequest) const override;
int createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex) override;
int createDrmContext(Drm &drm, OsContextLinux &osContext, uint32_t drmVmId, uint32_t deviceIndex, bool allocateInterrupt) override;
std::string getDrmParamString(DrmParam param) const override;
bool getTopologyDataAndMap(const HardwareInfo &hwInfo, DrmQueryTopologyData &topologyData, TopologyMap &topologyMap) override;
std::string getFileForMaxGpuFrequency() const override;
@@ -164,6 +164,7 @@ class IoctlHelperXe : public IoctlHelper {
uint16_t getDefaultEngineClass(const aub_stream::EngineType &defaultEngineType);
virtual void setContextProperties(const OsContextLinux &osContext, void *extProperties, uint32_t &extIndexInOut);
virtual void applyContextFlags(void *execQueueCreate, bool allocateInterrupt){};
struct GtIpVersion {
uint16_t major;