diff --git a/shared/source/os_interface/linux/drm_neo.cpp b/shared/source/os_interface/linux/drm_neo.cpp index ec09d49865..c0ffe69dab 100644 --- a/shared/source/os_interface/linux/drm_neo.cpp +++ b/shared/source/os_interface/linux/drm_neo.cpp @@ -1181,7 +1181,7 @@ bool Drm::hasPageFaultSupport() const { return !!DebugManager.flags.EnableRecoverablePageFaults.get(); } - return pageFaultSupported; + return false; } unsigned int Drm::bindDrmContext(uint32_t drmContextId, uint32_t deviceIndex, aub_stream::EngineType engineType, bool engineInstancedDevice) { diff --git a/shared/source/os_interface/linux/drm_neo.h b/shared/source/os_interface/linux/drm_neo.h index 798093a23a..328d45b54f 100644 --- a/shared/source/os_interface/linux/drm_neo.h +++ b/shared/source/os_interface/linux/drm_neo.h @@ -165,7 +165,7 @@ class Drm : public DriverModel { MOCKABLE_VIRTUAL bool registerResourceClasses(); MOCKABLE_VIRTUAL void queryPageFaultSupport(); - bool hasPageFaultSupport() const; + MOCKABLE_VIRTUAL bool hasPageFaultSupport() const; MOCKABLE_VIRTUAL uint32_t registerResource(DrmResourceClass classType, const void *data, size_t size); MOCKABLE_VIRTUAL void unregisterResource(uint32_t handle); diff --git a/shared/test/common/libult/linux/drm_mock.h b/shared/test/common/libult/linux/drm_mock.h index 866708d6a8..cc9ec1e8f2 100644 --- a/shared/test/common/libult/linux/drm_mock.h +++ b/shared/test/common/libult/linux/drm_mock.h @@ -114,6 +114,14 @@ class DrmMock : public Drm { queryPageFaultSupportCalled = true; } + bool hasPageFaultSupport() const override { + if (DebugManager.flags.EnableRecoverablePageFaults.get() != -1) { + return !!DebugManager.flags.EnableRecoverablePageFaults.get(); + } + + return pageFaultSupported; + } + uint32_t createDrmContext(uint32_t drmVmId, bool isDirectSubmissionRequested, bool isCooperativeContextRequested) override { capturedCooperativeContextRequest = isCooperativeContextRequested; if (callBaseCreateDrmContext) {