summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-09-09tests: basic ring<->cpu and ring<->ring testsfor-benDaniel Vetter4-0/+296
Using a dummy reloc that doesn't matter to trick the kernel into synchroizing the rings. v2: properly apply MI_NOOP workaround to MI_FLUSH_DW and switch to MI_COND_BATCH_BUFFER_END as a dummy command on the render ring to avoid PIPE_CONTROL errata. v3: somebody clever decided that in C, you cound from 1, i.e. I915_EXEC_RENDER == 1. It works now ... Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09tests: split up gem_storedw_loop into ring specific variationsDaniel Vetter4-3/+295
Also start to shortly explain testcases with an easily-greppable header like this: /* * Testcase: * * [Possible further explanation.] * */ Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09tests/gem_storedw: disable on pre-gen6Daniel Vetter2-3/+24
Doesn't work. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09tests: check pipe_control coherencyDaniel Vetter2-0/+160
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09lib/batch: hackish interface to run batches on specific ringsDaniel Vetter2-5/+11
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09test/gem_storedw_*: tune some moreDaniel Vetter2-5/+5
MI_*/PIPE_CONTROL writes need to be in DOMAIN_INSTRUCTION, because that is what mesa uses and I plan to use this to work around a gen6 ppgtt issue. Also testing with intentionally b0rked GFX_MODE on my snb shows that we need to increase the loop counter a bit to reliably hit the tlb invalidation problem. Test still completes within a few seconds. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09tools: decode some more MI_ opsDaniel Vetter1-0/+39
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-09tools: decode MI_SEMAPHORE_MBOXDaniel Vetter1-11/+28
Juggle the length check up to avoid duplication. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-06tools/intel_gpu_dump: add hackish --devid parsingDaniel Vetter1-4/+15
For bugreports and whatnotelse. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-06gem_vmap_blits: fix compilation if I915_PARAM_HAS_VMAP is not definedPaulo Zanoni1-0/+5
Previously, "make check" failed because the main() function was not defined. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Tested-By: Eugeni Dodonov <eugeni.dodonov@intel.com> Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-09-05intel_gpu_top: access hardware before running profiling commandEugeni Dodonov1-5/+5
Without this patch, intel_gpu_top will try to get access to the hardware after running the profiling command in the background. In case such access fails, the main process quits, but the background one will continue running. So let's move this test up, so it is done before we fork. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05intel_gpu_tools: describe -e option in usage screenEugeni Dodonov1-1/+2
This patch adds a short description of '-e' option to the usage screen. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05intel_gpu_top: adopt to kernel coding styleEugeni Dodonov1-27/+22
This patch fixes adopts the code to the kernel coding_style.
2011-09-05intel_gpu_top: support profiling user-specified commandsEugeni Dodonov2-1/+65
This patch adds support for running intel_gpu_top to profile specific commands. The required command will be carried out in separate process, and main intel_gpu_top will leave when the child process will exit. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05intel_gpu_top: support non-interactive modeEugeni Dodonov2-41/+112
This patch adds support for non-interactive mode, invoked by running with '-o output' switch. In this case, no interactive output is being performed, but the execution statistics are being saved into the output file. The output file is generated in both human and gnuplot-readable format. Unlike interactive mode, where non-supported pipes and non-active registers are skipped, the content of such pipes and registers is recorded into the log file to simplify parsing and standardize the list of columns. Also, unlike interactive mode, the registers are not sorted according to the usage - this way, their variation over time can be analysed offline. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05This patch initializes the last_stats[] for registers prior to startingEugeni Dodonov1-0/+16
the monitoring itself. This way, the first measure will already contain the difference from the previous value instead of non-initialized value. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05Revert "intel_gpu_top: initialize monitoring statistics at startup"Eugeni Dodonov2-191/+42
This reverts commit 431fe7803d37f344275fdaceb57c1fbaeee8541c. Will be replaced with more fine-grained commits.
2011-09-05intel_gpu_top: initialize monitoring statistics at startupEugeni Dodonov2-42/+191
This patch initializes the last_stats[] for registers prior to starting the monitoring itself. This way, the first measure will already contain the difference from the previous value instead of non-initialized value. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05intel_gpu_tool: initial support for non-screen outputEugeni Dodonov1-13/+15
This patch adds initial support for non-stdio output, to be used for non-interactive monitoring. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05intel_gpu_top: suport command line parameters and variable samples perEugeni Dodonov2-4/+55
second This patch adds support for getopt, and adds two default parameters to it: -h to show usage notes; and -s to allow user to define number of samples to acquire per second. Manpage documentation is also adjusted accordingly. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-09-05intel_gpu_top: account for time spent in syscallsEugeni Dodonov1-12/+41
This allows intel_gpu_top to properly account for time spent inside system calls. Effectively, with previous implementation, intel_gpu_top could spent longer than 1s between consecutive measures. This attempts to minimize the extra time spent while polling for data. Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
2011-08-12tests: add store dword testsJesse Barnes3-0/+284
Add a couple of simple store dword tests to test memory coherence. gem_storedw_loop simply executes a batch that continually stores an incremented value to a target buffer object, checking the results after each batch completes. gem_storedw_batches_loop does the same thing, but creates a new command batch buffer for each iteration, which can exercise the buffer creation code. This test is based on one from Andrzej Kacprowski from Intel. Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2011-08-12testdisplay: for tiled mode test, the height should be alignedHai Lan1-1/+1
Signed-off-by: Hai Lan <hai.lan@intel.com>
2011-08-01Add missing copyright info to intel_decode.cEric Anholt1-0/+23
2011-07-28tools: readme addition for shader debuggingBen Widawsky1-1/+10
2011-07-28tools/range handing: forgot the register map file :(Ben Widawsky1-0/+178
2011-07-28intel-gpu-tools/debugging: shader debuggerBen Widawsky11-1/+1463
high level summary of the files: * debug_rdata - get current state from debug registers. Helpful when developing the debugger, and could serve some purpose in the future. * eudb - the debugger itself * eviction_macro - generate the proper macro to flush the EU render cache until I get control flow working * pre_cpp - an evaluating c preprocesser like thing, to be used before cpp * sr - the system routine, exception handler which runs on the EU * test - a very basic test system routine * debug.h
2011-07-28intel-gpu-tools/debugging: add important debug regsBen Widawsky2-1/+11
Cc: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28intel-gpu-tools/forcewaked: sample forcewake appBen Widawsky2-0/+107
This app is required for debug features which seem to (undocumented) reset themselves if/when the GT goes to sleep. It is also useful for those doing general debugging or profiling from userspace when they do not wish to have the GT sleep. v2: made forcewaked more daemon-like Cc: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28intel-gpu-tools/range handling: register range handlingBen Widawsky4-2/+69
Hooks to allow safe accesses from userspace. Can revert to old behavior by using unsafe access.
2011-07-28forcewake: Add mmio code to do proper forcewake stuff for gen6Ben Widawsky2-1/+130
2011-07-20Add intel_backlightChris Wilson2-0/+70
A trivial tool to adjust the backlight registers (gen5+ only atm). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-20intel_decode: Handle a few gen7 blocksChris Wilson1-10/+10
2011-07-17gem_stress: ducttaping mandatoryDaniel Vetter1-3/+3
In other news: We've been missing a unmapping_mapping_range somewhere in the kernel. But lazy me never came around to digging up the real cause. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-07-13testdisplay: Test the first mode if there is no preferred mode.Hai Lan1-3/+10
For a TV device, there might be no preferred mode. In this case, we can test the first mode. Signed-off-by: Hai Lan <hai.lan@intel.com>
2011-07-08tests/gem_vmap_blits: Fix typoChris Wilson1-1/+1
Why, oh why, do these only become obvious after pushing upstream? Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-08intel_reg_dumper: Slightly tidy the reporting of pipe configsChris Wilson1-4/+6
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-08Add a test case for coherency of vmapsChris Wilson3-0/+406
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-08gem_stress: Assert we have no pending ops when using the CPUChris Wilson1-0/+4
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-08gem_gtt_speed: Add option for variable buffer sizeChris Wilson1-29/+38
2011-07-02gem_stress: Add an option to test handling of signalsChris Wilson2-0/+41
As signals cause the syscalls to be interrupted, we often need to clean up partial state before returning to userspace. Often a source of unamusing bugs, so encourage gem_stress to provoke them. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-23tests: Add an exercise for zero-length buffersChris Wilson3-0/+149
Triggers an OOPS with dmar enabled currently. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-20tests: Add a simple exercise of GTT mmapsChris Wilson3-0/+188
Test copying between 2 mappings and reading/writing from and to. References: https://bugs.freedesktop.org/show_bug.cgi?id=38115 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-06-13gem_stress: some stats about incoherenciesDaniel Vetter1-1/+14
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13gem_stress: option to disable render copyfunc checkDaniel Vetter2-0/+11
Too noisy - which is an another way of saying too broken :( Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13gem_stress: option for tile_sizeDaniel Vetter5-60/+94
I want to know how large these corruptions can get! Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13gem_stress: option to set tiles per bufferDaniel Vetter2-13/+32
gem_stress -p1 is much more evil than gem_stress -c1, it also manages to tear appart untiled workloads! Now duct-taping over it still works (--apply-duct-tape) ... hm. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13gem_stress: option to continue despite failuresDaniel Vetter2-4/+12
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-13gem_stress: option to override the number of rounds to completeDaniel Vetter2-3/+10
gem_stress -c 1 ... sometimes takes a while to hit a problem. Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2011-06-08scripts: Add throttle.pyChris Wilson4-1/+72
Parses a trace.dat and works out how long each throttle was and how many batches retired within that period (and their average duration). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>