526 Commits

Author SHA1 Message Date
Tim Gore
20d6e0f41b tools/intel_gpu_frequency: remove use of getsubopt
getsubopt is not available in android. The "get" option
doesn't really need sub-options, just display all the
current frequency settings (as per discussion with
Ben Widawsky)

Ben v2: Remove the -geff example in the header
Fixed another typo for the --set while there (found by Dave Gordon)

Signed-off-by: Tim Gore <tim.gore@intel.com>
Reviewed-by: Ben Widawsky <ben@bwidawsk.net>
2015-01-16 10:23:34 -08:00
Thomas Wood
6e2fd6f64d tools: add intel_gpu_frequency to .gitignore
intel_gpu_frequency was added in commit 5fb26d1 (intel_gpu_frequency: A
tool to manipulate Intel GPU frequency), but wasn't added to .gitignore.

Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-01-15 11:30:39 +00:00
Thomas Wood
c1d8293cc7 intel_gpu_frequency: fix array bounds warning
Add a parameter for the size of the act_upon array in the parse function
since its size cannot be calculated with ARRAY_SIZE from just the
pointer.

Cc: Ben Widawsky <benjamin.widawsky@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2015-01-15 11:30:39 +00:00
Ben Widawsky
5fb26d1469 intel_gpu_frequency: A tool to manipulate Intel GPU frequency
WARNING: very minimally tested

In general you should not need this tool. Its primary purpose is for
benchmarking, and for debugging performance issues.

For many kernel releases now sysfs has supported reading and writing the GPU
frequency. Therefore, this tool provides no new functionality. What it does
provide is an easy to package (for distros) tool that handles the most common
scenarios.

v2:
Get rid of -f from the usage message (Jordan)
Add space before [-s (Jordan)
Add a -c/--custom example (Jordan)
Add a setting for resetting to hardware default (Ken)
Replicate examples in commit message in the source code. (me)

v3:
Its not It's (me)
Add --help/-h to usage
Add Version + man page
Rename tool to intel_gpu_frequency, from intel_frequency
Remove "sudo" from the examples

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Kenneth Graunke <kenneth@whitecape.org>

Here are some sample usages:
$ intel_gpu_frequency --get=cur,min,max,eff
cur: 200 MHz
min: 200 MHz
RP1: 200 MHz
max: 1200 MHz

$ intel_gpu_frequency -g
cur: 200 MHz
min: 200 MHz
RP1: 200 MHz
max: 1200 MHz

$ intel_gpu_frequency -geff
RP1: 200 MHz

$ intel_gpu_frequency --set min=300
$ intel_gpu_frequency --get min
cur: 300 MHz
min: 300 MHz
RP1: 200 MHz
max: 1200 MHz

$ intel_gpu_frequency --custom max=900
$ intel_gpu_frequency --get max
cur: 300 MHz
min: 300 MHz
RP1: 200 MHz
max: 900 MHz

$ intel_gpu_frequency --max
$ intel_gpu_frequency -g
cur: 1200 MHz
min: 1200 MHz
RP1: 200 MHz
max: 1200 MHz

$ intel_gpu_frequency -e
$ intel_gpu_frequency -g
cur: 200 MHz
min: 200 MHz
RP1: 200 MHz
max: 200 MHz

$ intel_gpu_frequency --max
$ intel_gpu_frequency -g
cur: 1200 MHz
min: 1200 MHz
RP1: 200 MHz
max: 1200 MHz

$ intel_gpu_frequency --min
$ intel_gpu_frequency -g
cur: 200 MHz
min: 200 MHz
RP1: 200 MHz
max: 200 MHz
2015-01-12 15:58:21 -08:00
Yang, Libin
9917744176 tools/intel_audio_dump: add support for Cherryview
This patch adds support for dumping audio registers of Cherryview.

Signed-off-by: Libin Yang <libin.yang@intel.com>
2015-01-12 14:44:12 +08:00
Ben Widawsky
67eb20c8a3 tools/Makefile: Alphabetize the list
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2015-01-11 19:32:27 -08:00
Vincent Cheng
cb512b6470 tools/intel_gpu_abrt: Fix bashism
intel-gpu-tools ships a #!/bin/sh script that has bash-specific syntax
(which breaks on distros such as Debian and Ubuntu where /bin/sh is a
symlink to something other than bash).

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=87888
2014-12-31 10:42:38 +00:00
Tim Gore
a11117e42f Android.mk: replace std=c99 with std=gnu99
The android makefiles were passing the -std=c99 flag to the
compiler which disables the typeof keyword. This causes a
build fail for a recent addition to igt_aux.h.
Change this to -std=gnu99, which is the flag used in the
linux build

Signed-off-by: Tim Gore <tim.gore@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-12 12:18:22 +00:00
Thomas Wood
bdbf78db01 tools: add missing copyright headers
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-12-10 15:55:58 +00:00
Jani Nikula
c252c77dbf tools: terminate getopt_long long option arrays properly
The last element of the long options array has to be filled with zeros.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2014-12-09 15:49:10 +02:00
Chris Wilson
b64704673e intel_error_decode: Decode the ERROR register on Sandybridge and Ivybridge
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-12-05 11:28:04 +00:00
Thomas Wood
86bb6072a6 tools/quick_dump: don't include generated sources in the distribution
This also ensures that "make dist" works even if SWIG is not available.

BUILT_SOURCES is not required because the files are already explicit
dependencies of other rules.

v2: make sure SWIG is not invoked with the incorrect output filename

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-11-06 10:21:50 +00:00
Daniel Vetter
9d6a2cacf6 Move watermark code from tests to tools
They're now igt tests, and so if you blindly run lib/igt.cocci with
spatch on tests/*c they get mangled. Move them away, but still keep
them as noinst targets.

Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
2014-10-29 13:29:32 +01:00
Thomas Wood
d2595d7650 quick_dump: fix distcheck
Commit 711a17a (quick_dump: Move base_display.txt to indivual platforms)
renamed base_display.txt to common_display.txt, but didn't update
Makefile.am accordingly. Since common_display.txt is now included in the
platform files, it is automatically included in $(QUICK_DUMP_EXTRA_DIST)
and therefore just the reference to base_display.txt needs removing.

Cc: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-10-17 15:34:44 +01:00
Thomas Wood
be4710a541 lib: add common min and max macros
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-10-17 15:34:43 +01:00
Mika Kuoppala
ca6b63f588 tools/null_state_gen: Add copyright notice to state output
along with info about what generated it.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-10 17:26:52 +03:00
Armin Reese
f246f1ed0c tools/null_state_gen: Add GEN9 golden context batch buffer creation
Modifications to 'null_state_gen' so it can generate GEN9
golden context batch buffer source for SKL.

v2: - rebased on top of gen8 changes (Mika)
    - fixed state base address command size (Mika)
    - base address size macro as pages (Mika)

v3: - rebased on top of current master (Mika)
    - removed obsolete #includes (Mika)
    - added copyright (Mika)
    - render and component packing added (Mika)

Cc: Damien Lespiau <damien.lespiau@intel.com>
Cc: Armin Reese <armin.c.reese@intel.com>
Cc: Volkin, Bradley D <bradley.d.volkin@intel.com>
Reviewed-by: Volkin, Bradley D <bradley.d.volkin@intel.com> (v2)
Signed-off-by: Armin Reese <armin.c.reese@intel.com> (v1)
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-10 17:26:27 +03:00
Mika Kuoppala
0e8ac72d5d tools/null_state_gen: Add Gen8 golden state
Previously we didn't have a clear understanding what is necessary
for a pipeline state to be properly initialized. So we had to improvise
and use a stripped out render copy.

Now we have a more clear understanding so switch out render copy based
frankenstate to state we can call golden state.

v2: - export intel_batch_state_offset
    - add 3DSTATE_RASTER (Bradley Volkin)

Cc: Volkin, Bradley D <bradley.d.volkin@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-09 19:47:51 +03:00
Mika Kuoppala
b69659c3f5 tools/null_state_gen: Add macro to emit commands with null state
In null/golden context there are multiple state commands where
the actual state is always zero. For more compact batch representation
add a macro which just emits command and the rest of the state as zero.

v2: - Be more verbose about length bias (Bradley Volkin)
    - strip out unrelated state_offset declaration (Bradley Volkin)

Cc: Volkin, Bradley D <bradley.d.volkin@intel.com>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-09 19:47:47 +03:00
Mika Kuoppala
a1f847cba9 tools/null_state_gen: Limit the total state len to 4096 bytes
Currently our kernel side buffer object is only one page.
Limit the amount of dwords to 1024 to enforce this.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-09 19:15:11 +03:00
Mika Kuoppala
b498d81f15 tools/null_state_gen: Add more debug output
Be more verbose about the state size we generate.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-09 19:15:11 +03:00
Mika Kuoppala
c283ead78c tools/null_state_gen: Add copyrights
to files where they were missing.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-10-09 19:15:11 +03:00
Damien Lespiau
7041edfd14 quick_dump: Drop common_display.txt from VLV/CHV
Those registers are big core registers and weren't really relevant for
VLV/CHV. Drop them from the dump then.

Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-10-08 10:25:48 +01:00
Damien Lespiau
7f8228955f quick_dump/skl: Make quick_dump SKL aware
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-10-06 18:58:33 +01:00
Damien Lespiau
d0a412597b quick_dump/skl: Add some display registers
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-10-06 18:58:33 +01:00
Damien Lespiau
711a17ac75 quick_dump: Move base_display.txt to indivual platforms
SKL will have a whole separate display regs file, so merge
base_display.txt into each platform file.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-10-06 18:58:33 +01:00
Damien Lespiau
2faf5a8665 quick-dump: Make quick dump link against libintel_tools
Because quick-dump was only selecting a few files in lib/ and we move
stuff around and/or add new dependencies we were failing to provide the
necessary symbols to the shim library providing python bindings. And so
we had a run-time error:

Traceback (most recent call last):
  File "./tools/quick_dump/quick_dump.py", line 17, in <module>
    import chipset
  File "/home/damien/gfx/sources/intel-gpu-tools/tools/quick_dump/chipset.py", line 28, in <module>
    _chipset = swig_import_helper()
  File "/home/damien/gfx/sources/intel-gpu-tools/tools/quick_dump/chipset.py", line 24, in swig_import_helper
    _mod = imp.load_module('_chipset', fp, pathname, description)
  File "/usr/lib64/python3.3/imp.py", line 183, in load_module
    return load_dynamic(name, filename, file)
ImportError: /home/damien/gfx/sources/intel-gpu-tools/tools/quick_dump/_chipset.so: undefined symbol: kmstest_pipe_name

So, let's simplify maintainance and just link against the library we're
building and using elsewhere.

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-10-06 18:58:11 +01:00
Zhao Yakui
f04bf00c0d rendercopy/skl: Pass the context to rendercopy function on SKL
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Ben Widawsky <benjamin.widawsky@intel.com>
2014-09-30 12:21:02 +01:00
Ville Syrjälä
b4fe481d4f tools: Remove punit and nc reg read/write tools
intel_iosf_sb_{read,write} provide the same functionality.

intel_dpio_{read,write} are still left in place since they use a
ifferent opcode to do the register access. Need to verify if
both opcodes work.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-09-18 12:56:55 +03:00
Ville Syrjälä
b23329f086 toos/intel_iosf_sb: Add symbolic unit names
Add a bunc of symbolic sideband unit names so that you don't have to go
trawling through the sideband HAS every time you want to poke at
something with the tool. You can still specify the port manually though
if you know them by heart already.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-09-18 12:56:55 +03:00
Ville Syrjälä
b39eb28c25 tools: Allow iosf-sb utils to work on chv
Unlike the kernel IS_VALLEYVIEW() doesn't cover chv in igt. Add the
appropriate IS_CHERRYVIEW() checks to the various sideband poking tools.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-09-18 12:56:55 +03:00
Rodrigo Vivi
50534460dd tools/intel_reg_dumper: Shows fences and rp debug regs on BDW+.
v2: a more generic fix to cover current and future platforms (Damien).

Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2014-09-17 14:23:10 -04:00
Mika Kuoppala
4a604dee60 tools/null_state_gen: build cmd and state space separately
Instead of building batch directly to memory, build into cmd and
state arrays. This representation allows us more flexibility in batch
state expression and batch generation/relocation.

As a bonus, we can also attach the line information that produced the
batch data to help debugging.

There is no change in the output states produced. This can be considered
as a preparatory patch to help introduce gen8 golden state.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-09-05 18:04:14 +03:00
Mika Kuoppala
f0023fa8f5 lib/rendercopy: fix a typo in define
No functional changes

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-09-05 17:58:23 +03:00
Mika Kuoppala
ba614bea44 tools/null_state_gen: terminate relocs with -1
as this was already changed in kernel.

Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
2014-09-05 17:58:23 +03:00
Chris Wilson
10552b5ca6 batch: Specify number of relocations to accommodate
Since relocations are variable size, depending upon generation, it is
easier to handle the resizing of the batch request inside the
BEGIN_BATCH macro. This still leaves us with having to resize commands
in a few places - which still need adaption for gen8+.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2014-08-30 11:44:51 +01:00
Gaurav K Singh
ac31f19264 intel_bios_reader: Add support to dump MIPI Sequence block #53
Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-08-01 17:48:53 +01:00
Gaurav K Singh
525044ba32 intel_bios_reader: Add support to dump MIPI Configuration Block #52
Signed-off-by: Gaurav K Singh <gaurav.k.singh@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2014-08-01 17:48:48 +01:00
Thomas Wood
9b500dbf6b Update .gitignore files
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-07-30 11:16:09 +01:00
Thomas Wood
fcbc5028ae quick_dump: fix distcheck
version.h is now generated in the libs directory, so make sure it is
correctly included in the compiler flags.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-07-25 14:46:51 +01:00
Ville Syrjälä
8c1566e2d9 tools/intel_display_poller: Add a new tool that will poll various display registers
intel_poller can be used to poll various display registers
(IIR,scanline/pixel/flip/frame counter, live address, etc.).

It can be used to determine eg. at which scanline or pixel count certain
events occur.

v2: s/intel_poller/intel_display_poller/

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-13 20:39:13 +03:00
Ville Syrjälä
71874f4a52 tools: Add intel_iosf_sb_{read,write} tools
Add generic tools to poke at IOSF sideband. The user needs to
manually specify SB port as well as the register.

TODO: Maybe add symbolic names for the units? Would avoid having
to trawl the docs for the magic hex value.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-13 20:28:21 +03:00
Thomas Wood
25663d9fe3 gitignore: add missing files and keep lists sorted
Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-06-12 10:12:13 +01:00
Thomas Wood
c54ee9819a quick_dump: read the architecture files for items to add to EXTRA_DIST
Each architecture file contains a list of the text files it requires, so
use this to add to the list of files to distribute.

Signed-off-by: Thomas Wood <thomas.wood@intel.com>
2014-06-12 10:12:13 +01:00
Rodrigo Vivi
5a856e11fc null_state_gen: Fix Makefile.am for make distcheck 2014-06-09 10:48:10 -07:00
Rodrigo Vivi
9bddb5eebd quick_dump: Fix vlv file names on Makefile.am 2014-06-09 10:47:13 -07:00
Imre Deak
1451df1cb6 quick_dump: increase reg name column width
Needed by the new long audio register names.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-03 22:19:43 +03:00
Imre Deak
ea43f5163a quick_dump: vlv: remove redundant base file specifications
The registers in these files are included in the dumps for all platforms
by default, so no need to specify them explicitly.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-03 22:19:43 +03:00
Imre Deak
24cd3843cb quick_dump: vlv: move flisdsi register group to its logical place
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-03 22:19:43 +03:00
Imre Deak
75b921688d quick_dump: vlv: add missing dpio phy registers
Also move the phy register block to its logical place.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2014-06-03 22:19:43 +03:00