Age | Commit message (Collapse) | Author |
|
Not as automagic as kbuild :(
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Primes are useful as input sources since they should not fall into any
patterns that may be optimised by the drivers.
An example of use this in a test driver:
uint32_t seqno, inc, count;
seqno = inc = count = 0;
do {
inc = igt_next_prime_number(inc);
if (seqno + inc < seqno)
break;
seqno += inc;
/* igt_assert_eq(test_inc(inc), seqno); */
count++;
} while (1);
printf("count=%u, seqno=%u, last=%u\n", count, seqno, inc);
and prints "count=27878, seqno=4294845817, last=323381", or for simply
generating the set of the first N prime numbers, use
for_each_prime_number(prime, 100)
printf("%lu ", prime);
which prints
1 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 64 67 71 73 79 83 89
97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181
191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281
283 293 307 311 313 317 331 337 347 349 353 359 367 373 379 383 389 397
401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503
509 521
Note that 1 is included in the set of prime numbers for convenience
above. Mathematicians beware!
The set of primes is computed using the Sieve of Eratosthenes, which
basically just keeps a list of all multiples - any number not in list is
therefore prime. As a bitmask of all integers is kept, it can be quite
memory intensive for very large primes. A fallback to "trial division"
is available just in case, but for large primes that is much slower.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Replace the automake specific variable names for listings in Makefile.sources
with something not automake specific.
Signed-off-by: Robert Foss <robert.foss@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Since all the batches start with the same content, we can reuse the same
buf to fill them.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Several years ago we made the plan of only having one canonical source
for i915_pciids.h, the kernel and everyone importing their definitions
from that. For consistency, we style the intel_device_info after the
kernel, most notably using a generation mask and a per-codename bitfield.
This first step converts looking up the generation for a devid tree from
a massive if(devid)-chain to a (cached) table lookup.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
We don't do anything yet other than try to load the module. Initial
sanity checks to come.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Zhi Wang <zhi.a.wang@intel.com>
|
|
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
igt_sysfs_set() for setting an attribute via sysfs, igt_sysfs_get() for
reading.
v2: Lots of little bugs in igt_sysfs_get()
v3: Pass device to open, stop assuming Intel rules.
v4: Test opening and reading!
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Move power management related code to a separate library.
Initially this is done only for workarounds that apply to external
components. Modify the users of such workarounds accordingly.
This currently involves HD audio and SATA link power management.
For SATA link PM there's also code to save the previous settings,
to allow for resetting the values after we've finished testing.
Signed-off-by: David Weinehall <david.weinehall@intel.com>
Reviewed-by: Marius Vlad <marius.c.vlad@intel.com>
Signed-off-by: Marius Vlad <marius.c.vlad@intel.com>
|
|
Added extended wildcard support when specifying --run-subtest.
Wildcard format is as specified in rfc3977 and the uwildmat() implementation
is taken from libinn.
See https://tools.ietf.org/html/rfc3977#section-4 for a description of
allowed wildcard expressions.
v2: Use comma as list separator (Ville Syrjala)
support both ^ and ! as not operators (Dave Gordon)
v3: Updated to use uwildmat() (Dave Gordon)
Signed-off-by: Derek Morton <derek.j.morton@intel.com>
[danvet: Fixup whitespace. Add #include <stdint.h>. Run lint.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Unbreaks compilation fail.
Also appease gcc in gem_exec_basic because.
Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
|
|
v2: Use do_ioctl().
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Daniel Stone <daniels@collabora.com>
|
|
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
The gpgpu fill utility functions are used in separate test so it's
logical to keep them in separate file. This is similar to what media
spin test did in the past.
Functionally only gpgpu kernel changed. Send instruction payload size
was reduced. Since offset is incremented by 0x10 bytes there is no point
in using larger writes.
Cc: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Dominik Zeromski <dominik.zeromski@intel.com>
[Thomas: Fix typo of gpgpu_fill.h in Makefile.sources]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
I just remembered that those Makefile.sources files where also
included by the Android build system, so we can't use automake's
conditionals in there.
So, we want to use GNU make's one. Unfortunately, after all those years,
GNU automake still doesn't do anything useful with GNU make's ifeq:
lib/Makefile.sources:66: error: else without if
automake will helpfully signal that the 'else' corresponding to the
'ifeq' doesn't have a corresponding 'if'. Well, yeah, thanks.
Fortunately, we can work around this by cunningly inserting a space
before 'ifeq', 'else' and 'endif' and fool automake's regex-based
checks.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
When developing, it's quite annoying that the version changes every
commit, causing the library to be rebuild and every single binary
re-linked.
Add a config option to skip that.
I remember Ville asking for this "feature" as well.
v2: Option is now called --disable-git-hash (Thomas)
Various spelling mistakes (Thomas)
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
The master plan would be to get a bit more stats in it, at least the
standard deviation and confidence interval. Just need the average for
now.
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
For all those IGT tests that need an easy way to draw rectangles on
buffers using different methods. Current planned users: FBC and PSR
CRC tests.
There is also a tests/kms_draw_crc program to check if the library is
sane.
v2: - Move the test from lib/tests to tests/ (Daniel).
- Add igt_require() to filter out the swizzling/tiling methods we
don't support (Daniel).
- Simplify reloc handling on the BLT case (Daniel).
- Document enum igt_draw_method (Daniel).
- Document igt_draw_get_method_name() (Paulo).
v3: - Add IGT_DRAW_MMAP_WC (Chris).
- Implement the other trivial swizzling methods (Chris).
- Remove the gem_sync() calls (Chris).
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
|
|
The media spin utility is derived from media fill. The purpose
is to create a simple means to keep the render engine (media
pipeline) busy for a controlled amount of time. It does so by
emitting a batch with a single execution thread that spins in
a tight loop the requested number of times. Each spin increments
a counter whose final 32-bit value is written to the destination
buffer on completion for checking. The implementation supports
Gen8, Gen8lp, and Gen9.
v2: Apply the recommendations of igt.cocci.
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Tested-by: Lei Liu <lei.a.liu@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
After setting up the copy operations, add a hanging batch. This should
mean that we complete the copy and the compare then races against the
GEM reset. Hopefully, this will catch driver bugs where the target
object is no longer accessible after the hang.
Note: hang injection is disabled until the required kernel interface is
completed. But there are useful additional tests here...
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
|
Write the version.h.tmp file into the build directory instead of source
directory. This allows out of tree building when those two are not the
same.
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
This has been replaced by igt_kms_get_base_edid().
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
|
|
v2 (Ben): Rebased on:
commit ea11d103e0617e33bce6f11328521d15b13422b0
Author: Oscar Mateo <oscar.mateo@intel.com>
Date: Tue Nov 12 11:50:35 2013 +0000
build: list all test/tool/lib source files in their own Makefile.sources
v3: (Ben): Rebased on the doc/API rework. Probably needs review
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
|
|
Enable gem_media_fill test for CHV platform. In addition to differences in
media IP blocks from Broadwell, the command sequence also differs for
programming the media pipeline, e.g., should not send a MEDIA_STATE_FLUSH
right before the MI_BATCH_BUFFER_END of batch buffers using MEDIA_OBJECT.
Uses explicit IS_BROADWELL / IS_CHERRYVIEW to distinguish in gen8 media
fill handling.
Signed-off-by: Sean V Kelley <sean.v.kelley@intel.com>
Reviewed-by: Xiang, Haihao <haihao.xiang@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
commit 743dc7997aa9f5210055896940d87c88983dcda6
breaks the build under Android because version.h
is not created. This happens because the android
make executes from the ANDROID_BUILD_TOP directory
rather than from the directory containing the source
files, so we need to differentiate between Android
and linux builds. This is V2 of this patch based on
Thomas Wood's suggestion.
Signed-off-by: Tim Gore <tim.gore@intel.com>
[Thomas: Fix distcheck issues]
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
Move version.h generation into lib/Makefile.sources so that it can be
shared between the Autotools and Android build systems. Also make sure the
"updating version.h" message is only displayed when version.h actually
changes and remove unnecessary includes of version.h.
This also includes changes from Tvrtko Ursulin to prevent a build from
within the git repository failing when git is not available.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
|
|
Add a function to set an EDID data block on a connector and include a
set of generic EDID blocks for testing.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
|
|
For 1 function and 2 types we kinda don't need separate files.
Especially now that igt_kms is much more focused on the actual modeset
stuff with all the framebuffer helpers extracted to igt_fb.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Stuff all the framebuffer creation, cairo and drm fourcc format
handling in there. This gives us a very clear cut in the headers where
igt_fb.c only needs to include igt_fb.h, and igt_kms.c includes both
(well igt_kms.h pulls in igt_fb.h since we always need this).
The aim here is to add api docs for igt_fb since that part of the kms
library seems fairly stable already, while all the mode setting and
iteration is still a bit in flux.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
And shovel all the various helpers in there.
Also move igt_set_vt_graphics_mode to igt_kms.h since the function is
implemented in igt_kms.c. And it fits better. I kinda missed this in
the prep work.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
With the header cleanup we can now give this header a suitable name,
since it now really only contains register access and other I/O
functions and assorted definitions.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Right now almost everything in there concerns itself with register
access. Move everything else out (into drmtest.h for lack of better
place) to prepare for api documentation.
Also rename intel_drm.c to intel_os.c since it contains OS, not
drm abstractions.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Same deal as with rendercopy.h.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
This is to consolidate all the chipset related functions to
intel_chipset.[hc].
Unfortunately we need to rename a wrapper lib file in quick_dump, too.
And quick_dump makes automake a bit unhappy apparently.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Same game as with ioctl_wrappers.c.
To split was rather clean except for the static function
oom_adjust_for_doom. But that was a bug, the calls to it in the
various open helpers should simply be done at init and fork time.
Which was already the case, except for simple testcase. So fix it up.
While at it also start with a small section header for the
documentation.
v2: Don't forget to update the xml template ...
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
I want to group the ioctl wrappers and related functions into their
own documentation section.
Apparently gtkdoc refuses to obey this wish without a corespdonding
header. So appease it. Also gtkdoc seems to struggle with rebuilding a
bit ...
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
i915_pciids.h was missing from Makefile.sources, which caused distcheck to
fail.
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
This makes it a bit more like the kernel, so we can go poke at DPIO and
other IOSF regs a bit more easily.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
|
|
v2: Fixed the source register used for the send with EOT
Fixed the posted destination operand for the send with EOT
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
|
|
v2: Fixed the source register used for the send with EOT
Fixed the posted destination operand for the send with EOT
v3: Workaround: Insert MEDIA_STATE_FLUSH after MEDIA_OBJECT.
Fixed the cache agent used in media_block_write message
Set Instruction Buffer size Modify Enable to 1, otherwise it may result in GPU hang
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
|
|
It is to check whether media pipeline on render ring works. Codes
are copied and modified from the rendercopy case which uses 3D pipeline.
However media pipeline is simpler than 3D pipeline and there is few changes
between gen6,gen7 and gen8
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
|
|
Move scratch_buf_write_to_png() to its only user, gem_render_copy.c.
This makes the cairo dependencies easier to handle from the Android
perspective, but if there is a good reason why this file exists I can
try to handle it differently.
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
This makes cairo dependencies easier to handle. Otherwise, we
would have to litter drmtest all over with "#ifndef ANDROID"
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
[danvet: Add missing _GNU_SOURCE to igt_kms.c and missing include to
intel_sprite_on.c]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
In this way, all source files are listed in Makefile.sources and included
from Makefile.am, thus enabling the reuse from Android makefiles.
Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|