Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
|
|
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>
|
|
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>
|
|
[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>
|
|
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>
|
|
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>
|
|
Useful to inspect reports.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
|
|
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>
|
|
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>
|