| Age | Commit message (Collapse) | Author |
|
This has several advantages:
* No more need to convert back and forth between these two (everybody should
use struct edid, the exception being lib/tests/igt_edid which performs sanity
checks)
* Makes it clearer that users can call edid_get_size on a returned EDID blob
* Improves type safety (it's more obvious is a random blob is used as an EDID)
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
If the DUT sends an InfoFrame, check that its values are correct. Per the HDMI
and DP specs, most of the fields can be set to "refer to stream header" because
some information is duplicated. The DP spec also says that InfoFrames are
optional if mono or stereo audio is used (because there's no channel speaker
allocation).
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
|
|
Still trying to hit a deadlock with userptr from kcompatcd.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reveiwed-by: Andi Shyti <andi.shyti@intel.com>
|
|
Trying to hit a deadlock for invalidating dirty userptr pages (via
kcompactd).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
|
|
The intent of the test is to exercise that each channel in the engine[]
is an independent context/ring/timeline. It setups 64 channels pointing
to rcs0 and then submits one request to each in turn waiting on a
timeline that will force them to run out of submission order. They can
only run in fence order and not submission order if the timelines of
each channel are truly independent.
However, we released the fences en masse, and once the requests are
ready they are independent and may be executed in any order by the HW,
especially true with timeslicing that may reorder the requests on a
whim. So instead of releasing all requests at once, increment the
timeline step by step and check we get our results advancing. If the
requests can not be run in fence order and fall back to submission
order, we will time out waiting for our incremental results and trigger
a few GPU hangs.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110987
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
|
|
Make sure we don't block while setting up the stress case before the
reset by only submitting less batches than would fill the ring.
References: https://bugs.freedesktop.org/show_bug.cgi?id=111379
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
|
|
If we are not running with a scheduler, we are using a global ringbuffer
which may not accommodate 16 extra batches. Fortunately, we only need
one such batch to block the submission queue as without a scheduler, it
is in order submission (and so the batch is after the main setup
anyway!).
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
|
|
Closing the object on another file should not affect the local
mmap_offset.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
Reviewed-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
|
|
Continue instead of breaking on the first engine.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
When we remove the debugfs fail, the test simply fails rather than
skips. Kill the test as without the debugfs, it is defunct.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
|
|
To actually DROP_IDLE means that we have to wait for ongoing submission,
and any new concurrently submitted, i.e. it should only be called during
single-threaded submission to ensure the GPU is idle before the new
action.
v2: Also include SHRINK for thrash-all-the-things, and find a dupe in
gem_reloc_vs_gpu.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
|
|
Currently the runner sees
Starting subtest: pipe-C-bad-aux-stride
Test requirement not met in function test_output, file ../tests/kms_ccs.c:324:
Test requirement: valid_tests > 0
CCS not supported, skippingSubtest pipe-C-bad-aux-stride: SKIP (0.330s)
and manages to implode.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
If the shared legacy ringbuffer is too small to fit 64 new contexts, it
will hang and report -EIO before we are expecting it. Accommodate this
eio as it part of the ABI we are testing.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
|
|
Since we don't any uAPI to retrieve the downstream's device's ksv,
we can't check the real revocation through SRM.
This test just writes the facsimile SRM into the /lib/firmware/
and check the kernel parsing of it by invoking the hdcp authentication.
v2:
typos in commit msg is fixed. [Uma]
file mode is added. [GG]
reset test flag. [Uma]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315470/?series=57756&rev=10
|
|
To detect the HDCP status change we are reading the uevent sent with the
corresponding connector id and property id.
This avoids the polling of the property every mSec.
v2:
Made it as subtest. Remaining tests will use polling. [Daniel]
v3:
failure to receive the uevent is handled as failure [Uma]
v4:
For UNDESIRED state no uevent is expected.
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315470/?series=57756&rev=10
|
|
Testing the content type change when the content protection already
enabled.
v2:
Rebased.
v3:
Type 0 -> Type 1 is included.
Type check is removed [Uma]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315468/?series=57756&rev=10
|
|
To validate the teardown and rebuild of the interface between
I915 and mei hdcp this subtest execute the below sequence:
1. Test HDCP2.2 Type 1 (expected to pass)
2. Unload the mei_hdcp
3. Test HDCP2.2 Type 1 (expected to fail)
2. Reload the mei_hdcp
1. Test HDCP2.2 Type 1 (expected to pass)
v2:
Rebased.
v3:
Rebased.
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315466/?series=57756&rev=10
|
|
Adds a connector property called "CP_Content_Type"
Content Type takes two values which classifies the content stream:
Type 0: Stream that can be transmitted on HDCP1.4/HDCP2.2
Type 1: Stream that needs HDCP2.2 encryption only.
So when Type 1 is set KMD is forced to enable HDCP2.2 only.
For Type 0 request, Kernel chooses the highest capable HDCP version
(v2.2) first. If that fails, then it fall back to the next available
version(v1.4) before abondoning HDCP authentication attempts.
Please note content_type is allowed to be updated when "Content
Protection" is in UNDESIRED state.
v2:
s/cp_content_type/content_protection_type [danvet]
v3:
s/content_protection_type/HDCP Content Type [Pekka]
v4:
Rebased
v5:
Typos in the commit msg is fixed [Uma]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315467/?series=57756&rev=10
|
|
Existing Link integrity check test is moved into dedicated subtest.
This helps to reduce the execution time of other tests by removing the
repeated Link integrity check on every other tests.
v2:
s/reduced/reduce [Uma]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315465/?series=57756&rev=10
|
|
Considering increase of subtests for kms_content_protection, tests are
defined through flags.
v2:
reset the cp_tests. [Uma]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Link: https://patchwork.freedesktop.org/patch/315464/?series=57756&rev=10
|
|
Use function that is meant to get the output instead of relying on a
magic for-loop.
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
If CCS is not supported, i.e. we have executed no test for it, let's
skip with a message saying so instead of mysterious requirement on
test_output().
A lot of people get confused by current output thinking that there is
something wrong with output/modes.
v2: actually run tests for bad-pixel-format
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110580
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
|
|
Check for viability of store-dword before use.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Andi Shyti <andi.shyti@intel.com>
|
|
Calls to igt_pipe_crc_drain + get_single are already replaced with
igt_pipe_crc_get_current() in patch
https://patchwork.freedesktop.org/patch/240651/?series=47129&rev=1
so removing igt_pipe_crc_drain() shouldn't matter since tests are using
igt_pipe_crc_get_current() which will drain the old junk anyway. Its
double to do drain + get_current(), so calls to drain() can be removed.
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/319789/?series=64210&rev=1
|
|
This helps to identify which entry is wrong in the table.
v2: Add back the values and missing \n (from Daniele)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
|
|
Gen 12 and later only have global MOCS: use the new offset.
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
|
|
Some small changes compared to Ice Lake, namely:
- Removed entries 0 and 1: they are now reserved and shouldn't be used
- Entries 16, 17, 48..61 were previously unused and are now available
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
|
|
In the Ice Lake table we are setting all undefined entries to PTE.
Undefined entries are undefined.
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
|
|
If the legacy ringbuffer doesn't support scheduling, it doesn't set the
cap! Hypothetically if one were to enable ringbuffer scheduling, this is
part of its testing suite.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
The debugfs contains "Enabled SliceX subslices:" line only if a given
slice is enabled. If we try to dbg_get_status() with everything shut
down we will get a confusing assertion failure:
CRITICAL: Test assertion failure function dbg_get_int, file ../tests/i915/i915_pm_sseu.c:120:
CRITICAL: Failed assertion: pos != NULL
To fix that let's just read the enabled subslices if the line is there,
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110593
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
|
|
Connector forcing works just fine even if it already has
something physically connected. So accept any HDMI connector
for the test.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
Connector forcing works just fine even if it already has
something physically connected. So accept any HDMI connector
for the test.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
On pre-HSW we have separate encoders for the DP and HDMI ports,
but both can't be enabled at the same time. The test fails to
account for that and can thus fail when the kernel rejects
the modeset. We can avoid that by turning off all the ports
beforehand.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105595
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
On pre-HSW we have separate encoders for the DP and HDMI ports,
but both can't be enabled at the same time. The test fails to
account for that and can thus fail when the kernel rejects
the modeset. We can avoid that by turning off all the ports
beforehand.
v2: rebased (Arek)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Simon Ser <simon.ser@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105594
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
As we never officially write to the scratch buffer, the kernel will
leave it in the CPU read domain upon execution. Our attempt to
invalidate the CPU cache on !llc is therefore skipped as the kernel
doesn't believe the backing store has been invalidated. Use a WC mmap to
avoid the CPU cache for readback, and add an extra sanity check that the
scratch buffer is found at the same location after execution. (This
sanity check does not affect the failure rate on bsw, that is only fixed
after realising that we do not clflush for the invalidate prior to the
read).
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111187
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
|
|
__for_each_physical_engine already iterates over only engines that
exist, we don't need to check again that they exist.
Removing the check also makes their respective subtest_groups not
needed.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Andi Shyti <andi.shyti@intel.com>
Tested-by: Andi Shyti <andi.shyti@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
This is a performance test to highlight significant issues on Baytail,
for example, where using the GTT was much, much slower than it was
intended to be. This is not demonstrating a driver issue, but a HW one
and so does not need to be a foundational test in BAT.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Acked-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
|
|
Cometlake is yet another Skylake refresh and used the same MOCS
registers.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111137
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
|
|
Not skipping the affected tests causes all the rest to fail on
non-Intel drivers.
Signed-off-by: Mihail Atanassov <mihail.atanassov@arm.com>
Reviewed-by: Simon Ser <simon.ser@intel.com>
|
|
Fix test to check for addfb failure instead.
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
This adds the infrastructure necessary to change EDIDs provided to
chamelium_new_edid, without actually doing it yet. This commit just updates the
API to make it possible, documents expectations and updates callers
accordingly. Mutating EDIDs is necessary to add an identifier to them (e.g. by
adding a serial number) and to be able to map Chamelium ports to DRM
connectors.
A new function chamelium_edid_get_raw allows callers to retrieve the exact EDID
used for a particular port.
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
The idea is to check that the mode is correctly applied. We use the Chamelium's
GetVideoParams method to get and check mode parameters.
We need to start a capture of zero frames to trigger the FSM. Without it,
Chamelium's receiver doesn't get stable video input.
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Martin Peres <martin.peres@linux.intel.com>
|
|
Small change that allow user to lower OBJECT_SIZE without false negative.
Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com>
Cc: Antonio Argenziano <antonio.argenziano@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Michal Winiarski <michal.winiarski@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
The function was called, but the result was never used. Probably a remnant from
a previous refactoring.
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
If a child process dies for any reason while basic-fence-read or
basic-fence-mmap subtest is run, the subtest may hang indefinitely on
read() from a pipe which is supposed to be written to by that child (can
be interrupted though). Fix it by first closing unused pipe ends on both
parent and child side before using the pipe, as recommended by pipe(2)
manual page.
Please note that due to the IGT library way of handling signals, now the
subtests may fail with error code 141 (128 + SIGPIPE) and no usual DEBUG
message block on stderr nor FAIL message line on stdout, however some
meaningful error messages will still be printed on stderr by the failing
child processes.
Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
This replaces kmstest_edid_add_3d. The previous code for generating CEA
extensions can be removed.
The old and new generated EDIDs are byte-to-byte equal.
Signed-off-by: Simon Ser <simon.ser@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
Legacy execbuf abi tests are prefixed with legacy. New test are added to
run on physical engines accessed through engine discovery.
So legacy tests run on the unconfigured (with engine map) context and
use a new helper gem_eb_flags_to_engine to look up the engine from the
intel_execution_engines2 static list. This is only to enable the
core test code to be shared.
Places where new contexts are created had to be updated to either
equally configure the contexts or not.
v2:
helper called gem_engine_is_equal is added [tvrtko]
rebased to adopt the changte in eb_flag to engine [tvrtko]
v3:
returned the result of the expression itself [tvrtko]
Signed-off-by: Ramalingam C <ramalingam.c@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
|
|
Leave a few more breadcrumbs in the dmesg log to try and spot where the
delay occurs.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
|
|
CHV pipe A/C sprites are causing a crc mismatch with BT.601
when we keep the six msbs. If we throw away one more bit we get
matches for BT.601. BT.709 matches even with 6 bits, as do the
pipe B planes with their programmable CSC. Also IVB and KBL
were both happy with 6 bits, so doesn't seem that that these
CHV mismatches are due to bugs in our code, just the hw is
a bit imprecise.
v2: s/bi/bit/ in the subject (Nicholas)
Cc: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Uma Shankar <uma.shanka@intel.com>
Tested-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Test all support YCbCr encoding/range combinations. So far
we've only been testing one particular combo.
v2: Use igt_create_fb_with_bo_size() and hand roll the
solid fills
Cc: Uma Shankar <uma.shankar@intel.com>
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> #v1
Reviewed-by: Uma Shankar <uma.shankar@intel.com> #v1
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|