- Mar 10, 2025
-
-
This patch modifies igt_runner to support runner_kmemleak() calls. By default, kmemleak scanning is disabled, so new command-line options are introduced to enable it: * -k, -k<option>, --kmemleak, --kmemleak=<option> The available options are: * once: Do single kmemleak scan after last test in the test list * each: Perform a kmemleak scan after each test completes By default, kmemleak scanning is disabled. If any kmemleaks are detected, they will be saved in the igt_runner results directory under kmemleak.txt. Additionally, this patch updates serialize_settings() and read_settings_from_file() to persist igt_runner settings across runs. This allows settings to be saved when running igt_runner --dry-run and later restored when executing igt_resume. The unit tests for igt_runner have been extended to verify: * Kmemleak scans are disabled by default * Kmemleak scans can be enabled via command-line arguments * The kmemleak setting is correctly saved to and restored from disk To test the new -k command-line option, this patch appends "--overwrite" to *argv[] in runner_test.c to expand the argument array. This approach avoids a major refactor of how *argv[] is defined across the file while keeping the changes isolated to unit testing. Since this only affects tests, there is no downstream impact. Cc: vitaly.prosyak@amd.com Cc: christian.koenig@amd.com Cc: alexander.deucher@amd.com Cc: jesse.zhang@amd.com Cc: harry.wentland@amd.com Cc: zbigniew.kempczynski@intel.com Cc: kamil.konieczny@linux.intel.com Cc: ryszard.knop@intel.com Cc: lucas.demarchi@intel.com Cc: katarzyna.piecielska@intel.com Reviewed-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by:
Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by:
Vitaly Prosyak <vitaly.prosyak@amd.com> Signed-off-by:
Peter Senna Tschudin <peter.senna@linux.intel.com>
-
Adds a simple library for interacting with kmemleak and add unit testing for the library. There are two modes intended to integrate with igt_runner: - once: collect kmemleaks after all test completed - each: collect kmemleaks after eachb test completes Cc: vitaly.prosyak@amd.com Cc: christian.koenig@amd.com Cc: alexander.deucher@amd.com Cc: jesse.zhang@amd.com Cc: harry.wentland@amd.com Cc: zbigniew.kempczynski@intel.com Cc: kamil.konieczny@linux.intel.com Cc: ryszard.knop@intel.com Cc: lucas.demarchi@intel.com Cc: katarzyna.piecielska@intel.com Reviewed-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by:
Jonathan Cavitt <jonathan.cavitt@intel.com> Reviewed-by:
Vitaly Prosyak <vitaly.prosyak@amd.com> Signed-off-by:
Peter Senna Tschudin <peter.senna@linux.intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-
Even if FBC is enabled and test is successfull, using warn level to print the info will make the CI treat this as a failure. In case FBC is not enabled, the assert will be triggered and print the error case. Signed-off-by:
Vinod Govindapillai <vinod.govindapillai@intel.com> Reviewed-by:
Jeevan B <jeevan.b@intel.com>
-
- Mar 07, 2025
-
-
oa-formats test need not be limited to render engine only. Extend it to use any engine using __for_one_hwe_in_oag macro instead. Signed-off-by:
Sai Teja Pottumuttu <sai.teja.pottumuttu@intel.com> Reviewed-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
-
Use the fault injection infrastructure to make targeted internal KMD functions fail when executing xe_exec_queue_create_ioctl() so that more code paths are tested, such as error handling and unwinding. include xe_exec_queue_create_bind only for VM_BIND engine class. xe_exec_queue_destroy_ioctl() and xe_exec_queue_get_property_ioctl() are not considered as there is no unwinding code to test with fault injection. v2: Added separate case for vm_bind engine class Signed-off-by:
Pravalika Gurram <pravalika.gurram@intel.com> Reviewed-by:
Priyanka Dandamudi <priyanka.dandamudi@intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-
- Mar 06, 2025
-
-
Commit d7bccece44dd ("tests/intel/kms_dp_link_training: Restrict to Intel GPUs") missed adding DRIVER_XE. Ensure both DRIVER_INTEL and DRIVER_XE are set to properly restrict the test to Intel GPUs. Signed-off-by:
Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com> Cc: Kunal Joshi <kunal1.joshi@intel.com> Cc: Arun R Murthy <arun.r.murthy@intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-
Use DRIVER_INTEL instead of DRIVER_ANY to avoid assertions on non-Intel hardware. In few of our CI runs test opened any DRM driver and failed because it was not Intel. Cc: Kunal Joshi <kunal1.joshi@intel.com> Cc: Arun R Murthy <arun.r.murthy@intel.com> Signed-off-by:
Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by:
Kunal Joshi <kunal1.joshi@intel.com>
-
The test only checks igt_display_has_format_mod() before deciding to test a specific format. But that doesn't mean the actual plane supports that format. Also check for that once we know which plane to use. Should turn the fp16 failures into skips on IVB because it doesn't have fp16 support on the primary plane. Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by:
Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
-
- Mar 05, 2025
-
-
unerlige authored
Simulation runs are slow, so account for that by modifying the scope of the tests. - Set parameters specific to simulation during init. - Skip tests that are heavily reliant on timing and that only test SW functionality. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Internally the test is running a loop of 1000 iterations and calling read in each iteration. The test is expecting a single read call to return at least two reports. If two reports are not read, the logic continues to the next iteration. This can easily fail if each read just returns one report. In essence, many reports are available, but the logic causes test to fail. Instead, count and use every report read when waiting for two reports to be available. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
Marcin Bernatowicz authored
If the device is a Virtual Function, skip certain devcoredump validation steps that are not applicable in this context. These changes align with kernel updates introduced in: Link: https://patchwork.freedesktop.org/patch/msgid/20241022010116.342240-2-zhanjun.dong@intel.com Signed-off-by:
Marcin Bernatowicz <marcin.bernatowicz@linux.intel.com> Reviewed-by:
Zhanjun Dong <zhanjun.dong@intel.com> Cc: Lukasz Laguna <lukasz.laguna@intel.com> Cc: Michał Wajdeczko <michal.wajdeczko@intel.com> Cc: Zhanjun Dong <zhanjun.dong@intel.com>
-
Marcin Bernatowicz authored
Introduce intel_is_vf_device helper to determine whether a given device is a Virtual Function (VF). The function reads the VF_CAPABILITY_REGISTER and checks if the least significant bit is set to identify VF device. 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: 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>
-
Christoph Manszewski authored
Eudebug is not supported in PF mode with VFs enabled and in VF mode. Provide subtests to ensure that: 1. enabling eudebug is not permitted in PF mode with VFs enabled 2. eudebug sysfs toggle is not available in VF mode 3. enabling VFs is not permitted when eudebug is enabled Reviewed-by:
Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com> Reviewed-by:
Dominik Grzegorzek <dominik.grzegorzek@intel.com> Link: https://lore.kernel.org/r/20250304163227.49986-3-christoph.manszewski@intel.com Signed-off-by:
Christoph Manszewski <christoph.manszewski@intel.com>
-
Christoph Manszewski authored
Export __xe_eudebug_enable_getset to make it possible to catch error code in tests. Reviewed-by:
Dominik Karol Piątkowski <dominik.karol.piatkowski@intel.com> Link: https://lore.kernel.org/r/20250304163227.49986-2-christoph.manszewski@intel.com Signed-off-by:
Christoph Manszewski <christoph.manszewski@intel.com>
-
During making changes in Mega feature <-> Sub-category pairs I've noticed few places were test documentation formatting is different than pattern: /** * TEST: * Category: * Mega feature: * Sub-category: * Functionality: * Test category: * * SUBTEST: * Functionality: * Description: */ So let's align Xe tests to this order. Also there is no need to duplicate documentation fields in subtests if Category/Mega feature/Sub-category/Functionality are the same for subtest as for whole binary. Last thing is to make sure test description is properly adjusted. Signed-off-by:
Katarzyna Piecielska <katarzyna.piecielska@intel.com> Reviewed-by:
Aditya Chauhan <aditya.chauhan@intel.com>
-
Our documentation scripts need to have unique pairs 'Mega feature - Sub-category', e.g. example below is causing warnings: Mega feature: WMTP Sub-category: CMD submission && Mega feature: General Core features Sub-category: CMD submission There is a need to make sure that pairs are unique, so let's make change in xe_compute* tests. Signed-off-by:
Katarzyna Piecielska <katarzyna.piecielska@intel.com> Reviewed-by:
Aditya Chauhan <aditya.chauhan@intel.com>
-
Francois Dugast authored
Using igt_assert_eq() to compare floats was incorrect and led to false positives, replace it with the appropriate assert. Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com> Signed-off-by:
Francois Dugast <francois.dugast@intel.com>
-
- Mar 04, 2025
-
-
unerlige authored
Define min and max oa exponents for the oa exponent test so that they can be set differently on slow platforms. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
The MI_STORE command needs modification to set the right amount of dwords. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
unprivileged-single-ctx-counters was hardcoded for a format size of 256 bytes. Fix it up for generic format size. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Keep it simple and just check if enable/disable is working correctly using the read call and existing uapi. v2: Drop mmio and use the value returned in read (Ashutosh) v3: Checkpatch issues and set polled mode (Ashutosh) Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Introduce oa buffer size test separately. Pick a random valid buffer size for the test. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Use a default buffer size for non-zero-reason for and strip out testing buffer size in the same test. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Simplify the buffer-fill test for quicker runs on slow platforms. We only want to test that the BUFFER OVERFLOW status is set when we do not read the OA stream data in time. To do so, keeping reading zero bytes of data until you hit a buffer overflow. v2: - Add reason to the commit msg - Drop 'wraparound' from test description - s/disable/disabled - drop unnecessary double-bang for int to bool conversion - Fix regression in test execution time Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
The polling-small-buf test is specifically testing that POLLIN is still set after an ENOSPC error. In the buggy code, POLLIN was cleared on the ENOSPC error even though there was data to be read. The test was putting an upper bound on the number of bytes read in a fixed duration of time. While this worked, we had occassional failures that were due to scheduling and other dependencies outside the scope of this test. In an attempt to make the test more robust, - use a more definitive method to wait for few reports - force an ENOSPC error using a small buffer - Ensure POLLIN is still set in the subsequent poll() call v2: - Add "why" in commit message (Ashutosh) - Use uapi to wait for N reports Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Use the same width and height for render copy frame to make execution times uniform across tests. v2: Update commit message (Ashutosh) Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Some tests are not dependent on the oa_exponent value, so just use the default exponent for such tests, so that the tests can be tuned to run in reasonable time on slow platforms. - oa-tlb-validate - short-reads - stress-open-close - mmio-triggered-reports v2: Explain "why" in commit message (Ashutosh) Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
On slower platforms, the idea is to set the default oa_exponent to a smaller value so that test execution is faster. Rename the global exponent to default so it can be set to platform-specific value. v2: Add more detail in commit message (Ashutosh) Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Rename the argument in max_oa_exponent_for_period_lte() to period_ns to specify the units of the period. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Drop unused for helper Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
unerlige authored
Use static for mmio_data and hwe. Signed-off-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
A new hardware feature first introduced in PVC gives capability to periodically sample EU stall state and record counts for different stall reasons, on a per IP basis, aggregate across all EUs in a subslice and record the samples in a buffer in each subslice. Eventually, the aggregated data is written out to a buffer in the memory. This feature is also supported in XE2 and later architecture GPUs. Add tests to test EU stall sampling functionality in the Xe driver. These tests accept several inputs from the user, enable EU stall counters, run a given workload on a child process while the parent process reads the stall data and parses the data. The EU stall counters are disabled once the workload completes execution. If the user doesn't provide any input workload, GPGPU fill is used as the workload. gpgpu_fill() and related functions have been reused from xe_gpgpu_fill.c. v2: Addressed review feedback from v1 User can pass an output file to write the EU stall data xe_drm.h file changes have been moved into a separate patch Signed-off-by:
Harish Chegondi <harish.chegondi@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
Limit number of GRFs used by single thread to utilize all possible threads per EU. Signed-off-by:
Dominik Grzegorzek <dominik.grzegorzek@intel.com> Reviewed-by:
Christoph Manszewski <christoph.manszewski@intel.com> Link: https://lore.kernel.org/r/20250226104436.257298-2-dominik.grzegorzek@intel.com
-
For eu debug testing purposes we need utilize all possible threads per eu. This is possible only if we limit number of GRFs per single thread. Add gpgpu_shader interface which allow us to setup that during pipeline creation. For now define only only mode with 96 grfs. Signed-off-by:
Dominik Grzegorzek <dominik.grzegorzek@intel.com> Reviewed-by:
Christoph Manszewski <christoph.manszewski@intel.com> Link: https://lore.kernel.org/r/20250226104436.257298-1-dominik.grzegorzek@intel.com
-
- Mar 03, 2025
-
-
Ashutosh Dixit authored
Align with kernel commit cd5bbb2532f2 ("drm/xe/uapi: Add a device query to get EU stall sampling information"). Signed-off-by:
Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-
KMD introduced low latency hint support for GT frequency to guc. Lets add test to validate the feature support. KMD patch:https://patchwork.freedesktop.org/patch/639677/ Signed-off-by:
Tejas Upadhyay <tejas.upadhyay@intel.com> Link: https://lore.kernel.org/r/20250227122117.711646-1-tejas.upadhyay@intel.com Signed-off-by:
Lucas De Marchi <lucas.demarchi@intel.com>
-
This negative test was crated to validate ENOSPC when two 2k-4k or 4k-4k monitors connected through MST to cover bandwidth issue in MST config. But it will not helpfult to handle current bandwidth which are DisplayPort (DP) 1.4 supports a total bandwidth of 4 × 8.1 Gbps. However, with DP 2.1, the bandwidth allocation strategy has significantly changed to 4 × 20 Gbps of available bandwidth. This provides significantly greater display capabilities w.r.t bandwidth. v2: Fix compilation issue. v3: Rebase chagnes. Signed-off-by:
Mohammed Thasleem <mohammed.thasleem@intel.com> Reviewed-by:
Jeevan B <jeevan.b@intel.com>
-
- Feb 28, 2025
-
-
Ville Syrjälä authored
Introduce a small tool for measing the display enging memory bandwidth utilization. Generally this is available on SNB+, except on TGL/derivatives where the relevant registers weren't updated to cope with the new ABOX layout in the hardware. Quite handy for confirming that FBC/CCS/etc. are doing their job. Not 100% sure about the required scaling factor because bspec claims it's only needed for MTL, but my ADL definitely needs it already. v2: Fix long option handling Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by:
Vinod Govindapillai <vinod.govindapillai@intel.com>
-
Let Valgrind know which memory is initialised by ioctls so running tests under it becomes less noisy. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-
Explicitly initialise ioctl arguments so Valgrind can know we are not passing in uninitialised memory to the kernel. Signed-off-by:
Tvrtko Ursulin <tvrtko.ursulin@igalia.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-