Commit Graph

141 Commits

Author SHA1 Message Date
Jobczyk, Lukasz a79b682fc2 Move a GfxPartition to the core dir
Related-To: NEO-3677

Change-Id: Ia89ba93eefbb2921ef7d64bde7ed4114a0c78e0d
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-04 15:42:25 +02:00
Jobczyk, Lukasz 76fe09c2a9 Handle page faults while accessing unified memory
Related-To: NEO-3330

Change-Id: I7e21f894e9d1c82598954c49342d1f65af07498f
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-09-04 13:28:53 +02:00
Mateusz Jablonski 94761a78d6 Unregister engine during destruction of related command stream receiver
Change-Id: I9225439b67a11c02998296bd9c3fbc4e2149cae2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-09-03 09:02:41 +02:00
Dunajski, Bartosz 93aeb1f29a Dont call mapAuxGpuVA() when PTManager is not supported
Change-Id: I8ead56c289a83a720f150d89cdbfd4d44dfea1ee
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-09-02 10:39:53 +02:00
Mateusz Jablonski 18982bd016 Move memory for slm window to memory manager
remove redundant methods from MockDevice

Related-To: NEO-3007

Change-Id: I9cc819b9c9118dbb667f5bf87d1bf15787f9b67f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-08-28 12:09:17 +02:00
Jim Snow 4360aff03c Move runtime/helpers/aligned_memory.h to core/helpers
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Change-Id: I15de094c51d4eb18bfff4d17fd34e817b5525fda
2019-08-06 23:56:24 +02:00
Venevtsev, Igor 614104bf37 Remove MMAP allocator from DrmMemoryManager
Related-To: NEO-2877

Change-Id: Iddfadde449b71b2fcfb7d6298db5de014773476d
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-08-05 17:39:21 +02:00
Venevtsev, Igor e721ff1ec3 Add ULT for DrmMemoryManager
- ensure DrmMemoryManager::releaseGpuRange() calls GmmHelper::decanonize()
  before pass gpuAddress to GfxPartition::freeGpuAddressRange()

Related-To: NEO-2877, NEO-3530

Change-Id: I6f6b745a8f9262c6980b9ddd32c70d376fa49726
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-30 13:25:03 +02:00
Milczarek, Slawomir 4198e8f24f Add interface to get local memory size
Related-To: NEO-2687

Change-Id: I8d9913e925f88de34d71da9371d25ec04d2e02d5
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2019-07-29 14:40:56 +02:00
Zbigniew Zdanowicz f01c1d2d49 Add residency mechanism to OS interface
Change-Id: I323ca856d3c901bdc4d5961cdefa42685b53d4d9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-07-19 13:35:11 +02:00
Milczarek, Slawomir 6b77f94275 Extended DRM memory manager with function to copy memory to allocation
Related-To: NEO-2687

Change-Id: I2cd20c1d59dc0c28609fca7a11a5d805e2f21de4
2019-07-10 11:02:21 +02:00
Venevtsev, Igor 4403796f58 Use GfxPartition for GPU address range allocations
[4/n] - Remove allocator32Bit

Related-To: NEO-2877

Change-Id: I0772a7fe1fda19daa12699c546587bd3cdd84f2c
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-07-08 12:09:07 +02:00
Venevtsev, Igor 165d1e4e55 Use GfxPartition for GPU address range allocations
[2/n] - OsAgnosticMemoryManager

Related-To: NEO-2877

Change-Id: I887126362381ac960608a2150fae211631d3cd5b
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-06-25 12:54:20 +02:00
Jobczyk, Lukasz 007982b51f Add the supportsMultiStorageResources flag
Related-To: NEO-3182

Change-Id: I618b734b37c5fb983be55b50d89a965eaedc78fe
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-06-10 17:57:49 +02:00
Mrozek, Michal edb78834cb Move allocateGraphicsMemoryInDevicePool to Os Agnostic memory manager.
Change-Id: Ica179986f401b99e61c3485d549790489cbb1fd5
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2019-05-25 02:12:16 +02:00
Pawel Wilma b64210d3db Add local memory usage selector in memory manager
Related-To: NEO-2906

Change-Id: I3172e9551b8d06437c273b122dc6e9d529155b5c
Signed-off-by: Pawel Wilma <pawel.wilma@intel.com>
2019-05-23 11:05:36 +02:00
Hoppe, Mateusz 97245a2ca6 Refactor MemoryManager::allocateGraphicsMemoryInDevicePool
- create MemoryAllocation for OsAgnosticMemoryManager so that
freeGraphicsMemory is freeing correct object type
- other memory managers do not go this path

Change-Id: If2ada9b77bb4a41d09f82b79502594e0eda9f11b
Signed-off-by: Hoppe, Mateusz <mateusz.hoppe@intel.com>
2019-05-10 13:14:08 +02:00
Mateusz Jablonski cadc461712 Create storage info while getting allocation data
Related-To: NEO-3127

Change-Id: I716a1d5624cf34d74bafd8c9ab3f5cc5ded43275
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-07 14:17:34 +02:00
Mateusz Jablonski 42e255969a Move createStorageInfoFromProperties method to MemoryManager class
Change-Id: I09bbc19aeb377d8fabfe144920c6377cf68066d2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-05-06 11:30:37 +02:00
Venevtsev, Igor f77cd94cd5 [1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager
Related-To: NEO-2877

Change-Id: Ie3d94f68d5c9958b0b7bade600b964b778aeb4cf
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-18 16:41:38 +02:00
Venevtsev, Igor 2ca97d3881 Introduce MemoryManager::getExternalHeapBaseAddress()
Related-To: NEO-2877

Change-Id: I4307224c3be9609f7fc60d7fcb4f91ccdc8a9883
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-16 13:30:10 +02:00
Mateusz Jablonski 1e11d8939f Add new allocation type for device queue's allocatons
remove not used mustBeZeroCopy flag

Related-To: NEO-2733

Change-Id: I8b8faf4e2d46249f897a06170dd777193c7f8729
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-16 10:34:18 +02:00
Venevtsev, Igor 3a008fafc6 Revert "[1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager"
This reverts commit 2bb451e76d922861673e052f5f889658ac7db15f.

Change-Id: I1deada59a291a96ef88c8b9b4f2b28861ad27347
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-12 20:59:40 +02:00
Zbigniew Zdanowicz 971cbd55f3 Add new SVM types
Related-To: NEO-2917

Change-Id: Ica127129799c1e617a326a110348c2f70160b15c
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-04-11 15:27:38 +02:00
Venevtsev, Igor fac6ddaebc [1/n] Use GfxPartition for 32-bit allocations - WddmMemoryManager
Related-To: NEO-2877

Change-Id: I13621bc984e8bb92bea82c07044d9a40bc9ca550
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-04-10 12:58:26 +02:00
Mateusz Jablonski e8259ecf2c Move AllocationProperties to separated header
Related-To: NEO-2860

Change-Id: Ibbc99a60c04ec75d75bf8c3a36d585a07b7f45c2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 16:22:10 +02:00
Mateusz Jablonski ad62e32f76 Remove redudant AllocationProperties constructors
Related-To: NEO-2535, NEO-2860

Change-Id: Iea3061b7a3f9567b6ea8bc3a9ea49651c5f0fcdd
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 15:20:27 +02:00
Mateusz Jablonski 6e7f82c315 Obtain storage info internally, in allocateGraphicsMemoryInPreferredPool
Related-To: NEO-2860

Change-Id: Id7acb10793f3145238f6b930b4c64c20c87a1021
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 11:43:31 +02:00
Mateusz Jablonski 3abfb7cb3f WddmMemoryManager: move logic of handling too low host pointer
Check malloc restrictions in method that allocates memory using host ptr

Related-To: NEO-2860

Change-Id: If1471c410d9a68e1ebacc6379682bfe98d0d75fe
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-04 08:04:49 +02:00
Filip Hazubski b2e16b7897 Update allocationForCacheFlush method
Related-To: NEO-2535

Change-Id: Ia24556814188263e2ebb54b6419feddd5d8ed707
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-04-03 18:07:13 +02:00
Mateusz Jablonski b4ed5468a2 Add device index to AllocationProperties
Change-Id: I3c9f7ea59bf85fbbc948ba23c2b1040f295f586c
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-04-03 10:48:30 +02:00
Dunajski, Bartosz 2243fc950b Improve waiting logic in HostPtrManager
Change-Id: Ib762a9604ad3d398044f289fa8a1aa4df2b4d37a
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-04-03 08:47:49 +02:00
Mateusz Hoppe 5c0c1f77f9 Pass AllocationProperties to createGraphicsAllocationFromSharedHandle()
- only extends interface to MemoryManager

Change-Id: I585d91be95abd50e11eedb53e2acfa3f66491d44
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2019-04-02 08:55:38 +02:00
Piotr Fusik 8cf7cea1e9 Simplify bit operations.
Change-Id: If1401f32df5ebcb3abf614832152abf029a9c5e6
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-27 17:11:29 +01:00
Piotr Fusik d4a0c4852b Move EngineType to aub_stream.
Change-Id: Ieaa75aaf4aca4487833754eb38ff709adcbf0f11
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-27 10:06:29 +01:00
Maciej Plewka 9e52684f5b Change namespace from OCLRT to NEO
Change-Id: If965c79d70392db26597aea4c2f3b7ae2820fe96
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2019-03-26 15:48:19 +01:00
Jobczyk, Lukasz 9ecb3193af Reverse logic of creating Memory Manager - part 3
-Move a Device::getEnabled64kbPages method's logic
 to the Memory Manager constructor

Change-Id: Ide88898000e5817a79f9a6ad5dfc9d680bec0533
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-25 14:42:16 +01:00
Dunajski, Bartosz cbe4e06165 Improve waiting for MemObj completion
Change-Id: I62078224daa21ee1d6f58f1e6dc59e306ae420b6
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-25 10:51:32 +01:00
Piotr Fusik db9afd06cd Remove EngineInstanceT.
Change-Id: I08543b5f4ef5e91e6beb8390d448e53702cd9dac
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-20 10:56:22 +01:00
Mateusz Jablonski 5367440fab Refactor Wddm map gpu address method
Change-Id: I9d3d8675bf80af4079e25b84ba6e09b7883c9e28
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-20 08:40:47 +01:00
Piotr Fusik 429487fad0 Add constructor parameter to select low priority context.
Change-Id: Ieb3fa008a2f1b54052e393516038c88f00944fa0
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-18 15:09:59 +01:00
Zbigniew Zdanowicz cdb52400c4 Add new functions reserving address range to Memory Manager
Change-Id: I947203c24495c9e5a206b95bb0c69440824586b6
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2019-03-14 15:06:11 +01:00
Piotr Fusik 25e6494443 Use std::bitset for deviceBitfield.
Change-Id: I9078ffbb38967b753980cb1c5ebcab00f5292598
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-14 08:36:01 +01:00
Filip Hazubski 01c11fdf98 Fix typo in variable name
Change-Id: I693e73d7fcb7c586506d3e102b77b95a0a0d3783
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2019-03-13 09:23:28 +01:00
Piotr Fusik ec72787b98 Remove MemoryManager::allocateGraphicsMemoryForHostPtr.
Change-Id: I629f2299a183fc135135dbaff89216b966554a95
Signed-off-by: Piotr Fusik <piotr.fusik@intel.com>
2019-03-12 15:51:32 +01:00
Venevtsev, Igor 74f1896c03 Expose GfxPartition to shared MemoryManager
Change-Id: I039e463f90e88c0ed8e9505cc770c373420ff567
Signed-off-by: Venevtsev, Igor <igor.venevtsev@intel.com>
2019-03-12 09:25:50 +01:00
Maciej Dziuban 79d0878e64 Wait for resource not being used in freeGraphicsMemory
Change-Id: I201d914569fc0cf6f9eb616d456a670b0b8741ab
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com>
2019-03-11 12:18:38 +01:00
Mateusz Jablonski 3f690e1758 Dont unlock/evict wddm allocations during releasing memory
Change-Id: Ib934867886a883a22fde2f0c03e16338dc215e65
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2019-03-11 10:20:09 +01:00
Jobczyk, Lukasz 878fd43a1a Reverse logic of creating Memory Manager - part 1
-remove CSR::createMemoryManager method
-create MM from platform before creating devices

Change-Id: I0e7f091c53b0e60ae7101e82a305253af626330e
Signed-off-by: Jobczyk, Lukasz <lukasz.jobczyk@intel.com>
2019-03-08 09:47:29 +01:00
Dunajski, Bartosz f24b428cf7 Improve HardwareContextController creation
Change-Id: Iba929a2b4fcd993b38dd674be578aad0a481e8de
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2019-03-06 12:31:20 +01:00