Age | Commit message (Collapse) | Author |
|
Add userptr object type to vm_bind_basic test.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
|
|
Add basic tests for VM_BIND functionality. Bind the buffer objects in
device page table with VM_BIND calls and have GPU copy the data from a
source buffer object to destination buffer object.
Test for different buffer sizes, buffer object placement and with
multiple contexts.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
|
|
Add sanity test to exercise vm_bind uapi.
Test for various cases with vm_bind and vm_unbind ioctls.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
|
|
Add required library interfaces to support VM_BIND
functionality.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
|
|
Import required VM_BIND kernel uapi definitions.
Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
|
|
This reverts commit 3cf110f8dcd1f4f02cf84339664b413abdaebf7d.
This is too big of a hammer it seems, since we can't really support
flat-CCS with lmem + smem objects, and here adding the flag means we
also attach the smem placement, which seems to break kms_ccs.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Cc: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Free allocated memory before return.
Fixes: d61e4598
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|
|
Sanitize the system state before starting the subtest.
v2: removed display reset and commit2 from igt_main.
Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
Reviewed-by: Gupta, Nidhi1 <nidhi1.gupta@intel.com>
|
|
Modified kms_rmfb to include dynamic test cases.
v2: addressed indentation, test description moved into struct
and added global description to test.
v3: minor changes.
v4: removed space.
v5: renamed flags with reopen and minor changes in igt_dynamic_f.
Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|
|
Modified kms_legacy_colorkey to include dynamic test cases.
v2: Updated igt_dynamic subtest names of invalid-plane.
v3: Minor changes.
v4: Changes in discription.
Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
|
|
Sanitize the system state before starting the subtest.
v2: Test every mode listed by connector to be more
sure everything is really getting rejected.
(Modem Bhanuprakash)
v3: Use for_each_connector_mode(output) function to
iterate over all the modes suppported by a
connector.
(Modem Bhanuprakash)
v4: Replace "drmModeSetCrtc()" drm call with kms wrappers
igt_output_set_pipe() and try_commit and check the return
value of it, as in this test intension is to check the
invalid mode by updating each mode with invalid parms,
and kernel should reject the commit.
(Modem Bhanuprakash)
v5: Update the commit message.
(Modem Bhanuprakash)
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
|
|
Convert the existing subtests to dynamic subtests at pipe level.
Signed-off-by: Nidhi Gupta <nidhi1.gupta@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
|
|
Make sure we always print the seed. Also make sure we use the correct
helpers for the igt_assert when comparing values of type uint64.
v2:(Nirmoy)
- Fix broken conversion with s/lt/lte/ in a couple places.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
needs_recoverable_ctx() should check for graphics_ver instead of
display_ver. Use intel_graphics_ver() now that we have it.
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6356
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
|
|
On dg2+, MI_BATCH_BUFFER_START | MI_USE_PREDICATE switches to using the
MI_SET_PREDICATE_RESULT register and requires bit 0 to be set to skip
the looping MI_BATCH_BUFFER_START.
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5463
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Record the minor incremental changes between the major gen12 platforms as
a release version.
v2: add missing "," to last struct member and move
graphics_rel next to graphics_ver.
v3: add graphics_rel for ats-m and other minor fixes.
Acked-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Suggested-by: Chris Wilson <chris.p.wilson@intel.com>
Signed-off-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Add sriov selector to allow pf/vf selection.
Signed-off-by: Łukasz Łaguna <lukasz.laguna@intel.com>
Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
|
|
Use the correct context id in execbuf of rc6-idle test
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Ramalingam C <ramalingam.c@intel.com>
|
|
../lib/amdgpu/amd_command_submission.c: In function ‘amdgpu_command_submission_write_linear_helper’:
../lib/amdgpu/amd_command_submission.c:201:13: warning: pointer ‘ring_context’ used after ‘free’ [-Wuse-after-free]
201 | r = amdgpu_cs_ctx_free(ring_context->context_handle);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/amdgpu/amd_command_submission.c:199:9: note: call to ‘free’ here
199 | free(ring_context);
| ^~~~~~~~~~~~~~~~~~
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
[72/1181] Compiling C object tests/kms_cursor_crc.p/kms_cursor_crc.c.o
../tests/kms_cursor_crc.c: In function ‘run_size_tests.constprop’:
../tests/kms_cursor_crc.c:702:50: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size between 4 and 14 [-Wformat-truncation=]
702 | snprintf(name, sizeof(name), "%dx%d", w, h);
| ^~
../tests/kms_cursor_crc.c:702:46: note: directive argument in the range [-2147483648, 1024]
702 | snprintf(name, sizeof(name), "%dx%d", w, h);
| ^~~~~~~
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
[1/405] Compiling C object tests/drm_read.p/drm_read.c.o
../tests/drm_read.c: In function ‘test_short_buffer_wakeup’:
../tests/drm_read.c:224:17: warning: ‘pthread_yield’ is deprecated: \
pthread_yield is deprecated, \
use sched_yield instead [-Wdeprecated-declarations]
224 | pthread_yield();
| ^~~~~~~~~~~~~
/usr/include/pthread.h:479:12: note: declared here
479 | extern int __REDIRECT_NTH (pthread_yield, (void), sched_yield)
| ^~~~~~~~~~~~~~
Use sched_yield instead of pthread_yield
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
[12/1181] Compiling C object lib/libigt_device_scan.a.p/igt_device_scan.c.o
../lib/igt_device_scan.c: In function ‘igt_device_add_attr’:
../lib/igt_device_scan.c:368:57: warning: dangling pointer ‘v’ to ‘linkto’ may be used [-Wdangling-pointer=]
368 | g_hash_table_insert(dev->attrs_ht, strdup(key), strdup(v));
| ^~~~~~~~~
../lib/igt_device_scan.c:351:22: note: ‘linkto’ declared here
351 | char linkto[PATH_MAX];
| ^~~~~~
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ashutosh Dixit <ashutosh.dixit@intel.com>
|
|
The format of the fault-info in the devcore is a bit different from what
it was looking for.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
|
|
This was broken by the kernel change: 71b1669ea9bd ("drm/i915/uapi:
tweak error capture on recoverable contexts"). Update the test to use
non-recoverable context if needed.
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6350
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Nirmoy Das <nirmoy.das@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Before exiting the subtest, we must reset the connector's "max_bpc"
property to it's default value, else it may effect the consequent
subtests.
V2:
* Don't trigger a subtest if requested bpc > connecot's max_bpc.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Sanitize the system state before starting the subtest.
V2:
* Fix multiline comments.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Convert the existing subtests to dynamic subtests at pipe level.
V2:
* Fix nested igt_fixture in igt_subtest
V3:
* Fix to not dereferencing a NULL pointer
V4:
* Add output name to subtest
V5:
* Rebase
V6:
* Fix typos in test description
V7:
* Added comments back to ctm tets.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
SCALING_FILTER can be used either as plane scaler property
or CRTC scaler property.
The value of this property can be one of the following:
Default:
Driver's default scaling filter
Nearest Neighbor:
Nearest Neighbor scaling filter
If NN is used for scaling, sharpness is preserved
whereas if we use default scaling we can see blurriness
at edges.
v2: -no need to set pipe scaler filter property
v3: -addition of new lines to improve readability
-use of SPDX licence placeholder
-close(data.drm_fd)
v4: -instead of creating new i-g-t, tweaked kms_flip_scaled_crc
to validate both default and nn scaling filters
v5: -removed duplicate block
-added platform check for nn
v6:(juha): -Don't skip on missing property, assert on where
expect to find it.
- Allow test to run correctly on all gen9 upwards platforms.
- run default and NN filters on same test.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
Added "scaling filter" as pipe and plane property.
v2: -Moved lib changes from 4/4 to 3/4
-Renaming filter enum
v3: -fix indentation(juha)
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
pixel-formats
New test cases are added covering various modifiers and
pixel-formats.
v2: fixed typo
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
Convert the existing subtests to dynamic subtests at pipe/output level.
v2: Refactored code in such a manner that once test has been run
successfully on chosen pipe that pipe will not be tested again
as this test is testing pipe feature. No need to run separately
for each connector using all pipes.
v3: Changed seq to avoid modetoset as a dangling ptr
v4: On eDP 1080p with 144Hz vrefresh, test fails with cdclk
lim, however it passes with 90Hz vrefresh. Added the check
to handle this scenario.
v5: Minor fixes
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Cc: Petri Latvala <petri.latvala@intel.com>
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Acked-by: Petri Latvala <petri.latvala@intel.com>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
kms_frontbuffer_tracking@basic falls over if the fb needs to be migrated
from non-mappable device memory, to the mappable part, due to being
temporarily pinned for scanout, when hitting the CPU fault handler,
which just gives us SIGBUS. If the device has a small BAR let's attempt
to use the mappable portion, if possible.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
We should mark the objects that need to be captured with
NEEDS_CPU_ACCESS to ensure we can capture them if they are allocated in
lmem. We also need to consider that capture only properly works on
non-recoverable context, for discrete platforms. We can now also expect
CPU invisible objects to be skipped, for now at least.
v2: try to make it backwards compat
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Will be useful later.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Sanity both the unallocated_size & unallocated_cpu_visible_size tracking.
v2(Petri): always use from_user_pointer()
v3: Make it play nice on older kernels
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Add some basic sanity checks for this, like checking if this falls
within the probed_size. On older kernels the value reported here should
be zero.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Most users shouldn't care about such an interface, but where required,
this should be useful to aid in setting NEEDS_CPU_ACCESS for a given BO.
Underneath we try to smooth over needing to provide an explicit SMEM
region, or if this is SMEM-only, we don't want the kernel to throw an
error.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Add some basic tests for this new flag.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
For now limit to direct callers.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
For now dump into i915_drm_local.h. Once the uapi on the kernel side is
merged, and is part of drm-next, we can sync the kernel headers and
remove this.
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
Instead of Skipping the dynamic subtest, just don't trigger the test.
Cc: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Add test description for below subtests:
basic-busy-all, basic-wait-all, busy-hang-all, wait-hang-all,
basic-busy, basic-wait, basic-await, nb-await.
v2 : Modified subtests description.
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Signed-off-by: Janga Rahul Kumar <janga.rahul.kumar@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|
|
Added test description for test and to all the subtests that are
available.
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Signed-off-by: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|
|
We can't explicitly control the mmap caching type for discrete, but
using mmap_device_coherent should be good enough here on such devices.
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/4842
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
|
|
The kernel is meant to force the caching level for the object to
CACHE_NONE or CACHE_WT when first scanning out the object, since the
display engine is not coherent (assuming userspace hasn't already done
this). On discrete we no longer support set/get_caching, but we can only
do the scanout from lmem, which can only be mapped as WC and so should
always be coherent for scanout. Adjust the test and ensure it still
passes as expected.
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5303
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
|
|
../tests/i915/gem_eio.c:277:20: warning: pointer ‘ctx’ used after ‘free’ [-Wuse-after-free]
277 | igt_assert(igt_sysfs_printf(ctx->debugfs, "i915_drop_caches",
../lib/igt_core.h:667:20: note: in definition of macro ‘igt_assert’
667 | do { if (!(expr)) \
| ^~~~
../tests/i915/gem_eio.c:274:9: note: call to ‘free’ here
274 | free(ctx);
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Cc: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
Reviewed-by: Nirmoy Das <nirmoy.das@intel.com>
Reviewed-by: Gwan-gyeong Mun <gwan-gyeong.mun@intel.com>
|
|
Since we use buffers in XRGB8888, whatever value we have in X should be
ignored by the drivers and the hardware. However, since we always use
0xff in our test, whether that is the case or not cannot be determined.
Let's use a garbage value (but consistent across test runs) to make sure
it doesn't have any impact on the writeback output.
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|
The igt_fb_get_fnv1a_crc() function will compute a FNV-1a hash over the
content of the framebuffer. The sole user of this function is the
writeback test suite, which will use it to compare an XRGB8888 buffer
used in input to an XRGB8888 buffer filled by the writeback connector.
However, that function uses each bytes of each buffers to compute the
hash, and therefore the writeback code assumes that the hardware will
preserve the content of the X component through the writeback pipeline,
which isn't true for all hardware. VC4 doesn't for example.
Since that function is only ever used for XRGB8888 buffers, let's just
set the most significant to 0 (which is the X padding) for each pixel
when computing the hash, and thus ignore whatever the hardware will
return here.
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|
The fill_fb() function in the kms_writeback test suite will fill an
XRGB8888 buffer using a pattern passed an an argument. However, the
pattern is native endian, while XRGB8888 is little-endian.
Add an accessor and use it to fill the framebuffer with our pattern.
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
|
|
Added test description for test and to all the subtests that are
available.
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Signed-off-by: Sai Gowtham Ch <sai.gowtham.ch@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|