1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216
|
=========
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-2025 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.
--decode
Decode registers. By default it only uses the raw offsets, unless
it's a command that would otherwise not work without it or another
option forces it enabled. See COMMANDS below for details.
--all
Decode registers for all known platforms. This option implies --decode.
--mmio=FILE
Use MMIO bar from FILE.
--devid=DEVID
Pretend to be PCI ID DEVID. Useful with MMIO bar snapshots from other
machines.
--pci-slot <domain>:<bus>:<device>[.<func>]
Find Intel GPU by PCI slot. Useful with multi-GPU hardware.
--spec=PATH
Read register spec from directory or file specified by PATH; see REGISTER
SPEC DEFINITIONS below for details. This option implies --decode.
--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. The option
--decode is implicitly enabled.
decode REGISTER VALUE
---------------------
Decode REGISTER VALUE. The option --decode is implicitly enabled.
list
----
List the known registers. The option --decode is implicitly enabled.
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 on fd.o GitLab: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues
|