Commit Graph

68 Commits

Author SHA1 Message Date
Mrozek, Michal 2c896b64b4 DrmGemCloseWorker now works on BufferObject instead of DrmAllocation.
Change-Id: I490edfc7532081eb31f700be70781c276dbc2916
2018-05-11 08:17:35 +02:00
Mrozek, Michal 06287af541 DrmGemCloseWorker - remove not used modes of operation.
Change-Id: Ie8524a8411f1022785536a523aad3e4ebea3a349
2018-05-10 15:34:20 +02:00
mplewka 2bc2869fe1 Refactor ult's for preemption enabling part 2
Change-Id: If8e335e87f3a78d35cab12a17880fb1922d479f5
2018-05-10 13:12:03 +02:00
Mrozek, Michal d1aaf2e42d Refactor naming in drm memory manager tests.
Change-Id: I9dedc5397150869874e15f379d75e7135c11a7b5
2018-05-10 09:21:05 +02:00
Pawel Wilma a0c044e6d2 Extend batch buffer flattening in AubCSR to BatchedDispatch mode
- batch buffer flatening in batched mode
    - added MI_USER_INTERRUPT command
    - added GUC Work Queue Item

Change-Id: I35142da34b30d3006bb4ffc1521db7f6ebe68ebc
2018-04-26 12:45:02 +02:00
Artur Harasimiuk 5fbdad88c6 refactor config.h usage
- add defines to command line
- remove most occurences of include "config.h"

Change-Id: I19d65d83c895fc6143d319d057a50e5ae3e78830
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2018-04-26 10:02:15 +02:00
Hoppe, Mateusz efda64eb4a Source Level Debugger - debugger library interface
- interface to debugger dynamic library
- code is included when source level debugger header exists,
otherwise implementation is exluded from build
- unit tests do not load real dynamic library,
instead test version (DebbugerLibrary) of OsLibrary is used.

Change-Id: Id3229c77963352e8001043ee41b7d48c6b180a59
2018-04-23 11:31:37 +02:00
Mrozek, Michal 59df78cc18 [32/n] Internal 4GB allacator.
- Ensure that heaps passed as IndirectHeap to flushTask

Change-Id: Ib633e3d3027e142a1fdb51e78b970fb1bd1b9b0c
2018-04-18 08:49:08 +02:00
mplewka 079f94cd2d Refactor ult for preemption enabling
Refactoring in ULTs around preemption:
    -refactoring ULTS to not fail with default preemption mode
    -fixing ULT memory leaks observed after enabling preemption
    -mocking getSipKernel in ULTs (to minimize ULT execution time)

Change-Id: I194b56173d7cb23aae94eeeca60051759c817e10
2018-04-16 12:55:30 +02:00
Mrozek, Michal fbad57e843 Add tests for not tested functions.
Change-Id: I02f14d8176fc53eb12b90d5b6145672ef01ccdb0
2018-04-12 10:32:54 +02:00
Dunajski, Bartosz 87f8f735f9 Move KMD Notify logic from CSR to specialized helper
- Decission about timeout enabling and value moved out of CSR
- Timeout multiplier is no longer Linux specific

Change-Id: I6858fe2f811ef13802b95e0470e310210a9dea8b
2018-04-10 08:16:11 +02:00
Zdanowicz, Zbigniew 9bc11a7f48 Adjust PLATFORM values for a given Product Family
Change-Id: I4522df78060861b6f91ac5f125cf6b11023f1509
2018-04-05 10:07:38 +02:00
Dunajski, Bartosz 8505658cab Multiply wait timeout by task count difference
- Linux specific
- Use only for non-quickSleep requests

Change-Id: I245546f83672d128377e51d92b6c7708a7448f05
2018-03-30 12:50:38 +02:00
Artur Harasimiuk bdcaf332ce ULTs: more MemoryManagementFixture cleanup
Change-Id: Iaeb60c9c9e22baf63ff01419a5a6dde1e1652a47
2018-03-30 10:52:50 +02:00
Zdanowicz, Zbigniew 420bbd3954 ULT: Rename Drm2 class name to more descriptive DrmMock
Change-Id: Id02b1d2531610854783ac68905c97b78f4a624b9
2018-03-30 09:42:50 +02:00
Artur Harasimiuk 7e6432a207 ULTs cleanup
- remove unused MemoryManagementFixture.
  MemoryLeaks are tracked using MemoryLeakListener no need to duplicate
  with Fixure.
  MMF should be used when you need to inject memory allocation failure

Change-Id: I95bcaa7051acf540c5b015c5489ed6a6fc38ee8e
2018-03-29 15:09:59 +02:00
Dunajski, Bartosz 9e509f302a Coherency patch cleanup
Change-Id: I1aa89358e5ce9f977c689f18d9186447501ca558
2018-03-29 14:59:36 +02:00
Dunajski, Bartosz 2b6fc61e7b Revert "Coherency patch cleanup"
This reverts commit 8d7e175b12.

Change-Id: Ia5e2d3dd6f622859320e57e659c677c53b775d2a
2018-03-29 10:59:21 +02:00
Dunajski, Bartosz 8d7e175b12 Coherency patch cleanup
Change-Id: I03be418f7e85e599162494e3570a40b470709292
2018-03-29 09:45:31 +02:00
Mrozek, Michal 9bdf01468e [20/n] Internal 4GB allocator.
- Switch to internal heap for kernel ISA allocations.
- remove IH from various functions
- remove IHState from CSR , IH is never dirty
- ISA is no longer copied on enqueue calls.

Change-Id: I0099cf2a9ebab6192ea03a74dd35f7da963fd5a5
2018-03-28 16:07:26 +02:00
Mrozek, Michal 3f59acf54a [19/n] Internal 4GB allocator.
- Allocator now uses uint64_t instead of void*.
- This is due to the fact that it is required to work on 64 bit addresses
in 32 bit dll.

Change-Id: Ia715ea7913efc95a2974aff8dff390203d8125a8
2018-03-28 14:38:23 +02:00
Hoppe, Mateusz aa088da8d3 User pointer read-only memory fix
- do not store fragment in map until hostPointerValidation
is done
- set pointers to nullptr after delete in cleanOsHandles

Change-Id: I0bf99c3215c4b91ce059bb4e94716671c49f1946
2018-03-28 12:42:31 +02:00
Dunajski, Bartosz 5389d4d859 Revert "I915_EXEC_DATA_PORT_COHERENT support"
This reverts commit 933312e098.

Change-Id: I70a48a80c5d06455570dc2a97b99e1fb5edd7c08
2018-03-23 17:22:50 +01:00
Mateusz Jablonski 575d1bf381 Cmake refactor part 20
set global properties with runtime sources, libult sources and
os interface tests

Change-Id: I9a84edf2f021b4581a16c19c7dbb0b2f94c33f4d
2018-03-23 15:51:12 +01:00
Maciej Dziuban aa727b3bcc CapabilityTable adjustments part 1
- Extract hw_info_config.h from Linux directory
- Extract enabling HwInfoConfig from Linux directory
- Create dummy implementations for HwInfoConfig on Windows

Change-Id: Ic9c7525ba9d9b654f238fb661cdbb3eecc421e29
2018-03-23 09:37:39 +01:00
Mateusz Jablonski c0a8522eb1 Cmake refactor part 19
- create new object library igdrcl_libult_env
- move sources shared between igdrcl_tests, igdrcl_aub_tests and
  igdrcl_mt_tests to igdrcl_libult_env
- partially cleanup unit_tests/mt_tests/CMakeLists.txt

Change-Id: I4f4bbfa5649d84d79133b9d5c9bd137c68b7d82e
2018-03-22 16:30:15 +01:00
Woloszyn, Wojciech 0ad81024b7 Implement cl_khr_mipmap_image [1/n]
- Add mipmap image handling for clEnqueueReadImage, clEnqueueWriteImage
- Fix mipmap image handling for clCreateImage

Change-Id: I42938a330b55c7e69a16c26dce3ab5d66f8a8938
2018-03-21 10:51:13 +01:00
Hoppe, Mateusz eec43f65a7 Free allocated BOs for read-only user pointer
- when pinning fails with EFAULT due to read-only memory
used for allocation (BO), mark the allocated fragments
to be freed, as cpu copy will be used.
- prevent possible leaks

Change-Id: I200ba276da5e3a8557df28fe2e411ef30d69a86a
2018-03-20 17:31:18 +01:00
Dunajski, Bartosz 933312e098 I915_EXEC_DATA_PORT_COHERENT support
- new mechanism to switch coherency at exec level

Change-Id: I3e9cca2141822828be7d44e858e8fe2c258efbfa
2018-03-20 10:44:37 +01:00
Mrozek, Michal 385fcdb7ca Fix Linux Global Mem Size computation.
- we need to use getContextParam instead of get aperture size.

Change-Id: I83f39654019ef63eb5fc59566c013ffd5cb5ba25
2018-03-15 17:42:56 +01:00
Hoppe, Mateusz 756aafe3dd Fix indexing of allocated bos in populateOsHandles
- when fragment is already allocated, allcoating is
skipped and index is incremented,
separate index must be used for allocated bos array

Change-Id: I856a99ba4ebdad5375829a43d721c7e1490b18d3
2018-03-15 12:13:29 +00:00
Hoppe, Mateusz a1a20a3b34 Service read only memory passed as host_ptr
- read only memory cannot be used for allocation,
Oses cannot create graphics alocation for such memory
- if memory allocation fails for host_ptr passed
to enqueueWrite calls, then try doing new allocation
and copy host_ptr on cpu

Change-Id: I415a4673ae1319ea8f77e53bd8fba7489fe85218
2018-03-14 13:16:36 +01:00
Artur Harasimiuk ea412d210f utl/drm: remove unused code
Change-Id: Ic793d471a7f71db7aa17be2ab24226d74df80fa7
2018-03-13 16:13:08 +01:00
Artur Harasimiuk 0c5f42c854 refactor ioctl tracking in DrmMock
- track all known ioctls
- fail when not tracked ioctl is invoked

Change-Id: Ic3f4771bc408b16071e8df144cd85240cedaf057
2018-03-13 11:39:23 +01:00
Mrozek, Michal 2119d5db08 [13/n] Internal 4GB allocator.
- Add common function for all memory managers to obtain internal heap base.

Change-Id: Iacdaaf598e8786dad046b3f4550f9c80ce3f15d9
2018-03-12 16:19:24 +01:00
Mateusz Jablonski a8b5a66439 Cmake refactor part 12
igdrcl_tests: define os_interface sources in subdirectories

Change-Id: Ibbf1754bf7a095f22ad152db709614f7e40ed2fb
2018-03-08 22:55:07 +01:00
Pawel Wilma c4c35955d1 Debug option to flatten main and chained batch buffer in AUB dump.
New debug option FlattenBatchBufferForAUBDump has been added. When set it
modifies AUB dump in such way that commands from main and chained batch
buffer are dumped as single allocation. Commands from chained batch buffer are
dumped directly after commands from main batch buffer without
MI_BATCH_BUFFER_START. This feature also requires ImmediateDispatch mode which
can be forced using debug option CsrDispatchMode = 1.

Change-Id: I730760791693a748e7f4e1463ce8e7af94287b93
2018-03-06 12:26:50 +01:00
Mrozek, Michal 4f06b59c1d Do not disable memory leak detection in drm tests.
Change-Id: I08d5751acd773ebe4aaef1b46e740bed2e0a80aa
2018-03-06 10:19:11 +01:00
Artur Harasimiuk 8781bd518e remove some redunant casts in setAdapterInfo
Change-Id: I96bc52e6870346d35209b345362d4ddd951f90b4
2018-03-06 09:09:04 +01:00
Mrozek, Michal 1602fa5a88 [7/n] Internal 4GB allocator
- rename getBase to getCpuBase
- change some test names accordingly.

Change-Id: I6fb2e4714298250147ea7766a916d7f5d62edc54
2018-03-05 22:16:14 +01:00
Mrozek, Michal cfe1f72dcb Remove unnecessary code.
- There is not need to capture stream anymore.
- This may hide potential problems.

Change-Id: I0fdb3752ef7684a95aaf8e29b2c4394722ff0aa3
2018-03-05 21:52:16 +01:00
Woloszyn, Wojciech 5c8cd51fc8 Use allocateGraphicsMemoryForImage for mipmaps
Change-Id: I0cd740ca4c8286fb73f766b74abc50ed53cfc9d0
2018-03-01 20:39:15 +01:00
Slawomir Milczarek f217c9198c Add support for resource lock / unlock on Linux OS
This commit fixes the issue with image contents writes
in the configuration of CSR HW with AUB dump.

Change-Id: Id0c4f36d4f9eee5175267384d42cb75bf41062f3
2018-03-01 15:01:49 +01:00
Dunajski, Bartosz d9dd68a8ef Remove copy constructor for GraphicsAllocation
Change-Id: If547a004b6f9e5cadb1f6ba0a0f44c3ac0d1ff0d
2018-03-01 14:00:24 +01:00
Mrozek, Michal eea76094a1 [5/n] Internal 4GB allocator.
- Refactor drm memory manager tests.
- use dbg state restore
- use unique_ptr

Change-Id: Idaf831334f01ce2a20f2fec23ef146b6070c2172
2018-03-01 13:56:22 +01:00
Mrozek, Michal 0b8234117b Add support for createInternalGraphicsAllocation in DRM
Change-Id: I84090dfc4774506dee993e9c0c78c336367c43fd
2018-03-01 11:30:38 +01:00
Mrozek, Michal 0b6acb4d7a [3/n] Internal 4GB allocator.
-Do not create allocator 32 bit with every DRM memory manager
-This is not needed for apps that do not use this.
-Add allocation of allocator to setForce32BitAddressing

Change-Id: I836b60f6b74eecf678cc9d56851797d0db176107
2018-02-28 16:54:49 +01:00
mplewka 8ace8f8256 Provide smaller surface size for tests
Change-Id: I3f08b85c17ee89f710a449dea3d71c9ecba5b44e
2018-02-28 14:04:23 +01:00
Mrozek, Michal 0e3f2bf361 [4/n] Internal 4GB allocator
-Allocate internal 4GB allocator when DRM memory manager is created.

Change-Id: I072e81de219415a6c02ab1fd1b41b6a8338ee67c
2018-02-28 12:52:31 +01:00
Mrozek, Michal 19c68a608f [1/n] Internal 4GB allocator
- Add new entry point in memory manager for internal allocations.
- Route to allocate32BitGraphicsMemory
- Add new enum to control memory region
- Change mm to memoryManager

Change-Id: I2ee069aa9baf7f69f652022e026569ec4fdb9d77
2018-02-27 16:35:12 +01:00