Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
[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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|