- Sep 01, 2022
-
-
Melissa Wen authored
Signed-off-by:
Melissa Wen <mwen@igalia.com>
-
Melissa Wen authored
Signed-off-by:
Melissa Wen <mwen@igalia.com>
-
Add some basic tests for 3D LUTs. Changes from original version: - 3D LUT size is not the stride but the LUT total size - define a 17 stride to generate 3D LUT - rebased on the new test structure Co-developed-by:
Melissa Wen <mwen@igalia.com> Signed-off-by:
Melissa Wen <mwen@igalia.com> Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Melissa Wen authored
GAMMA_LUT_3D is only LUT_3D and we also added a SHAPER_LUT property to support other vendors that rely on shaping the color space before applying 3D LUT Signed-off-by:
Melissa Wen <mwen@igalia.com>
-
Add basic plumbing for the GAMMA_LUT_3D/GAMMA_LUT_3D_SIZE crtc props. Changes: - rebased Reviewed-by:
Bhanuprakash Modem <Bhanuprakash.modem@intel.com> Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com>
-
- Aug 30, 2022
-
-
Signed-off-by:
Jake Freeland <jfree@freebsd.org> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Aug 29, 2022
-
-
Zbigniew Kempczyński authored
When driver is loaded or binded and device scanning is performed immediate after that we observed sometimes parent pci device lacks properties. Device selection is built on top of this so we need to solve this situation somehow. Unfortunately reproduction of this bug is extremely hard and likely is located in libudev or libsystemd libraries. Situation complicates fact udev_device_get_parent() internally scans parent device once so consecutive calls returns stale (and maybe properties missing) parent device. We know syspath of parent device so we can enforce scanning of such device calling udev_device_new_from_syspath() which returns freshly scanned device. To increase probability we get properly scanned device retry loop tries to do this several times. Previous code which dumps properties, attributes and uevent was removed. We don't need it anymore as it was temporary code to get some picture what's wrong. Signed-off-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Aug 24, 2022
-
-
By default, the latest Git commit hash is always used to create the version string embedded in libigt - if libigt changes, most targets are marked as "dirty" and need to be relinked. This makes it difficult to easily compare two IGT builds on binaries alone. This commit introduces a new Meson option, -Dversion_hash="your text!", which allows overriding this hash, for instance under CI builds. Signed-off-by:
Ryszard Knop <ryszard.knop@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Aug 23, 2022
-
-
[Why] On replugs, MST connectors can change their names and IDs. The only constant thing is their path property. [How] If a connector has a PATH prop, it's a MST connector. On reprobe, look for MST connector with the same PATH prop. Tested on Volteer with Chamelium V3 connected via a 2-DP-port CableMatters hub. Test: kms_chamelium --run-subtest dp-hpd Signed-off-by:
Mark Yacoub <markyacoub@chromium.org> Reviewed-by:
Lyude Paul <lyude@redhat.com>
-
- Aug 22, 2022
-
-
Vinay Belgaumkar authored
These tests were specifically designed for host Turbo. Skip them when SLPC is enabled as they fail frequently. We will look to keep adding to SLPC test coverage with these scenarios. Bug: https://gitlab.freedesktop.org/drm/intel/-/issues/3963 Bug: https://gitlab.freedesktop.org/drm/intel/issues/4016 Bug: https://gitlab.freedesktop.org/drm/intel/issues/5468 Bug: https://gitlab.freedesktop.org/drm/intel/issues/5831 v2: Add \n for the skip message, and close fd in helper v3: Don't modify reset params before deciding to skip. There is no end fixture for this test, which needs to be fixed separately. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by:
Vinay Belgaumkar <vinay.belgaumkar@intel.com>
-
Karthik B S authored
Display 13 onwards, i915 uses the first async flip to update the watermarks as per the watermark optimization. Hence the actual async flip will happen from the subsequent flips. To handle this, a dummy async flip has to be done in the async flip subtests to allow the KMD to perform the watermark related updates before writing to the surface base address. Signed-off-by:
Karthik B S <karthik.b.s@intel.com> Reviewed-by:
Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
-
- Aug 18, 2022
-
-
Janusz Krzysztofik authored
Commit c8f6aaf3 "tests/gem_exec_fence: Check stored values only for valid workloads" resolved an issue, observed in *await-hang scenarios, where a fence exposed by an invalid spin batch was signaled asynchronously to pending checks for depended test batches still waiting for that fence. Those checks have been disabled, weakening those scenarios. This change restores the pre-hang checks to the extent possible when the invalid spin batch may trigger an immediate reset. If we are lucky enough to take a snapshot of the object supposed to be still not modified by store batches after we confirm that the spin batch has started and before the fence is signaled, we use that copy to verify if the fence dependent batches are still blocked. Running the *await-hang subtests multiple times in CI should build our confidence in their results. v2: preserve checking the pipeline runs ahead of the hang (Chris) v3: use a more simple 'best effort' approach suggested by Chris Signed-off-by:
Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Janusz Krzysztofik authored
When i = 0, condition out[i] == i will be true even if a batch supposed to store i in out[i] fails. Don't use i = 0 in batches that store values in out[i]. v2: still check for out[0] == 0 (Chris) Signed-off-by:
Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Janusz Krzysztofik authored
Commit ed7c8cfb ("tests/i915/gem_exec_fence: Add __for_each_physical_engine to utilize all engines."), while replacing depraciated for_each_physical_engine(e, fd) loop with __for_each_physical_engine(fd, e2) and gem_can_store_dword() inside that loop with gem_class_can_store_dword(), didn't switch to e2 consequently -- eb_ring(e) argument of gem_can_store_dword() was replaced with e->class passed to gem_class_can_store_dword() instead of e2->class. As a result, a batch that stores dword is now submitted to all engines, also those that don't support that operation. Fix it. Signed-off-by:
Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> Reviewed-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
Mauro Carvalho Chehab authored
It was expected that kernel/modules would contain a fix for lsmod to properly report bind dependencies between snd_hda_intel and i915, but, unfortunately: - This didn't happen yet; - Kernel 5.20 won't exist. This is now causing issues, as drm-tip is now based on 6.0-rc1. As IGT is working fine without that, let's remove the code. This patch can be reverted once upstream gets fixed. Reported-by:
Andi Shyti <andi.shyti@linux.intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Andi Shyti <andi.shyti@linux.intel.com> Tested-by:
Andi Shyti <andi.shyti@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@kernel.org>
-
- Aug 17, 2022
-
-
Ville Syrjälä authored
A bunch of places need to decode the DP vswing/preemph values. Fortunately all of them use the the same format so we can extract this stuff into a few helpers. v2: Fix dp_preemph vs. dp_vswing copypaste fail (Jani) Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by:
Jani Nikula <jani.nikula@intel.com>
-
Ville Syrjälä authored
Get rid of the pointless switch statement and decode the fast link training lane count as just <val>+1. We already do the same for the DSI lane count. Signed-off-by:
Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by:
Jani Nikula <jani.nikula@intel.com>
-
- Aug 16, 2022
-
-
1. Introduce Chamelium V3 hardware 2. Update Chamelium ports map Signed-off-by:
Mark Yacoub <markyacoub@chromium.org> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
Matthew Auld authored
Everything we are testing here unfortunately fits within one packet (8M) which means we have zero coverage when we need to split the copy over multiple packets (including the aux CCS state). v2: - Add some coverage for 2G objects, just to see if something blows up with overflowing int. (Ram) - Just make TEST_RANDOM use bigger sizes to ensure we get coverage of objects that require splitting the copy into multiple packets. Signed-off-by:
Matthew Auld <matthew.auld@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Ramalingam C <ramalingam.c@intel.com> Reviewed-by:
Nirmoy Das <nirmoy.das@intel.com>
-
- Aug 15, 2022
-
-
Ashutosh Dixit authored
igt_sysfs_gt_open() is called from for_each_sysfs_gt_dirfd() which counts to 1 greater than the actual number of gt's where igt_sysfs_gt_open() fails and the loop exits. This means that the final failure is an expected condition which happens during normal course of operation. Therefore drop igt_debug_on() from igt_sysfs_gt_open() since the debug print is a false positive which makes it appear that something has gone wrong when it hasn't. Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com> Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com> Signed-off-by:
Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by:
Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
-
Riana Tauro authored
Forcing s3 by setting mem_sleep to deep fails if s3 is not supported by platform Skip the test by checking if s3 is not one of the supported mem_sleep states Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6531 Signed-off-by:
Riana Tauro <riana.tauro@intel.com> Reviewed-by:
Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
-
- Aug 13, 2022
-
-
Ashutosh Dixit authored
XEHPSDV and DG2/ATS-M allow media IP blocks to run at frequencies different from the GT frequency. i915 exposes sysfs controls for these frequency multipliers. IGT's introduced in this patch exercise and verify these per-gt (gt/gtN) sysfs controls starting with the media freq factor (factor and multiplier terms are used interchangeably). v2: Added igt_describe's and s/igt_info/igt_debug/ (Kamil) v3: Change test name from i915_pm_disag_freq to i915_pm_freq_mult (Kamil) Remove .defaults and media_RPx sysfs controls for first merege v4: Add back .defaults and media_RPx sysfs since they are available in the kernel now Signed-off-by:
Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com> Reviewed-by:
Rodrigo Vivi <rodrigo.vivi@intel.com>
-
- Aug 12, 2022
-
-
With the introduction of Chamelium V3 and the anticipation of adding more tests for the new features supported by V3 HW and refactoring old ones (e.g. have separate files for separate tests), let’s move Chamelium to its own folder. Signed-off-by:
Khaled Almahallawy <khaled.almahallawy@intel.com> Reviewed-by:
Lyude Paul <lyude@redhat.com> Acked-by:
Lyude Paul <lyude@redhat.com> Acked-by:
Lyude Paul <lyude@redhat.com> Acked-by:
Petri Latvala <petri.latvala@intel.com>
-
- Aug 11, 2022
-
-
Zbigniew Kempczyński authored
References: https://gitlab.freedesktop.org/drm/intel/-/issues/6543 Due to lack of reproduction path of the above issue more data about missing PCI_SLOT_NAME property is required. What is extremely weird when PCI_SLOT_NAME is missing udev returns some properties, like: [properties] DEVPATH : /devices/pci0000:00/0000:00:02.0 DRIVER : i915 PCI_CLASS : 30000 PCI_ID : 8086:191E SUBSYSTEM : pci To narrow the problematic code when PCI_SLOT_NAME is missing lets dump kernel uevent file and retry scanning properties from udev. Retry path allows to detect if udev returns same list of properties. Above doesn't fix the issue. It is providing additional information about devices and their properties provided from udev, especially when missing PCI_SLOT_NAME will strike again. It also contains warning which might detect situation where two scanning of properties will provide different results. Signed-off-by:
Zbigniew Kempczyński <zbigniew.kempczynski@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
These values were immediately overwritten or left unused, remove them. Signed-off-by:
Ryszard Knop <ryszard.knop@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
The intent here most likely was that if strchr returns NULL, the error below is printed out, but the condition was to check if the provided buffer was not NULL. Signed-off-by:
Ryszard Knop <ryszard.knop@intel.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com>
-
- Aug 10, 2022
-
-
Alex Hung authored
If a plane does not support the format or modifier, skip testing for this plane. Signed-off-by:
Alex Hung <alex.hung@amd.com> Reviewed-by:
Mark Yacoub <markyacoub@chromium.org>
-
In fence_order and engine_order we are repeatedly creating big mmaps that are very slow when done via gem_write, causing test timeouts. Rewrite batch_create to mmap the buffer directly instead of using gem_write. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by:
Karolina Drobnik <karolina.drobnik@intel.com> Reviewed-by:
Kamil Konieczny <kamil.konieczny@linux.intel.com>
-
- Aug 09, 2022
-
-
Ashutosh Dixit authored
Use correct context id in "enable-race" test. Bug: https://gitlab.freedesktop.org/drm/intel/-/issues/5490 Signed-off-by:
Ashutosh Dixit <ashutosh.dixit@intel.com> Reviewed-by:
Sai Gowtham Ch <sai.gowtham.ch@intel.com>
-
- Aug 08, 2022
-
-
Jessica Zhang authored
Fix the following build warnings for kms_writeback: $ ninja -C build ninja: Entering directory `build' [120/1183] Compiling C object tests/kms_writeback.p/kms_writeback.c.o ../tests/kms_writeback.c: In function ‘__igt_unique____real_main480’: ../tests/kms_writeback.c:532:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 532 | drmModePropertyBlobRes *formats_blob = get_writeback_formats_blob(output); | ^~~~~~~~~~~~~~~~~~~~~~ ../tests/kms_writeback.c:555:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 555 | igt_fb_t invalid_output_fb; | ^~~~~~~~ ../tests/kms_writeback.c:571:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 571 | igt_fb_t output_fb; | ^~~~~~~~ ../tests/kms_writeback.c:586:17: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement] 86 | igt_fb_t output_fb; | ^~~~~~~~ Reported-by:
Ashutosh Dixit <ashutosh.dixit@intel.com> Signed-off-by:
Jessica Zhang <quic_jesszhan@quicinc.com> Reviewed-by:
Abhinav Kumar <quic_abhinavk@quicinc.com>
-
Enhance kms_writeback to add support for the below options: - View all writeback modes Usage: "./kms_writeback --list-modes" - Test a built-in mode from connector list Usage: "./kms_writeback --built-in <mode_index>" - Test a custom mode from user input Usage: "./kms_writeback --custom <mode_parameters>" Refer to --help for exact syntax - Dump the writeback output buffer to png file Usage: "IGT_FRAME_DUMP_PATH=filepath FRAME_PNG_FILE_NAME=filename ./kms_writeback --dump" Changes made in V4: - Added header for writeback mode list - Changed built-in mode short option from -s to -b for clarity Changes made in V6: - Fixed alignment for function arguments spilling over one line Signed-off-by:
Rohith Iyer <quic_rohiiyer@quicinc.com> Reviewed-by:
Abhinav Kumar <quic_abhinavk@quicinc.com>
-
Use igt_parse_mode_string instead of sscanf to parse mode string from command line. Reviewed-by:
Abhinav Kumar <quic_abhinavk@quicinc.com> Reviewed-by:
Petri Latvala <petri.latvala@intel.com> Signed-off-by:
Rohith Iyer <quic_rohiiyer@quicinc.com>
-
Add helper method to parse a mode string and verify correct number of arguments. This standardizes parsing mode strings. Changes made in V4: - Corrected documentation - Changed *mode_string to a const char from char Changes made in V5: - Removed angle brackets in documentation which cause parse error in builddoc Reviewed-by:
Abhinav Kumar <quic_abhinavk@quicinc.com> Signed-off-by:
Rohith Iyer <quic_rohiiyer@quicinc.com>
-
Rodrigo Vivi authored
I recently had updated the names to use the official names, but forgot to update the doc. CC: Ashutosh Dixit <ashutosh.dixit@intel.com> Fixes: 2983efbd ("lib/igt_aux: Let's use the official mem_sleep names") Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Ashutosh Dixit <ashutosh.dixit@intel.com>
-
- Aug 05, 2022
-
-
Bhanuprakash Modem authored
Convert the existing subtests to dynamic subtests at pipe level. Signed-off-by:
Bhanuprakash Modem <bhanuprakash.modem@intel.com> Reviewed-by:
Kunal Joshi <kunal1.joshi@intel.com>
-
Swati2 Sharma authored
Even if no display is connected; test executes and result in SUCCESS with no modeset happening. Made changes, to SKIP test if there is no display connected. Signed-off-by:
Swati Sharma <swati2.sharma@intel.com> Reviewed-by:
Karthik B S <karthik.b.s@intel.com>
-
- Aug 03, 2022
-
-
Rodrigo Vivi authored
Now that we have the ability to enforce the S3, let's use it and avoid the extra check in the test. Cc: Riana Tauro <riana.tauro@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Anshuman Gupta <anshuman.gupta@intel.com>
-
Rodrigo Vivi authored
Testing both Suspend-to-Idle and Suspend-to-RAM is critical. So far our test suite are relying on the system's default for the "suspend-to-mem", what reduces our ability to cover multiple scenarios or requires manual intervention. This also brings confusions in some debugging scenarios. For the Suspend-to-Idle it is easy. The FREEZE state already enforces it. However, there's only one way to enforce the Suspend-to-RAM (aka S3) which is using MEM state with mem_sleep at "deep". However, let's not break the whole world overnight. Let's first introduce the ability to force the Suspend-to-RAM. Then convert the tests as needed. So, the SUSPEND_STATE_MEM will continue to exist and do exactly what is expected when you set "mem" to /sys/power/state, which is respect whatever is in the /sys/power/mem_sleep. Let's introduce a new SUSPEND_STATE_S3 state aiming to force the Suspend-to-RAM, by changing both /sys/power/state and /sys/power/mem_sleep. Cc: Riana Tauro <riana.tauro@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Anshuman Gupta <anshuman.gupta@intel.com>
-
Rodrigo Vivi authored
Let's simplify the suspend state check directly by using its name instead of using a mask style. This will allow us to introduce a new state cleanly. v2: remove accidental fprintf Cc: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Anshuman Gupta <anshuman.gupta@intel.com>
-
Rodrigo Vivi authored
1. We are not using DISK 2. DISK has no dependency on mem_sleep. Let's be clear on what exactly we are trying to do. Cc: Riana Tauro <riana.tauro@intel.com> Cc: Anshuman Gupta <anshuman.gupta@intel.com> Signed-off-by:
Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by:
Anshuman Gupta <anshuman.gupta@intel.com>
-