summaryrefslogtreecommitdiff
path: root/lib/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2023-08-08Revert "tests/i915/kms_frontbuffer_tracking: Split fbc into library"Jouni Högander1-1/+0
This reverts commit 784af2df476fc63504c61919b6eba759c9972be1. This patch is missing added intel_fbc.c and intel_fbc.h files. Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Acked-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2023-08-08Revert "tests/i915/kms_frontbuffer_tracking: Split drrs into library"Jouni Högander1-1/+0
This reverts commit bc3b24882550bbccbf072b428f51aa6edb75aea6. This patch is missing added intel_drrs.h and intel_drrs.c files. Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Acked-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2023-08-08tests/i915/kms_frontbuffer_tracking: Split drrs into libraryJouni Högander1-0/+1
Split drrs handling into library to be used by other testcases as well. v3: Add library function descriptions v2: Moved into libigt instead of static kms_drrs_helper Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
2023-08-08tests/i915/kms_frontbuffer_tracking: Split fbc into libraryJouni Högander1-0/+1
Split fbc handling into library to be used by other tests as well. v3: Add library function descriptions v2: Moved into libigt instead of static kms_fbc_helper Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
2023-07-13lib/xe_util: Return dynamic subtest name for XeZbigniew Kempczyński1-1/+2
For tests which are working on more than one region using name suffix like "vram01-system" etc. is common thing. Instead handcrafting this naming add xe_memregion_dynamic_subtest_name() function which is similar to memregion_dynamic_subtest_name() for i915. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Karolina Stolarek <karolina.stolarek@intel.com>
2023-07-05lib/amdgpu: prepared shared part of multimedia testsVitaly Prosyak1-1/+2
Refactored shared part of mmd tests ported from drmlib which includes the following : 1. Harcoded firmware commands. 2. Hardcoded raw for encoding and compressed for decoding frames. 3. Register definitions . 4. Common functions for mmd tests. 5. Properly formatted code to meet igt guidelines. The next series of patches would include the tests for uvd, vce and vcn, and jpeg engines using this shared part. Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Acked-by: Leo Liu <leo.liu@amd.com>
2023-06-26lib/intel_blt: Prepare blt library to support xeZbigniew Kempczyński1-4/+4
Migrate i915/i915_blt -> intel_blt as a preparation step before extending to support xe. It is a simple move of files and rename of i915 -> fd field. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com> Reviewed-by: Karolina Stolarek <karolina.stolarek@intel.com>
2023-06-14lib/igt_kmod: add compatibility for KUnitIsabella Basso1-0/+1
This adds functions for both executing the tests as well as parsing (K)TAP kmsg output, as per the KTAP spec [1]. [1] https://www.kernel.org/doc/html/latest/dev-tools/ktap.html v1 -> v2: - refactor igt_kunit function and ktap parser so that we have only one parser that we call only once (code size is now less than half the size as v1) - add lookup_value helper - fix parsing problems v2 -> v3: - move ktap parsing functions to own file - rename to ktap_parser - get rid of unneeded pointers in igt_kunit - change return values to allow for subsequent call to igt_kselftests if needed - add docs to parsing functions and helpers - switch to line buffering - add line buffering logging helper - fix kunit module handling - fix parsing of version lines - use igt_subtest blocks to improve output handling on the CI - fix output handling during crashes Signed-off-by: Isabella Basso <isabbasso@riseup.net> v3 -> v4: - handle igt_ktap_parser fail with IGT_EXIT_ABORT code v4 -> v5: - added missing newlines in igt_warn - removed setvbuf Signed-off-by: Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com> Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org> Cc: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-06-12lib/i915/mocs: Move mocs library to 'lib' folderChristoph Manszewski1-1/+1
Since mocs are driver agnostic and are currently used in driver agnostic code, move them to the 'lib' folder and get rid of i915 references. Signed-off-by: Christoph Manszewski <christoph.manszewski@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2023-05-31Use the new procps library libproc2Craig Small1-1/+6
Added support for new libproc2. [Corrected some errors pointed by checkpatch.pl, add linux includes in #ifdef __linux__ section] v2: changed to igt_fork_helper and added error print [Kamil] v3: removed include <limits.h> pointed by Mauro [Kamil] Signed-off-by: Craig Small <csmall@dropbear.xyz> Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-05-15lib: Extract igt_drm_clients from intel_gpu_topTvrtko Ursulin1-0/+8
Extract some code into a new library to prepare for further work towards making a vendor agnostic gputop tool. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Rob Clark <robdclark@chromium.org>
2023-04-18lib: Add vmwgfx supportMaaz Mombasawala1-0/+1
Introduce basic support for vmwgfx into igt library functions and build system. This includes functions for accessing vmwgfx specific ioctls and other common functionality to be used by tests. Signed-off-by: Roye Eshed <reshed@vmware.com> Signed-off-by: Zack Rusin <zackr@vmware.com> Signed-off-by: Maaz Mombasawala <mombasawalam@vmware.com> Reviewed-by: Martin Krastev <krastevm@vmware.com> Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
2023-04-05xe/xe_compute: place OpenCL kernel on a separate fileMauro Carvalho Chehab1-0/+1
In order to prepare for supporting multiple Kernels, move the tgllp to a separate file. While here, address a few coding style nitpicks. Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-03-24meson: get rid of a future-deprecated warningMauro Carvalho Chehab1-1/+1
A warning is generated with newer meson versions: NOTICE: Future-deprecated features used: * 0.56.0: {'meson.source_root'} While there is a new macro to get it, that would rise the dependency chain to meson 0.56. So, instead, just store it on a variable. Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-03-09lib/xe: Introduce Xe libraryZbigniew Kempczyński1-0/+4
Xe, is a new driver for Intel GPUs that supports both integrated and discrete platforms starting with Tiger Lake (first Intel Xe Architecture). Series was split to allow easier review. Library, drm uapi, tests, tools and other were squashed according to code subject. This patch introduces library used for Xe tests. As there's not too trivial to calculate credits for squashed subjects full series credits are: Co-developed-by: Matthew Brost [commits: 90 / lines changed: 12574] Co-developed-by: Mauro Carvalho Chehab [commits: 28 / lines changed: 1873] Co-developed-by: Rodrigo Vivi [commits: 15 / lines changed: 1317] Co-developed-by: Jason Ekstrand [commits: 14 / lines changed: 1418] Co-developed-by: Francois Dugast [commits: 8 / lines changed: 1082] Co-developed-by: Philippe Lecluse [commits: 6 / lines changed: 560] Co-developed-by: Zbigniew Kempczyński [commits: 4 / lines changed: 1091] Co-developed-by: Matthew Auld [commits: 3 / lines changed: 35] Co-developed-by: Niranjana Vishwanathapura [commits: 2 / lines changed: 66] Co-developed-by: Maarten Lankhorst [commits: 2 / lines changed: 774] Co-developed-by: Ryszard Knop [commits: 1 / lines changed: 12] Co-developed-by: Thomas Hellström [commits: 1 / lines changed: 12] Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Acked-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2023-02-13lib/i915: Rename intel_tiling_info libraryKarolina Stolarek1-3/+3
The structs here describe the properties of copy commands, not just tiling formats they support. Make the library name more generic. Rename blt_tiling_info struct to blt_cmd_info to match this change. Signed-off-by: Karolina Stolarek <karolina.stolarek@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2023-01-23lib/dsc: Move VDSC functions to separate lib fileSwati Sharma1-0/+1
Move dsc func() from lib/igt_kms to lib/igt_dsc. With DSC1.2a new functions will be introduced. It's better to create separate file having dsc specific functions instead of overcrowding igt_kms. v2: -use of SPDX licence placeholder Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
2023-01-23i915/lib: Add new library for blitter and tiling formatsKarolina Stolarek1-1/+4
Add structs to describe what blitter commands and tiling formats are supported per platform. Move blt_tiling enum to the newly created library and update its definition. Signed-off-by: Karolina Stolarek <karolina.stolarek@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2023-01-20Revert VDSC lib changesSwati Sharma1-1/+0
This reverts commit 2a611c37bd170763052bf6c17aa2d48cf09a63c1 commit 65202cbc6109f17cf786a95947f4ee9223aec6b8 commit b6984b946ba66f6bb0452b223fe188429ddeab34 commit bbc2a5ceadb656552c5bcf95a19ce2b292a78128 Series broke git pipeline, revert above commits. Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
2023-01-20lib/dsc: Move VDSC functions to separate lib fileSwati Sharma1-0/+1
Move dsc func() from lib/igt_kms to lib/igt_dsc. With DSC1.2a new functions will be introduced. It's better to create separate file having dsc specific functions instead of overcrowding igt_kms. v2: -use of SPDX licence placeholder Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
2023-01-09lib/amdgpu: add cp dma helper functionsVitaly Prosyak1-1/+2
P2P dma-buf support allows drivers to share device memory (e.g., gtt, vram) with other devices using the dma-buf framework. The DMA is capable of performing mem-to-mem, mem-to-reg, reg-to-mem or reg-to-reg transfers. CP DMA tests are executed between GTT and VRAM of a single chip and also between separate ASICs. Port cp dma tests from drm_lib with the following improvements: - remove any global variables which restrict scalability and readability - reuse memory allocation helpers vs new helpers as in the original test - use helper structs to reduce the number of parameters in functions. Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
2022-12-19lib/meson: Remove libdrm configuration and intel_bufmgr stubsZbigniew Kempczyński1-7/+0
We don't need to link with intel libdrm so get rid of libdrm configuration as well as bufmgr stub. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-12-19lib/intel_decode: Get drm decode code and adopt to use in igtZbigniew Kempczyński1-0/+1
Decoding part is in use in intel_dump_decode and intel_error_decode tools. To detach from libdrm just take copy - it is almost verbatim (apart of rename and some minor intel_gen() adoptions). Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-12-13lib/igt_pci: helpers to get PCI capabilities offsetAnshuman Gupta1-0/+1
Added helper functions to search for PCI capabilities with help of libpciaccess library. v2: - Added offset == 0 check at starts of capability loop. [Badal] - Removed unused macro and removed inline from function. [Kamil] - Added assertion when capability offset doesn't terminate. [Kamil] - Made find_pci_cap_offset_at() static, exported only find_pci_cap_offset(). [Kamil] v3: - Initialized the offset and cap_header with 0xff. [Marchin] - Removed a redundant !offset check. [Marchin] Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Co-developed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com> Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
2022-12-09lib/dmabuf_sync_file: move common stuff into libMatthew Auld1-0/+1
So we can use this across different tests. v2 - Add docs for everything (Petri) - Add missing copyright and fix headers slightly (Kamil) v3: - Just return true/false, for the has() family of functions, instead of tripping up an assert() (Kamil) Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Cc: Andrzej Hajda <andrzej.hajda@intel.com> Cc: Nirmoy Das <nirmoy.das@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
2022-12-07lib/intel_allocator: Remove RANDOM allocatorZbigniew Kempczyński1-1/+0
It was added in first allocator series as modification of previously existing offset provider. As it is randomizing offsets there's a risk they can overlap and during exec we can get ENOSPC in softpin mode. Another thing is nobody is using it, so it is good idea to remove it and prevent to have incidental failures in case of use. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
2022-12-05v2: Add mtl to perf-metrics-codegen.py (Umesh)Lionel Landwerlin1-0/+1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-11-14tests/amdgpu: PCI unplug 4 tests for different scenario.Vitaly Prosyak1-1/+3
1. A simple test with basic unplug and rescan. 2. Test with command submission using a worker thread 3. Test with an exported buffer object 4. Test with an exported fence to another device. More then one GPUs are required. Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Reviewed-by: Pierre-eric Pelloux-prayer <Pierre-eric.Pelloux-prayer@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2022-11-14lib/amdgpu: add deadlock helperVitaly Prosyak1-1/+2
Add wait_memory_helper to submit the jobs where wait for the register in memory to be modified, but we change the value after we request the fence of the job status to create a condition that GPU hung is detected and GPU reset is executed. The helper function is flexible and could be used for gfx, compute and sdma. Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Reviewed-by: Pierre-eric Pelloux-prayer <Pierre-eric.Pelloux-prayer@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2022-11-01kms_chamelium: Add new EDID stress resolution testMark Yacoub1-2/+2
[Why] 2 things that happens concurrently that we would like to test: 1. Test multiple plug/unplug of different monitors (as in different EDIDs) to the DUT in a short time span. 2. Test that the different EDIDs are understood well by the DUT through verifying the resolution after each plug and enable output. [How] 1. Get EDID from list of EDIDs 2. Set the EDID 3. Plug and enable display 4. Check the resolution 5. Unplug and repeat. TODO: 1. Add more EDIDs 2. Do the same for HDMI Test Based on: [ChromeOS AutoTest display_EdidStress](https://chromium.googlesource.com/chromiumos/third_party/autotest/+/HEAD/server/site_tests/display_EdidStress/display_EdidStress.py) Tested on: TGL with Cv3 Signed-off-by: Mark Yacoub <markyacoub@chromium.org>
2022-11-01lib/crc: Move pipe CRC stuff out from igt_debugfsVille Syrjälä1-0/+1
No reason to hide the pipe CRC code inside the debugfs stuff. The fact that pipe CRCs are operated through debugfs is just an irrelevant implementation detail. Fixed up the few cases that don't include igt.h with this cocci: @find@ identifier ID; @@ igt_crc_t ID; @has_include@ @@ ( #include "igt_pipe_crc.h" | #include "igt.h" ) @depends on find && !has_include@ @@ #include "igt_kms.h" + #include "igt_pipe_crc.h" v2: better cocci to catch lib/igt_chamelium.c v3: Rebase and roll on doc fix from Petri v4: Use SPDX stuff Reviewed-by: Petri Latvala <petri.latvala@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2022-10-31lib/runnercomms: Structured communication from tests to igt_runnerPetri Latvala1-0/+1
Instead of letting the tests output their logs as text and parsing that in the runner during and after test execution, introduce a structured log format that is passed through a UNIX datagram socket. This patch only introduces the datagram format and helpers for creating/reading them. Key points about the format: It's binary, and has some amount of forwards and backwards compatibility. Passing through UNIX datagram sockets makes the communication atomic which avoids message interleaving between child process logging. (Threaded logging already gets correct serialization through the use of a mutex, no change there.) Having atomic logging also gives the possibility of igt_runner injecting messages into test logs without having to worry whether the stdout pipe is still in the middle of printing a subtest completion message for example. On-disk storage of datagrams will use a canary chunk to verify correctly sized reads of datagrams, and to ensure that the endianness of the reader and the dump match. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Cc: Arkadiusz Hiler <arek@hiler.eu> Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
2022-10-28lib/i915/perf: add helper function to get report reasonLionel Landwerlin1-1/+1
Useful to inspect reports. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-28lib/i915/perf: store bit shifting required for OA timestampsLionel Landwerlin1-2/+2
Some new platforms have the OA timestamps shifted to the right by a number of bits. This is configurable but since i915 appears to leave the default values, let's just hardcode this in the device info. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-28lib/i915/perf: add a helper to read timestampsLionel Landwerlin1-2/+2
We expect location/size of the timestamp might move around in the report. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-28lib/i915/perf-config: Bump up the soversionUmesh Nerlige Ramappa1-1/+1
Add soversion update that was missed as part of the below patch: "lib/i915/perf-config: extend the device info" Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
2022-10-24lib/i915/perf: Add ACM GT3 metricsLionel Landwerlin1-1/+1
Add ACM GT3 metrics XML files for perf OA tests. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-24lib/i915/perf: Add ACM GT2 metricsLionel Landwerlin1-1/+1
Add ACM GT2 metrics XML files for perf OA tests. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-24lib/i915/perf: Add ACM GT1 metricsLionel Landwerlin1-0/+1
Add ACM GT1 metrics XML files for perf OA tests. v2: - Drop oa_timestamp_mask and oa_timestamp_shift and introduce it in a new series. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-24lib/i915/perf-config: extend the device infoLionel Landwerlin1-1/+1
This will allow equations to check for finer information on the topology. Also add EuDualSubslicesSlice0123Count. v2: Since the patches are now split, update version from 1.2.0 -> 1.3.0 v3: s/DIV_ROUND_UP/_DIV_ROUND_UP/ to fix compile warning Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
2022-10-17lib/igt_power: Rename lib igt_rapl with igt_powerRiana Tauro1-1/+1
Rename igt_rapl library to igt_power. No functional changes Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Riana Tauro <riana.tauro@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2022-10-17lib/igt_hwmon: Introduce library igt_hwmonRiana Tauro1-0/+1
igt_hwmon exposes methods to open hwmon directories identified by name v2: Add license(Petri) Cc: Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by: Riana Tauro <riana.tauro@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2022-10-05lib: Introduce typed cleanupsChris Wilson1-0/+1
We close devices on exit but that doesn't work when inside igt_subtest_group is used igt_skip(), as it uses longjmp, causing the code to go out of scope and miss close(). Start introducing standard types with automatic cleanup courtesy of gcc's __attribute__((cleanup)). This also works with clang, when using volatile integers. As an example, we start with an fd that will automatically call close() on going out of scope, and crucially before atexit where we will want to check for resource leaks. [mchehab: add test descriptions] Suggested-by: Andrzej Hajda <andrzej.hajda@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Andrzej Hajda <andrzej.hajda@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Nirmoy Das <nirmoy.das@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
2022-09-01lib/amdgpu: added dispatch tests for gfx and computeVitaly Prosyak1-1/+2
Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
2022-09-01lib/amdgpu: added dispatch helper functionsVitaly Prosyak1-0/+1
Refactor amdgpu_sync_dependency_test to use new approach for registers offset. Refactor amd_PM4.h Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
2022-09-01lib/amdgpu: improve operations to create commands and miscVitaly Prosyak1-0/+2
Add and refactor the following methods to amdgpu_cmd_base: - emit_aligned - emit_repeat - emit_at_offset - emit_buf (refactor) Added register declarations and access functions. We will use MESA registers declarations in future commits. Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
2022-08-24igt: Allow overriding the commit hash in the version stringRyszard Knop1-1/+7
By default, the latest Git commit hash is always used to create the version string embedded in libigt - if libigt changes, most targets are marked as "dirty" and need to be relinked. This makes it difficult to easily compare two IGT builds on binaries alone. This commit introduces a new Meson option, -Dversion_hash="your text!", which allows overriding this hash, for instance under CI builds. Signed-off-by: Ryszard Knop <ryszard.knop@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2022-07-27lib/amdgpu: add shaders in binary formVitaly Prosyak1-0/+1
Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com> Acked-by: Christian König <christian.koenig@amd.com>
2022-06-13lib/i915_crc: Introduce crc32 on gpu for DG2Zbigniew Kempczyński1-0/+1
Adding crc32 calculation on gpu gives us new possibility to verify data integrity without relying on trust cpu mapping is correct. Patch introduces calculating crc32 on DG2 only. On older gens ALU (MI_MATH) doesn't support bit-shifting instructions as well as multiply or divide. Emulating n-bit shifts cost hundred of instructions with predicated SRM (works on render engine only). Another limitation is lack of indexed load / store. On DG2 we can use WPARID and CS_MI_ADDRESS_OFFSET to achieve indexed operation on memory. Due to performance reasons (cpu crc32 calculation even on WC memory is still much faster than on gpu, also depends on calculated object memory region) calculation will complete in reasonable of time only for few MiB. v2: - use registers relative to engine to allow run on all engines (Chris) - use predication instead of memory access to get better performance (Chris) - add location where crc32 implementation comes from (Petri) v4: - use common crc32 table from igt_crc - add docs v5: - change BIT(n) to informative macros (Zbigniew) Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2022-06-13lib/igt_crc: Introduce common place for crc tables and functionsZbigniew Kempczyński1-0/+1
Add crc32 table for on-cpu crc calculation function. Other tables and algorithms should be added here allowing reuse tables for in-gpu crc calculation. Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>