You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
5.1 KiB
214 lines
5.1 KiB
=========
|
|
intel_reg
|
|
=========
|
|
|
|
---------------------------------
|
|
Intel graphics register multitool
|
|
---------------------------------
|
|
.. include:: defs.rst
|
|
:Author: Jani Nikula <jani.nikula@intel.com>
|
|
:Date: 2016-03-01
|
|
:Version: |PACKAGE_STRING|
|
|
:Copyright: 2015-2016 Intel Corporation
|
|
:Manual section: |MANUAL_SECTION|
|
|
:Manual group: |MANUAL_GROUP|
|
|
|
|
SYNOPSIS
|
|
========
|
|
|
|
**intel_reg** [*OPTIONS*] *COMMAND*
|
|
|
|
DESCRIPTION
|
|
===========
|
|
|
|
Intel graphics register multitool. Read, write, dump, and decode Intel graphics
|
|
MMIO and sideband registers, and more.
|
|
|
|
OPTIONS
|
|
=======
|
|
|
|
Some options are global, and some specific to commands.
|
|
|
|
--verbose
|
|
Increase verbosity.
|
|
|
|
--quiet
|
|
Decrease verbosity.
|
|
|
|
--count=N
|
|
Read N registers.
|
|
|
|
--binary
|
|
Output binary values.
|
|
|
|
--all
|
|
Decode registers for all known platforms.
|
|
|
|
--mmio=FILE
|
|
Use MMIO bar from FILE.
|
|
|
|
--devid=DEVID
|
|
Pretend to be PCI ID DEVID. Useful with MMIO bar snapshots from other
|
|
machines.
|
|
|
|
--spec=PATH
|
|
Read register spec from directory or file specified by PATH; see REGISTER
|
|
SPEC DEFINITIONS below for details.
|
|
|
|
--help
|
|
Show brief help.
|
|
|
|
COMMANDS
|
|
========
|
|
|
|
See REGISTER REFERENCES below on how to describe registers for the commands.
|
|
|
|
read [--count=N] REGISTER [...]
|
|
-------------------------------
|
|
|
|
Dump each specified REGISTER, or N registers starting from each REGISTER.
|
|
|
|
write REGISTER VALUE [REGISTER VALUE ...]
|
|
-----------------------------------------
|
|
|
|
Write each VALUE to corresponding REGISTER.
|
|
|
|
dump [--mmio=FILE --devid=DEVID]
|
|
--------------------------------
|
|
|
|
Dump all registers specified in the register spec.
|
|
|
|
decode REGISTER VALUE
|
|
---------------------
|
|
|
|
Decode REGISTER VALUE.
|
|
|
|
snapshot
|
|
--------
|
|
|
|
Output the MMIO bar to stdout. The output can be used for a later invocation of
|
|
dump or read with the --mmio=FILE and --devid=DEVID parameters.
|
|
|
|
list
|
|
----
|
|
|
|
List the known registers.
|
|
|
|
help
|
|
----
|
|
|
|
Display brief help.
|
|
|
|
|
|
REGISTER REFERENCES
|
|
===================
|
|
|
|
Registers are defined as [(PORTNAME|PORTNUM|ENGINE|MMIO-OFFSET):](REGNAME|REGADDR).
|
|
|
|
PORTNAME
|
|
The register access method, most often MMIO, which is the default. The
|
|
methods supported on all platforms are "mmio", "portio-vga", and "mmio-vga".
|
|
|
|
On BYT and CHV, the sideband ports "bunit", "punit", "nc", "dpio",
|
|
"gpio-nc", "cck", "ccu", "dpio2", and "flisdsi" are also supported.
|
|
|
|
PORTNUM
|
|
Port number for the sideband ports supported on BYT and CHV. Only numbers
|
|
mapped to the supported ports are allowed, arbitrary numbers are not
|
|
accepted.
|
|
|
|
Numbers above 0xff are automatically interpreted as MMIO offsets, not port
|
|
numbers.
|
|
|
|
ENGINE
|
|
Instead of cpu based MMIO, specified engine can be used for access method.
|
|
Batchbuffer will be targeted for the engine to do read/write. The list of
|
|
available engines is architecture specific and can be found with
|
|
"intel_reg help". Prefixing engine name with '-' uses non-privileged
|
|
batchbuffer for access.
|
|
|
|
MMIO-OFFSET
|
|
Use MMIO, and add this offset to the register address.
|
|
|
|
Numbers equal to or below 0xff are automatically interpreted as port
|
|
numbers, not MMIO offsets.
|
|
|
|
REGNAME
|
|
Name of the register as defined in the register spec.
|
|
|
|
If MMIO offset is not specified, it is picked up from the register
|
|
spec. However, ports are not; the port is a namespace for the register
|
|
names.
|
|
|
|
REGADDR
|
|
Register address. The corresponding register name need not be specified in
|
|
the register spec.
|
|
|
|
ENVIRONMENT
|
|
===========
|
|
|
|
INTEL_REG_SPEC
|
|
Path to a directory or a file containing register spec definitions.
|
|
|
|
REGISTER SPEC DEFINITIONS
|
|
=========================
|
|
|
|
A register spec associates register names with addresses. The spec is searched
|
|
for in this order:
|
|
|
|
#. Directory or file specified by the --spec option.
|
|
|
|
#. Directory or file specified by the INTEL_REG_SPEC environment variable.
|
|
|
|
#. Builtin register spec. Also used as fallback with a warning if the above are
|
|
used but fail.
|
|
|
|
If a directory is specified using --spec option or INTEL_REG_SPEC environment
|
|
variable, the directory is scanned for a spec file in this order:
|
|
|
|
#. File named after the PCI device id. For example, "0412".
|
|
|
|
#. File named after the code name in lowercase, without punctuation. For
|
|
example, "valleyview".
|
|
|
|
#. File named after generation. For example, "gen7" (note that this matches
|
|
valleyview, ivybridge and haswell!).
|
|
|
|
Register Spec File Format
|
|
-------------------------
|
|
|
|
The register spec format is briefly described below:
|
|
|
|
* Empty lines and lines beginning with "#", ";", or "//" are ignored.
|
|
|
|
* Lines *not* beginning with "(" are interpreted as file names, absolute or
|
|
relative, to be included.
|
|
|
|
* Lines beginning with "(" are interpreted as register definitions.
|
|
|
|
Registers are defined as tuples ('REGNAME', 'REGADDR',
|
|
'PORTNAME|PORTNUM|MMIO-OFFSET'), as in REGISTER REFERENCES above. The port
|
|
description may also be an empty string to denote MMIO.
|
|
|
|
Examples:
|
|
|
|
* # this is a comment, below is an include
|
|
|
|
* vlv_pipe_a.txt
|
|
|
|
* ('GEN6_PMINTRMSK', '0x0000a168', '')
|
|
|
|
* ('MIPIA_PORT_CTRL', '0x61190', '0x180000')
|
|
|
|
* ('PLL1_DW0', '0x8000', 'DPIO')
|
|
|
|
BUGS
|
|
====
|
|
|
|
Reading some registers may hang the GPU or the machine.
|
|
|
|
REPORTING BUGS
|
|
==============
|
|
|
|
Report bugs to https://bugs.freedesktop.org.
|