feature: add query for additional device properties

Related-To: NEO-12590

Signed-off-by: Alicja Lukaszewicz <alicja.lukaszewicz@intel.com>
This commit is contained in:
Alicja Lukaszewicz
2024-10-28 13:57:32 +00:00
committed by Compute-Runtime-Automation
parent 637541ba93
commit 654fdc1345
12 changed files with 83 additions and 0 deletions

View File

@@ -322,6 +322,8 @@ class MemoryManager {
size_t getUsedSystemMemorySize() const { return sysMemAllocsSize; }
uint32_t getFirstContextIdForRootDevice(uint32_t rootDeviceIndex);
virtual void getExtraDeviceProperties(uint32_t rootDeviceIndex, uint32_t *moduleId, uint16_t *serverType) { return; }
protected:
bool getAllocationData(AllocationData &allocationData, const AllocationProperties &properties, const void *hostPtr, const StorageInfo &storageInfo);
static void overrideAllocationData(AllocationData &allocationData, const AllocationProperties &properties);

View File

@@ -2794,4 +2794,8 @@ bool DrmMemoryManager::usmCompressionSupported(Device *device) {
return false;
}
void DrmMemoryManager::getExtraDeviceProperties(uint32_t rootDeviceIndex, uint32_t *moduleId, uint16_t *serverType) {
getDrm(rootDeviceIndex).getIoctlHelper()->queryDeviceParams(moduleId, serverType);
}
} // namespace NEO

View File

@@ -120,6 +120,8 @@ class DrmMemoryManager : public MemoryManager {
bool usmCompressionSupported(Device *device) override;
MOCKABLE_VIRTUAL SubmissionStatus emitPinningRequestForBoContainer(BufferObject **bo, uint32_t boCount, uint32_t rootDeviceIndex) const;
void getExtraDeviceProperties(uint32_t rootDeviceIndex, uint32_t *moduleId, uint16_t *serverType) override;
protected:
void registerSharedBoHandleAllocation(DrmAllocation *drmAllocation);
BufferObjectHandleWrapper tryToGetBoHandleWrapperWithSharedOwnership(int boHandle, uint32_t rootDeviceIndex);

View File

@@ -223,6 +223,8 @@ class IoctlHelper {
virtual uint64_t *getPagingFenceAddress(uint32_t vmHandleId, OsContextLinux *osContext);
virtual bool queryDeviceParams(uint32_t *moduleId, uint16_t *serverType) { return false; }
protected:
Drm &drm;
ExternalCtx *externalCtx = nullptr;