summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
7 daystests/syncobj_wait: Update invalid-wait-zero-handles testKrzysztof Niemiec1-4/+4
The behavior of DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT has been changed in [1] to accept empty lists of syncobj handles, but the invalid-wait-zero-handles test has not been updated to mirror this change. Fix the assert to check against 0 instead of -EINVAL, and rename the test to wait-zero-handles as this is no longer an invalid scenario. This change mirrors [2] for the syncobj_wait test. [1] https://patchwork.freedesktop.org/patch/554042/ [2] https://patchwork.freedesktop.org/patch/618483/ Signed-off-by: Krzysztof Niemiec <krzysztof.niemiec@intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
7 daystests/intel/xe_fault_injection: Ignore expected errorsJonathan Cavitt1-0/+27
The following errors can be observed when running the xe_fault_injection subtests: [drm] *ERROR* GT0: GuC init failed with -ENOMEM [drm] *ERROR* GT0: Failed to initialize uC (-ENOMEM) probe with driver xe failed with error -12 Add these messages to the dmesg ignore regex to the applicable tests (specifically, all tests for the last error, and all tests that target GuC subsystems for the first two errors). v2: - Fix and merge regex (Kamil) v3: - Rebase change to be compatible with latest revision (Kamil) Closes: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3343 Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com> CC: Francois Dugast <francois.dugast@intel.com> CC: Lucas De Marchi <lucas.demarchi@intel.com> CC: Matthew Brost <matthew.brost@intel.com> CC: Rodrigo Vivi <rodrigo.vivi@intel.com> CC: Michal Wajdeczko <michal.wajdeczko@intel.com> CC: Kamil Konieczny <kamil.konieczny@linux.intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
7 daystests/intel/xe_oa: Fetch OA buffer size from observation IOCTLSai Teja Pottumuttu1-20/+43
Currently, the OA buffer size is hardcoded to 16MB in IGT. The patch refactors it to get the default oa buffer size using DRM_XE_OBSERVATION_IOCTL_INFO ioctl. This way if we decide to increase the default OA buffer size, it wouldn't need IGT modification every time. v2: - Rename the oa_buffer_size global variable [Ashutosh] - Use size_t instead of u64 [Ashutosh] Signed-off-by: Sai Teja Pottumuttu <sai.teja.pottumuttu@intel.com> Reviewed-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
8 daystests/intel/xe_vm: Reduce n_execs for bind-array-enobufsJagmeet Randhawa1-1/+1
The bind-array-enobufs test in xe_vm.c is intended to trigger an -ENOBUFS error by submitting an oversized bind array. After encountering and handling the error, the test reduces n_execs by half and retries the operation. On some environments with stricter resource limits (e.g. simulator), halving n_execs isn't sufficient to prevent the ENOBUFS error on the retry. Reducing n_execs further to n_execs / 4 allows the test to pass successfully. Signed-off-by: Jagmeet Randhawa <jagmeet.randhawa@intel.com> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
10 daystests/intel/kms_frontbuffer_tracking: Fix testplan documentationBhanuprakash Modem1-0/+4
Fix the testplan documentaion for i915 specific tests. Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com> Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
10 daysintel-ci: Blocklist igt@i915_module_load@loadJanusz Krzysztofik1-0/+10
This test expects the i915 module not loaded, and it SKIPs if it finds one already loaded. It was intended only for CI BAT runs as the very first test executed. It's not suitable for CI runs with random test selection and ordering. Since omitting it from non-BAT runs doesn't affect coverage, blocklist it instead of maintaining as expected SKIP. Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6227 Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
10 daystests/intel-ci: Block all gem_exec_fair testsKatarzyna Piecielska1-1/+1
As i915 schedules is not going to be improved there is no need to execute gem_exec_fair tests. For now let's keep them for future reference. Ref: https://gitlab.freedesktop.org/drm/intel/issues/2842 https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12786 Signed-off-by: Katarzyna Piecielska <katarzyna.piecielska@intel.com> Cc: Andi Shyti <andi.shyti@linux.intel.com> Cc: Krzysztof Niemiec <krzysztof.niemiec@intel.com> Reviewed-by: Krzysztof Niemiec <krzysztof.niemiec@intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
10 daystests/kms_hdr: Skip brightness on non-internal panelsSanthosh Reddy Guddati1-0/+6
Skip the brightness test if the output is not an internal panel and log the skip message. -Add closes tag in commit message (Swati). Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3312 Signed-off-by: Santhosh Reddy Guddati <santhosh.reddy.guddati@intel.com> Reviewed-by: Pranay Samala <pranay.samala@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
11 daystests/i915/kms_flip_tiling: Fix pageflip timeout for low vrefresh modesImre Deak1-1/+13
The current fixed 50 ms timeout for pageflip completion is not long enough for low vrefresh modes. In general the timeout should account for one frame for the flip itself + one frame for vblank waiting due to FBC invalidation + a fixed amount for scheduling overhead delivering the completion event to userspace. For the usual 60Hz modes the 50 ms timeout worked ok based on the above (2 * 17 ms + 16 ms), but didn't work for 30 Hz modes (the minimum timeout for those being ~67 ms). Based on the above use a timeout length of 2 * mode specific frame time + 20 ms fixed scheduling delay. Testcase: igt@kms_flip_tiling Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/1491 Reviewed-by: Swati Sharma <swati2.sharma@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com>
11 dayslib/igt_kms: Add igt_kms_frame_time_from_vrefresh()Imre Deak1-20/+17
Export a helper originally added to kms_vrr.c to convert a vertical refresh rate to frame time. Use uint32_t for the type of vrefresh matching the type of drmModeModeInfo::vrefresh. Reviewed-by: Swati Sharma <swati2.sharma@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com>
11 daystests/gem_ccs: Add large-ctrl-surf-copy subtestZbigniew Kempczyński1-0/+130
This is counterpart subtest for i915 driver which has same meaning for Xe (DG2) - check if big surface which ccs data might not fit in single ctrl-surf-copy is handled properly in the blitter library. Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Link: https://lore.kernel.org/r/20241108064712.252927-4-zbigniew.kempczynski@intel.com Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
11 daystests/xe_ccs: Add large-ctrl-surf-copy subtestZbigniew Kempczyński1-2/+143
For big surface which ccs data might not fit in single ctrl-surf-copy blit we need to ensure library code is properly populating batchbuffer with couple of these commands. Lets add the large-ctrl-surf-copy subtest which uses quite large surface 4096 x (4096 + 64) x 32bpp (16MiB). Value 64 was selected intentionally, as 64 is expected aligned height for Tile64 (thus bigger than for other supported tilings) and this size exceeds single ctrl-surf-copy blit on Xe. On Xe2 we have bigger granularity per operation (4MiB) what will produce more blits than on Xe. Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Link: https://lore.kernel.org/r/20241108064712.252927-3-zbigniew.kempczynski@intel.com Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
14 daystests/intel-ci: Remove xe_bo_shrink_kunitNirmoy Das2-1/+6
Remove xe_bo_shrink_kunit which takes a while to run on various machines. There is no good way to make it faster. Also add it to the blocklist so this doesn't executed by non-BAT test. v2: Add it to blocklist(Matt) Cc: Matthew Auld <matthew.auld@intel.com> Suggested-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2998 Signed-off-by: Nirmoy Das <nirmoy.das@intel.com> Acked-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
14 daystests/kms_color: fix data->outputSwati Sharma1-4/+0
data->output at dynamic subtest is getting overwritten by some other output. For ex: Starting dynamic subtest: pipe-C-eDP-1 pipe-C-DP-1: (Max dot-clock: 1305600 KHz), force joiner: No 7680x4320: 30 1030250 7680 7710 7720 7880 4320 4323 4328 4368 0x48 0x9 pipe-C: Last pipe couldn't be used as a Bigjoiner Primary. Test requirement not met in function run_ctm_tests_for_pipe, file ../tests/kms_color.c:827: Test requirement: pipe_output_combo_valid(data, p) Last errno: 2, No such file or directory Dynamic subtest pipe-C-eDP-1: SKIP (0.001s) Here, eDP-1 at dynamic subtest is getting overwritten by DP-1 leading to false results. Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3362 Signed-off-by: Swati Sharma <swati2.sharma@intel.com> Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
14 daystests/kms_vrr: Set VRR_ENABLED property as false for non-VRR panel as wellJouni Högander1-2/+1
Currently we are facing problems with PSR testcases after running negative-basic subtest. These are because VRR_ENABLED property is left enabled by negative-basic subtest and having VRR enabled disables PSR currently. Fix this by setting the property as false for non-VRR panel as well. Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2024-11-14tests/intel-ci/xe-fast-feedback: Add SR-IOV FLR testJakub Kolakowski1-0/+1
Add SR-IOV test to exercise Function Level Reset (FLR) on VF1 in BAT testing. Test being added: - igt@xe_sriov_flr@flr-vf1-clear Signed-off-by: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: Adam Miszczak <adam.miszczak@intel.com> Cc: Marcin Bernatowicz <marcin.bernatowicz@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Reviewed-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
2024-11-14lib/xe/xe_sriov_provisioning: Extract function to search provisioned PTE rangesMarcin Bernatowicz1-89/+41
Extract the function to search for GGTT provisioned PTE ranges for each VF from test/xe_sriov_flr to a library file lib/xe/xe_sriov_provisioning. This refactoring improves code reusability and will allow to prepare a test comparing debugfs exposed ggtt_provisioned attribute. v2: Correct function description (Adam) Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: C V Narasimha <narasimha.c.v@intel.com> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: K V P Satyanarayana <satyanarayana.k.v.p@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com>
2024-11-14tests/intel/xe_sriov_flr: Verify full LMEM rangeMarcin Bernatowicz1-14/+45
Read provisioned LMEM ranges from debugfs lmem_provisioned attribute and verify full LMEM ranges in clear-lmem subcheck. Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Narasimha C V <narasimha.c.v@intel.com> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com>
2024-11-14tests/intel/xe_fault_injection: Inject errors during vm bind IOCTLFrancois Dugast1-1/+75
Use the fault injection infrastructure to make targeted internal KMD functions fail when executing xe_vm_bind_ioctl() so that more code paths are tested, such as error handling and unwinding. v2: Order function names alphabetically (Rodrigo Vivi) Add xe_pt_update_ops_{prepare,run} (Matthew Brost) Signed-off-by: Francois Dugast <francois.dugast@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-11-14tests/intel/xe_fault_injection: Inject errors during vm create IOCTLFrancois Dugast1-2/+53
Use the fault injection infrastructure to make targeted internal KMD functions fail when executing xe_vm_create_ioctl() so that more code paths are tested, such as error handling and unwinding. v2: Order function names alphabetically (Rodrigo Vivi) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Francois Dugast <francois.dugast@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-11-14tests/intel/xe_fault_injection: Use igt_sysfs helpersFrancois Dugast1-66/+61
Make use of existing helpers from igt_sysfs where possible. This improves robustness and removes code duplication. v2: Keep verbose value to 1 (Rodrigo Vivi) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Francois Dugast <francois.dugast@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-11-14tests/intel/xe_fault_injection: Use a static list of functionsFrancois Dugast1-31/+41
Until now the list of error injectable functions was determined at runtime by reading debugfs. This was convenient as a new function added in KMD would automatically be tested in a separate test. This worked well as long as all error injectable functions were meant to only be tested during probe time, which is a specific scenario. As we want to use error injection in other situations, we will not be able to automatically determine if this is a case for probe time, so we need to make it explicit. v2: Order function names alphabetically (Rodrigo Vivi) Signed-off-by: Francois Dugast <francois.dugast@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2024-11-14tests/chamelium/kms_chamelium_edid: Use extended flag to reduce the number ↵Pranay Samala1-1/+25
of edid This test iterates on all the available edids of HDMI. Due to CI test timeut limitation, we are reducing the number of edids to execute to avoid result as timeout. Using extended flag to achieve this. The test will execute only 25 edids when this flag is not used as CI doesnt uses this flag. In local execution to execute on all edids, we have to give this flag at the runtime. Signed-off-by: Pranay Samala <pranay.samala@intel.com> Reviewed-by: Kunal Joshi <kunal1.joshi@intel.com>
2024-11-14tests/kms_3d: Add more logs to skips/failurePranay Samala1-3/+4
Having some logs for test failures and skips would make debugging much easier. v2: Remove CRTC log for fail/skip (Bhanu) v3: Add check for connector connection v4: Remove check for connector connection (Bhanu) v5: Rebasing and sending other version v6: Remove igt_info for connector support (Bhanu) Signed-off-by: Pranay Samala <pranay.samala@intel.com> Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
2024-11-14tests/kms_flip: Update the skip messagePranay Samala1-1/+1
Debugging would be easier if we had logs available for test failures and skips. This patch rephrases the skip message for better understanding. v2: - Remove .c extension in the filename (Swati) v3: - Add version history (Swati) Signed-off-by: Pranay Samala <pranay.samala@intel.com> Reviewed-by: Naladala Ramanaidu <ramanaidu.naladala@intel.com> Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
2024-11-13tests/xe_eudebug: Validate exec queue placementsDominik Grzegorzek1-1/+122
Add test which validates exec_queue_placement uAPI. It requires ccs_mode, which is present only on platforms with multiple ccs engines. Signed-off-by: Dominik Grzegorzek <dominik.grzegorzek@intel.com> Acked-by: Christoph Manszewski <christoph.manszewski@intel.com>
2024-11-12tests/intel/xe_drm_fdinfo: Increase sampling periodLucas De Marchi1-1/+1
This reverts commit 4f79f059766c ("tests/intel/xe_drm_fdinfo: Half the execution time") and goes in the opposite direction, doubling it. Although in some machines we pass consistently, others like LNL show sporadic failures. Even after changes in the kernel to improve it, it still shows those failures. Also, the failures can be much more frequent by stressing all the CPUs. Raise the period to reduce the error introduced due to additional scheduling delays. This shows a good improvement on LNL that doesn't fail anymore without CPU load and fails once every ~200 iterations with 100% CPU load (vs once every ~3 iterations). Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com> Link: https://lore.kernel.org/r/20241108054350.3484532-1-lucas.demarchi@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2024-11-12tests/intel/xe_exec_threads: separate exec_sync and batch bufferFei Yang1-19/+36
In INVALIDATE cases the test purposely remap the data buffer to a different physical location in the midle of execution to exercise the page fault handling flow. After the remapping we lose access to the old physical location, and that would cause a problem for comparing ufence value at the end of the execution. To fix this the exec_sync data needs to be separated from the batch buffer for instructions, and during the execution we don't remap the exec_sync data. v2: Separate only exec_sync. Keep data field together with the batch buffer (Matt Roper) Signed-off-by: Fei Yang <fei.yang@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
2024-11-12tests/intel/xe_exec_threads: wait for all submissions to completeFei Yang1-6/+22
In test_compute_mode, there is an one second sleep waiting for all the submissions to complete, but a hardcode wait is not reliable for test that could have thousands of xe_execs submissions. Instead we should wait for the ufence to make sure the GPU is inactive before unbinding the BO. Signed-off-by: Fei Yang <fei.yang@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
2024-11-12tests/intel/xe_exec_threads: remove redundant waitFei Yang1-1/+1
The for-loop for REBIND case accidentally wait twice for the execs of 0x20*n interations. Copyi paste the code from INVALIDATE case which is correct. Signed-off-by: Fei Yang <fei.yang@intel.com> Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
2024-11-12tests/intel/xe_exec_fault_mode: separate exec_sync and batch bufferFei Yang1-16/+50
In INVALIDATE cases the test purposely remap the data buffer to a different physical location in the midle of execution to exercise the page fault handling flow. After the remapping we lose access to the old physical location, and that would cause a problem for comparing ufence value at the end of the execution. To fix this the exec_sync data needs to be separated from the batch buffer for instructions, and during the execution we don't remap the exec_sync data. v2: Separate only exec_sync. Keep data field together with the batch buffer (Matt Roper) Signed-off-by: Fei Yang <fei.yang@intel.com> Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
2024-11-11tests/intel/kms_ccs: add suspend testsJuha-Pekka Heikkila1-1/+40
Add crc testing for suspend/resume while compressed framebuffer is on screen. Test use only XR24 and P016 formats for testing. After resume is checked framebuffer did stay compressed with exception on bmg. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
2024-11-10tests/amd_dispatch: add the filter for amd dispatchJesse.zhang@amd.com1-5/+10
Check sysfs reset mask before enabling certain subtests. Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com> Reviewed-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
2024-11-10tests/amd_deadlock: add the filter for amd deadlockJesse.zhang@amd.com1-9/+19
Check sysfs reset mask before enabling certain subtests. Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com> Reviewed-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
2024-11-10tests/amd_queue_reset: modify the asic filterJesse.zhang@amd.com1-37/+10
Replace the original ASIC filter with the sysfs reset mask. Check if a specific reset type is supported before running the subtest. Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com> Reviewed-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
2024-11-08tests/amdgpu/amd_abm: Fixed tests to only run on one output per pipeGeorge Zhang1-6/+6
The abm tests only need to run on one output per pipe, instead of all pipes. Additionally, fixed the monotonic_abm not changing the abm level. v2: Made change for more tests Signed-off-by: George Zhang <george.zhang@amd.com> Reviewed-by: Tom Chung <chiahsuan.chung@amd.com>
2024-11-06tests/kms_rotation_crc: Intel display version 20 onwards doesn't do hflip ↵Juha-Pekka Heikkila1-0/+7
with tile4 On Intel display version 20 Tile4 no longer can be used with horizontal flip. Bspec: 69853 Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2024-11-06tests/kms_rotation_crc: move plane rotation requirements into helperJuha-Pekka Heikkila1-6/+17
move plane rotation requirement block into helper function. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Karthik B S <karthik.b.s@intel.com>
2024-11-05lib/amdgpu: fix ring schedule issueJesse.zhang@amd.com1-1/+1
Because drm schedule no longer uses the parameter ring_id for scheduling. Instead, it selects the ring with less load to schedule the job. See the kernel function drm_sched_job_arm. Therefore, in order to verify each available ring on a certain IP, it can use the schedule debugfs interface. v2: fix the gfx high priority context issue Signed-off-by: Jesse Zhang <Jesse.Zhang@amd.com> Reviewed-by: Vitaly Prosyak <vitaly.prosyak@amd.com>
2024-11-04tests/amdgpu/amd_replay: Add some page flips before test startTom Chung1-1/+6
[Why] New panel replay driver behavior skip some atomic commits before enable the panel replay. This is because a kms client needs to submit fb updates via kms in order for amdgpu to flush updates to the panel. If a client updates the fb without going through kms (by directly blitting to it, for example), then any panel self-refresh feature needs to be disabled. Therefore, the driver vets the client by counting an adequate amount of atomic updates before enabling self-refresh features. [How] Add some page flips before test to let the panel replay can be enabled first. (This change can be backward compatible with old driver) Signed-off-by: Tom Chung <chiahsuan.chung@amd.com> Reviewed-by: Leo Li <sunpeng.li@amd.com
2024-11-04tests/kms_plane_scaling: Require at least 30 Hz refresh rateMika Kahola1-4/+7
With HDMI dummies we may end up testing a mode that doesn't really resemble real life scenario like 4k mode with 17Hz refresh rate, which can lead issues when executing a test. Therefore, the patch proposes for intel-max-src-size to be tested with with real life refresh rate such as 30 Hz or higher. Signed-off-by: Mika Kahola <mika.kahola@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2024-11-04tests/kms_vrr: data->switch modes[LOW_RR_MODE] not initialized for lobf testJouni Högander1-1/+1
lobf subtest is using data->switch_modes[LOW_RR_MODE] but not initializing it. Fix this in output_constraint. Signed-off-by: Jouni Högander <jouni.hogander@intel.com> Reviewed-by: Jeevan B <jeevan.b@intel.com>
2024-11-04tests/xe_exec_compute_mode: Use valid exec queue for bindZbigniew Kempczyński1-1/+1
Using gt_id as exec queue for binding is wrong and it works by accident because bcs engine used in the subtest reside on tile 0. But trying to run the test on engine which resides on different tile just fails. Lets use default binding engine for this. Cc: Sai Gowtham Ch <sai.gowtham.ch@intel.com> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com> Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com> Link: https://lore.kernel.org/r/20241031073604.35976-1-zbigniew.kempczynski@intel.com Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
2024-10-30tests/intel/xe_oa: Tests for OA syncsAshutosh Dixit1-0/+282
Verify OA syncs signal correctly in open and change config code paths. Verify with different types of sync objects as well as by both waiting and skipping the wait for syncs to signal. v2: Significantly expand oa syncs testing as described above v3: Always wait in userptr/ufence cases to avoid -EFAULT errors v4: Document intel_xe_oa_prop_to_ext function (Kamil) Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
2024-10-29tests/intel/xe_sriov_flr: Implement clear-scratch-regs and ↵Marcin Bernatowicz1-1/+121
clear-media-scratch-regs subchecks Add tests to verify clearing of scratch and media scratch registers in Virtual Functions (VFs) after a Functional Level Reset (FLR). This code is based on prior work of Lukasz Laguna. v2: Adjust mmio to align VF index with array index (Lukasz) Use helpers for setting skip/fail reasons to improve readability Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Narasimha C V <narasimha.c.v@intel.com> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com>
2024-10-29tests/intel/xe_sriov_flr: Implement clear-lmem subcheckMarcin Bernatowicz1-1/+209
Add the clear-lmem subcheck to validate the isolation and clearing of a Virtual Function's (VF) local memory (LMEM) after a Functional Level Reset (FLR). The test maps the VF's LMEM, writes specific patterns to the memory, and checks whether the content is reset for the FLRed VF or retained for other VFs. v2: Adjust vf_lmem_size to align VF index with array index, add TODO to get_vf_lmem_size (Lukasz). Use helpers for setting skip/fail reasons to improve readability. Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Narasimha C V <narasimha.c.v@intel.com> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com>
2024-10-29tests/intel/xe_sriov_flr: Implement clear-ggtt subcheckMarcin Bernatowicz1-1/+278
Introduce the implementation of the clear-ggtt subcheck, which provides functionality to verify Functional Level Reset (FLR) across Virtual Functions (VFs) through GGTT (Global Graphics Translation Table) testing. This patch sets up the basic structures for manipulating GGTT PTEs (Page Table Entries), finds the GGTT ranges assigned to each VF, and verifies address resets after FLR. v2: Adjust pte_offsets to align VF index with array index (Lukasz) Use helpers for setting skip/fail reasons to improve readability Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Narasimha C V <narasimha.c.v@intel.com> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com>
2024-10-29tests/intel/xe_sriov_flr: Add skeleton for clear and isolation testsMarcin Bernatowicz2-0/+332
Introduce a skeleton with basic structures for subchecks execution and a `verify_flr` template method to orchestrate the verification of Functional Level Reset (FLR) across multiple Virtual Functions (VFs). The goal is to reduce runtime by limiting the total number of FLRs. Instead of repeating the FLR process for each subcheck (clear-lmem, clear-ggtt, clear-scratch-regs, clear-media-scratch-regs), a single FLR is issued. Afterward, all subchecks verify if any failures occurred and report the results accordingly. The proposed skeleton ensures that while one subcheck may stop due to failure or a skip condition, other subchecks can continue execution. Concrete subcheck implementations (clear-lmem, clear-ggtt, clear-scratch-regs, clear-media-scratch-regs) will be introduced in subsequent patches. Proposed IGT tests (will report each subcheck's status): flr-vf1-clear Verifies that LMEM, GGTT, and SCRATCH_REGS are properly cleared on VF1 (with only VF1 enabled) following a Function Level Reset (FLR). This test can be included in the BAT (Basic Acceptance Test) suite. flr-each-isolation Sequentially performs FLR on each VF to verify isolation and clearing of LMEM, GGTT, and SCRATCH_REGS on the reset VF only. This test is better suited for FULL runs. v2: Correct subtest run type, use uppercase for GT (Lukasz) Add set_skip_reason, set_fail_reason helpers for readability Signed-off-by: Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Adam Miszczak <adam.miszczak@linux.intel.com> Cc: C V Narasimha <narasimha.c.v@intel.com> Cc: Jakub Kolakowski <jakub1.kolakowski@intel.com> Cc: K V P Satyanarayana <satyanarayana.k.v.p@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Michał Winiarski <michal.winiarski@intel.com> Cc: Piotr Piórkowski <piotr.piorkowski@intel.com> Cc: Tomasz Lis <tomasz.lis@intel.com>
2024-10-29tests/intel/xe_pm_residency: Add GT coarse power gating validationSk Anirban1-0/+80
Implement test cpg-basic to validate coarse power gating status after S3 cycle. Add test cpg-gt-toggle to check if GT coarse power gating is up when forcewake is acquired and down when released. v2: Address cosmetic review comments (Riana) Fix suspend state (Riana) Add exit handler for test cpg-gt-toggle (Riana) v3: Address cosmetic review comments (Riana) Fix commit message & test name (Konieczny) v4: Address cosmetic review comments (Riana) v5: Remove unnecessary openings and assertions of gt directories (Riana) Signed-off-by: Sk Anirban <sk.anirban@intel.com> Reviewed-by: Riana Tauro <riana.tauro@intel.com> Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
2024-10-28tests/intel/xe_exec_compute_mode: Use xe_find_engine_by_classPravalika Gurram1-1/+3
Use 'xe_find_engine_by_class' helper to get the engine info with the required engine class. Stop assuming engine id is equal to 1 Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Signed-off-by: Pravalika Gurram <pravalika.gurram@intel.com> Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>