Age | Commit message (Collapse) | Author |
|
currently the entire test is skipping. adding this fix to skip test
only for invalid cases and run on other valid display combination.
v2: add RUN_PAIR check to avoid crash on single display.
v3: add flag to check for valid display combination.(Karthik)
v4: if no valid mode is found then flow should go to 'out'.(Karthik)
v5: rebase.
Signed-off-by: Jeevan B <jeevan.b@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Run rc6_idle on a single instance of every engine
v2: add dynamic subtest (Anshuman)
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
|
|
Refactor code to move intel_ctx_create_all_physical() and
intel_ctx_destroy() to igt_fixture to be used by rc6_fence and
other tests.
No functional changes
v2 : refactor code (Anshuman)
Signed-off-by: Riana Tauro <riana.tauro@intel.com>
Reviewed-by: Anshuman Gupta <anshuman.gupta@intel.com>
|
|
Added subtest description to gem_busy tests
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Signed-off-by: Sinjan Kumar <sinjan.kumar@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|
|
Added test description to all the available subtests.
v2 : Modified subtest description and added description
to all the subtests.
v3 : Modified description based on suggestions.
v4 : Modified test description.
v5 : Aligned description strings.
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>
|
|
Convert the existing subtests to dynamic subtests at pipe/output level.
v2: -Fixed if-else block
-Removed redundant check
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
|
|
If dc3co is not enabled in driver, counter will always be zero and we
can simply skip the test.
Fixes: https://gitlab.freedesktop.org/drm/intel/-/issues/4364
Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Warn in case out BDB block definition is smaller than what
the VBT has. That is an indication that we are potentially
forgetting to decode some useful new data.
We exclude blocks 2,11,22 from this since we don't have
a sensible min size for them.
We also limit this to modernish VBTs (155+) since some
old stuff doesn't really conform (eg. my cst with version
134 has a 9 byte block 1 even though our min size for it
is 7 bytes, and all the other oldish machines have block
1 only made up of of 4 or 5 bytes).
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Modern VBTs (at least observed on TGL machines) no longer provide the
LVDS data table pointers block. Thus we can't currently decode the
contents of the LVDS data table block.
I see two options how to handle this:
1) Just hardocode the offsets/sizes (+ some checks to make sure the
hardcoded values makes sense)
2) Deduce the offsets/sizes from the actual LVDS data table block
contents
I've chosen option 2 here. The fp_timing table 0xffff terminator
is what allows us to do this. We just look up the first two
of those from the LVDS data block and calculate the offsets/sizes
from there. Only the fp_timing entries should have a variable size,
and the dvo_timings and panel_pnp_id have fixed size (in fact IIRC
they are 1:1 match for the equivalent EDID stuff).
This is the same thing we do in the kernel parser as well since
commit a87d0a847607 ("drm/i915/bios: Generate LFP data table
pointers if the VBT lacks them")
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Do a reasonably exhaustive check to make sure the LVDS
data table pointers are sane.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decoede the LVDS data pointers. The offsets are specificed from
the start of the whole VBT, but we've fixed them up to be relative
to the start of the block already. For human parsing printing
them as relative from the start of the block seems more useful
anywya.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode the tail end of the LFP data, if available.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode the panel PNP ID from the LVDS data block.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Get rid of the mess in the LVDS data block parsing and juse
use the offsets straight from the LVDS data table pointers
block.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
block
For some crazy reason the LFP data pointer offsets are specified
as relative to the BDB header. That won't work with out private
BDB block copies, so let's convert them to be relative to the
start of the LFP data block.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Guarantee that we have enough memory allocated for the structure
we use to decode the BDB blocks. We no longer have to worry about
going out of bounds in case of malformed VBT or incorrect version
checks.
The BDB_SDVO_PANEL_DTDS and BDB_GENERIC_DTD code looks a bit
bit suspicious so those probably need a full review. Also
BDB_LVDS_LFP_DATA and BDB_LVDS_LFP_DATA_PTRS will need further
work due to the variable size nature of the data.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Make a copy of the BDB blocks. For the moment we just do a
1:1 copy but later on we can specify a minimum size for
the copy and stop worrying about going out of bounds during
parsing in case the version checks are wrong of the VBT is
malformed.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Include the block header in the hex dump as well. Might
as well have the full data available in case we need to
diagnose some decoding failures.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
VBT version 244 onwards have a new eDP max link rate field.
Parse it.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
We're failing to parse the 5.4 Gbps value of the old
fast link training rate. Remedy it.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode the fast link training link rate.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode per-panel stuff from the LVDS options block.
Not at all sure which version have which fields since the spec
only goes back to v155. But earlier VBTs do have some of this
stuff already so going by block size instead for the older
stuff.
Here's a quick list from my VBT stash:
mgm version 108 -> 4 bytes
alv version 120 -> 4 bytes
cst version 134 -> 14 bytes
pnv version 144 -> 14 bytes
cl version 142 -> 16 bytes
ctg version 155 -> 24 bytes
The pnv VBT is particularly interesting since it has a higher version
number that the cl VBT and yet has a smaller LVDS options block.
I guess the "Atom==let's not follow any rules" rule started already
back then.
All the more modern VBTs I have are 24 bytes (or more).
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode the contents of the LFP power conservation block (44).
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Knowing the size of each block can help in figuring out what should
be in there. Let's dump that.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Print the panel type(s) the same way in dump_lvds_data() as
elsewhere.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode the child device DP max link rate stuff.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Use the same logic as we use in the kernel to decode
the SSC frequency.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode new HDMI data rates.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Decode the DP/HDMI DVO ports up to 'I'.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Sync up the the VBT definitions from kernel commit
24b8b74eb2eb ("drm/i915: Parse max link rate from the eDP BDB block")
and adjust the actual code to match.
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
The "max bpc" property only ensures that the bpc will not go beyond
the value set through this property. It does not guarantee that the
same bpc will be used for the given mode.
If clock/bandwidth constraints permit, the max bpc will be used to
show the mode, otherwise the bpc will be reduced. So, if we really
want a particular bpc set, we can try reducing the resolution, till
we get the bpc that we set in max bpc property.
This patch will skip the test, if there is no valid resolution to get
the same bpc as set by max_bpc property.
Cc: Swati Sharma <swati2.sharma@intel.com>
CC: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
|
|
As we converted the subtests to dynamic, we must rename the
same subtests in BAT.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Clear the system state before exiting the subtest.
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 typos: s/hand/hang/, s/TEST_NONE/TEST_BASIC, etc..
V3:
* Add output->name to the dynamic subtest
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Instead of writing our own wrappers for each subtest to sort connector
modes, just use the helpers from IGT library.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Sanitize the system state before starting the subtest.
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:
* Add output name to subtest
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Add igt_display_reset in test_init().
Add new function to call all the subtests to avoid code duplication.
v2: -Call test_init() before igt_output_set_pipe() (Bhanu)
-Declare and initialize 'count' variable together (Bhanu)
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
|
|
As we converted the subtests to dynamic, we must rename the
same subtests in BAT.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Clear the system state before exiting the subtest.
V2: Fix Crash in *-modeset-vs-cursor-atomic test
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
Convert the existing subtests to dynamic subtests.
Signed-off-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
We need some coverage of the virtual engines.
v2:
* Mark contexts as "allow hang". (Umesh)
* Fix destruction order in virtual_all.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
|
|
intel_get_drm_devid() will assert that it is i915.. so we need to
require that first in order for getfb-reject-ccs to skip instead of
crash.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
|
|
Already existing subtest is modified so that dsc can be validated
using different plane modifiers. Few 8/10/16 bpc RGB and YUV formats
are added.
v2: -minor fixes
v3: -renaming
-addition of new planar format test
v4: -removing XRGB8888 from format_list
-test name managed with single var
v5: -changed MIN_BPP to DSC_MIN_BPP
Signed-off-by: Swati Sharma <swati2.sharma@intel.com>
Reviewed-by: Bhanuprakash Modem <bhanuprakash.modem@intel.com>
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
|
|
Allow XY_FAST_COPY_BLT on DG2. This fixes x-tiled blits on DG2.
Signed-off-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5450
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5409
Tested-by: Mika Kahola <mika.kahola@intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
Opendir(3) and fdopendir(3) are quite expensive system calls when ran in
a loop which iterates all processes in a system times all open files in
each.
Replace some of them (easy ones) with simpler open(2)/read(2) combo to
avoid hammering on the malloc/free.
This brings the default CPU usage of the tool on my desktop from ~3% to
~2%.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
|
|
All the clean up functions were moved to fixture in patch "2aff4179".
But this causes an assert in intel_bb_destory() after the test passes,
on configurations having eDP connected.
So moving the intel_bb_destroy() call back to the original function.
Fixes: 2aff41793e5f ("tests/i915/kms_big_fb: Move cleanup code to fixture")
Signed-off-by: Karthik B S <karthik.b.s@intel.com>
Acked-by: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Reviewed-by: Swati Sharma <swati2.sharma@intel.com>
|
|
The i915 KMD will use the first async flip to update the watermarks as
per the watermark optimization in DISPLAY13. Hence the actual async flip
will happen from the subsequent flips.
For alternate sync async test, a dummy async flip has to be done to
allow the KMD to perform the watermark related updates before writing to
the surface base address.
Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Karthik B S <karthik.b.s@intel.com>
|
|
Added description for subtests.
v2: Added global description and modified others.
Cc: Kamil Konieczny <kamil.konieczny@linux.intel.com>
Signed-off-by: Priyanka Dandamudi <priyanka.dandamudi@intel.com>
Reviewed-by: Kamil Konieczny <kamil.konieczny@linux.intel.com>
|
|
Instead of using a separate "is_ats_m" flag, reuse "is_dg2" in ATS-M
intel_device_info definition. Delete is_ats_m in intel_device_info struct
definition and IS_ATS_M() macro, as they are no longer needed.
Signed-off-by: Karolina Drobnik <karolina.drobnik@intel.com>
Acked-by: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
|