summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-17igt: remove deprecated reg access tools in favor of intel_regJani Nikula
intel_iosf_sb_read, intel_iosf_sb_write, intel_reg_dumper, intel_reg_read, intel_reg_snapshot, intel_reg_write, intel_vga_read, and intel_vga_write have been deprecated in favor of intel_reg. Remove the deprecated tools. intel_reg does everything they do, and more. Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-08-16overlay: Fix min frequency detection on BYT/BSWChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-14kms_frontbuffer_tracking: reduce the FBC wait timeout to 2sPaulo Zanoni
Just like we did for PSR, let's do it for FBC. FBC gets reenabled in just 50ms, so the 5000ms timeout is huge. On the other hand, we only pay the 5000ms timeout full price 9 times when running kms_frontbuffer_tracking --fbc-only, so this change shouldn't save too much time. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: reduce the PSR wait timeout to 2sPaulo Zanoni
PSR only takes up to 100ms to be enabled, but we were using 5000ms timeouts. The problem with PSR is that the MMAP_GTT tests have to assert that PSR is disabled and stays disabled during the whole timeout, so that 5s cost is a little to high when we consider that we do the full 5s wait 74 times when running kms_frontbuffer_tracking --psr-only. By reducing to 2s we still make sure we're safe, since we're waiting 20x the time PSR needs to get reenabled, and we reduce the runtime of running kms_frontbuffer_tracking --psr-only from 14m10s to 10m29s. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14benchmark/gem_exec_trace: Inline everythingChris Wilson
Avoid the globals and make the dispatch one huge function and hope GCC works some magic. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-14benchmark/gem_exec_tracer: Tweak to handle SNAChris Wilson
SNA starts by feeding in deliberately bad ioctls in order to detect the kernel interface versions. A quick solution is to always feed it to the ioctl and only record the trace if it is valid. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-14kms_frontbuffer_tracking: add subtests for rgb565 and rgb101010Paulo Zanoni
Make sure valid formats work properly and invalid formats keep the features disabled. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: fix psr-farfromfence assertionsPaulo Zanoni
We're using GTT draws and they disable PSR. This test is mostly for FBC anyway. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: split prepare_subtest() in two functionsPaulo Zanoni
And remove duplicated code by calling prepare_subtest_data() on rte_subtest(). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: remove duplicated pairs on multidrawPaulo Zanoni
If we already tested the combination of m1+m2, don't test m2+m1 later: the drawing pattern used already has 4 squares, so we're already testing the "m2 followed by m1" case. This should reduce the test time from about 60s to about 30s. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: SKIP if not enough stolen is availablePaulo Zanoni
This is not an FBC bug. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: use all drawing methods on multidraw_subtestPaulo Zanoni
Instead of having a single pair of methods per subtest. Having this in pairs is not very useful since we end doing all the drawing methods per subtest anyway. This saves a few modesets, which makes eDP slightly faster - about 22s on my local machine. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: improve support for multiple pixel formatsPaulo Zanoni
We now have per-pixel-format FBs and CRC values. Also t->format to indicate the format we're using on the subtest. We still only use the default RGB888 format (AKA FORMAT_DEFAULT) for all tests since multiplying the current number of tests by the number of new pixel formats doesn't sound like a great idea. With this, it should be really easy to add new tests that use different pixel formats. Also, if you want a full IGT run on a specific pixel format, all you need to do is to change FORMAT_DEFAULT. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: add information about more formatsPaulo Zanoni
We're not using those formats yet, but a simple change to create_fb() allows us to use these formats without problems now. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: introduce enum colorPaulo Zanoni
We want to add support for different pixel formats and the current hardcoded pixel values won't work with that. So add enum color and its auxiliary functions so we can decide the pixel values based on the chosen color enum. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: don't pass the format to create_fb()Paulo Zanoni
It is create_fb() who is going to decide the buffer format based on the arguments provided by the caller. This is another step for the non-XRGB8888 support. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: add a wrapper for igt_create_fb()Paulo Zanoni
The wrapper will do a few additional things when we add support for formats different than XRGB8888. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14kms_frontbuffer_tracking: fix MMAP_WC assertions on PSRPaulo Zanoni
Now that the MMAP_WC operations call the dirty ioctl, PSR gets reenabled after some time. So we have to adjust op_disables_psr() to take that into account. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14lib/igt_draw: break if we already wrote every pixelPaulo Zanoni
Due to the nature of accessing a tiled buffer in an untiled way, we used to loop through the whole buffer all the time. Add a small mechanism to just break in case we know we already wrote every pixel we should have written. On kms_frontbuffer_tracknig/fbc-2p-primscrn-pri-shrfb-draw-pwrite (with a 3200x1800 primary screen and a 1920x1080 secondary screen), I could reduce the runtime from ~7.53s to ~6.01s. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14lib/igt_draw: fix pwrite_tiled()Paulo Zanoni
Don't forget to flush in case we're in the last iteration of the loop. This fixes failures of kms_frontbuffer_tracking when used with --use-small-modes on eDP monitors. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14lib/igt_draw: add support for RGB565 and XRGB2101010Paulo Zanoni
We need to test those pixel formats on the FBC code, so let's make sure the drawing library works on them first. v2: Update the gtkdoc (Daniel). Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14lib/igt_core: use print("%s", #expr) instead of print(#expr)Paulo Zanoni
If I have a program with the following: igt_skip_on(i % 2 == 0); igt_skip_on_f(i % 2 == 0, "i:%d\n", i); igt_require(i % 2 == 0); igt_require_f(i % 2 == 0, "i:%d\n", i); then I'll get compiler error messages complaining about format conversions related to the '%' character used in the mod operation. So put the whole string as a %s argument to avoid interpreting '%' and any other possible chars. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-14tests/kms_setmode: mark simple clone test as basicJesse Barnes
Should cover simple, single CRTC mode sets. Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/kms_flip: add basic tests for flip, flip vs dpms, and flip modeset v2Jesse Barnes
Simple variants that don't do multiple output or interruptible testing. v2: add vblank variant, remove duplication (Daniel) Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/pm_rpm: mark RTE and D3 tests as basicJesse Barnes
These always need to pass for basic PM functionality. Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/pm_backlight: mark simple test as basicJesse Barnes
We should be able to adjust the backlight and observe changes in sysfs. Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/kms_addfb: mark simple fb creation tests as basic v2Jesse Barnes
We should always be able to create simple and tiled objects. v2: make the whole test basic (Daniel) add to .gitignore Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/gem_tiled_pread: mark normal tests as basic v2Jesse Barnes
These simple tests should always pass. v2: drop pwrite variant as it's more of a stress test (Daniel) add to .gitignore Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/gem_pread/pwrite: mark normal tests as basicJesse Barnes
These should always pass. Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/gem_mmap_gtt: mark basic access and copy tests as basic v2Jesse Barnes
These ones should always pass and are fairly quick. v2: add more tests (Daniel) Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/gem_mmap: mark basic object creation tests as basicJesse Barnes
We should be able to create small and moderate sized objects quickly and without errors. Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/drv_getparams: mark EU and subslice fetch as basic v2Jesse Barnes
Fundamental and simple functionality. v2: make whole test basic (Daniel) add to .gitignore Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/gem_flink, prime_self_import: mark flink and prime tests as basic v2Jesse Barnes
They're testing basic functionality and don't involve stress or race induction. v2: use gem_flink and prime_self_import tests instead (Daniel) add to .gitignore Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/drv_module_reload_basic: use linear_blits after module_reload for ↵Jesse Barnes
sanity check Reduces runtime a lot... Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/drv_module_reload: rename drv_module_reload to include in BATsJesse Barnes
Absolutely-acked-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14tests/gem_storedw_loop: add new store_dword test to unify per-ring ones v2Jesse Barnes
There was a lot of duplication going on... Mark as basic while we're at it as these should never fail. v2: add to .gitignore Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2015-08-14igt/gem_mmap: Add one more extra large boChris Wilson
Daniel complained that all the tests in gem_mmap.c were too quick. This one aims to rectify that by double checking that if we mmap a buffer larger enough to force swapping, everything still works. Also fix the test to exercise the different object sizes! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-14lib: Allow caller to use uint64_t sizes with intel_require_memory()Chris Wilson
Allow the caller to ask how many extra large objects can be created and still fit into memory. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2015-08-13tools/null_state/gen9: Send all components in VF stateMika Kuoppala
Fix commit 59cdc16b1a6f069f944ff17851a59edf8f72d45d Author: Arun Siluvery <arun.siluvery@linux.intel.com> Date: Fri Jul 31 16:27:07 2015 +0100 tools/null_state/gen9: Send atleast one valid component in VF state to honor the Reviewed-by, send all four components as noted by Ben in his review. Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Arun Siluvery <arun.siluvery@linux.intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-08-13kms_frontbuffer_tracking: don't test SPR or CUR on multidrawPaulo Zanoni
The goal of the multidraw subtest is to check if alternating drawing methods can somehow break the feature. The plane we're drawing to really shouldn't matter here - we have other tests to make sure drawing on the different planes works correctly. So after this patch we'll only run the multidraw subtest for the primary plane, not for sprite and cursors anymore. This makes "--no-edp --fbc-only --1p-only" go from 2m29s to 1m40s on my machine. Of course, we can still run these tests with the --show-hidden flag. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-13kms_frontbuffer_tracking: don't test CUR or SPR planes on FBS_SHAREDPaulo Zanoni
We already tested these planes for FBS_INDIVIDUAL, and there are no reasons to believe those planes will behave differently under FBS_SHARED, so save some time avoiding potentially useless tests. This makes "--no-edp --fbc-only --1p-only" go from 2m49s to 2m29s on my machine. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
2015-08-13tools/null_state/gen9: Send atleast one valid component in VF stateArun Siluvery
A programming restriction exists for this instruction, atleast one component of one valid vertex element must be enabled. Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com> Reviewed-by: Ben Widawsky <benjamin.widawsky@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-08-13lib/rendercopy_gen9: Setup Push constant pointer before sending BTP commandsArun Siluvery
From Gen9, by default push constant command is not committed to the shader unit untill the corresponding shader's BTP_* command is parsed. This is the behaviour when set shader is enabled. This patch updates the batch to follow this requirement otherwise it results in gpu hang. Set shader need to be disabled if legacy behaviour is required. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89959 Cc: Ben Widawsky <benjamin.widawsky@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Mika Kuoppala <mika.kuoppala@intel.com> Signed-off-by: Arun Siluvery <arun.siluvery@linux.intel.com> Tested-by: Mika Kuoppala <mika.kuoppala@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-08-13lib/rendercopy_gen9: WaBindlessSurfaceStateModifyEnableMika Kuoppala
Don't set the size of bindless surface state on rendercopy. And as of doing so, take into account the workaround for setting the command size. This was tried during hunting for https://bugs.freedesktop.org/show_bug.cgi?id=89959. But no impact was found. Cc: Arun Siluvery <arun.siluvery@linux.intel.com> Reviewed-by: Arun Siluvery <arun.siluvery@linux.intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2015-08-13benckmarks/Android.mk: Fix building benchmarks for AndroidDerek Morton
The commit "benchmarks: Do not install to system-wide bin/" changed the benchmark file list from bin_PROGRAMS to benchmarks_PROGRAMS. However Android.mk was not updated, resulting in IGT failing to build for Android. This commit adds that change. It also adds LOCAL_MODULE_PATH to specify where the built benchmarks should be put. v2: I discovered that the existing definitions of LOCAL_MODULE_PATH were creating what should have been an invalid path. Not sure how it was ever working previously, but fixed now. Signed-off-by: Derek Morton <derek.j.morton@intel.com> Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-08-12aubdump: Write header after figuring out the genKristian Høgsberg Kristensen
We have to defer figuring out the gen until we have a PCI ID, which we don't have for sure until the first execbuffer2 ioctl. We can't write the file header until we have the gen since we need to know the size of offsets in the file format. Move the call to write_header() into the dump_execbuffer2() where we have the gen. Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
2015-08-12aubdump: Handle 48 bit ppgtt dumpingKristian Høgsberg Kristensen
Put 48 bit block offsets in the AUB file and track the bo offsets with uint64_t. Signed-off-by: Kristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
2015-08-12tests: update .gitignoreThomas Wood
Add missing entry to .gitignore and sort alphabetically. Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-08-12tests/gem_pwrite_snooped: Verify set_caching vs. pwrite clflush behaviourVille Syrjälä
The test does the following 1. set_domain src GTT 2. set_caching src NONE 3. pwrite src 4. set_caching src CACHED 5. blt src->dst 6. pread dst 7. verify data matches Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2015-08-12tests/kms_pwrite_crc: Use drmModeSetPlane() instead of igt_plane_set_fb()Ville Syrjälä
igt_plane_set_fb()+igt_display_commit() have too much overhead, and that causes the cache to get flushed before we flip, making the test useless, at least on machines with small LLC. Switch to drmModeSetPlane() to reduce the chance that the cache gets flushed before we grab the crc. Still nowhere near 100% reliable on my IVB laptop with 3 MiB LLC, but at least it can now hit the problem occasioanally. My desktop IVB with 8 MiB LLC seems to hit it rather reliably. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>