1INTEL_REG(1) General Commands Manual INTEL_REG(1)
2
3
4
6 intel_reg - Intel graphics register multitool
7
9 intel_reg [OPTIONS] COMMAND
10
12 Intel graphics register multitool. Read, write, dump, and decode Intel
13 graphics MMIO and sideband registers, and more.
14
16 Some options are global, and some specific to commands.
17
18 --verbose
19 Increase verbosity.
20
21 --quiet
22 Decrease verbosity.
23
24 --count=N
25 Read N registers.
26
27 --binary
28 Output binary values.
29
30 --all Decode registers for all known platforms.
31
32 --mmio=FILE
33 Use MMIO bar from FILE.
34
35 --devid=DEVID
36 Pretend to be PCI ID DEVID. Useful with MMIO bar snapshots from
37 other machines.
38
39 --spec=PATH
40 Read register spec from directory or file specified by PATH; see
41 REGISTER SPEC DEFINITIONS below for details.
42
43 --help Show brief help.
44
46 See REGISTER REFERENCES below on how to describe registers for the com‐
47 mands.
48
49 read [--count=N] REGISTER [...]
50 Dump each specified REGISTER, or N registers starting from each REGIS‐
51 TER.
52
53 write REGISTER VALUE [REGISTER VALUE ...]
54 Write each VALUE to corresponding REGISTER.
55
56 dump [--mmio=FILE --devid=DEVID]
57 Dump all registers specified in the register spec.
58
59 decode REGISTER VALUE
60 Decode REGISTER VALUE.
61
62 snapshot
63 Output the MMIO bar to stdout. The output can be used for a later invo‐
64 cation of dump or read with the --mmio=FILE and --devid=DEVID parame‐
65 ters.
66
67 list
68 List the known registers.
69
70 help
71 Display brief help.
72
74 Registers are defined as [(PORTNAME|PORTNUM|ENGINE|MMIO-OFFSET):](REG‐
75 NAME|REGADDR).
76
77 PORTNAME
78 The register access method, most often MMIO, which is the de‐
79 fault. The methods supported on all platforms are "mmio", "por‐
80 tio-vga", and "mmio-vga".
81
82 On BYT and CHV, the sideband ports "bunit", "punit", "nc",
83 "dpio", "gpio-nc", "cck", "ccu", "dpio2", and "flisdsi" are also
84 supported.
85
86 PORTNUM
87 Port number for the sideband ports supported on BYT and CHV.
88 Only numbers mapped to the supported ports are allowed, arbi‐
89 trary numbers are not accepted.
90
91 Numbers above 0xff are automatically interpreted as MMIO off‐
92 sets, not port numbers.
93
94 ENGINE Instead of cpu based MMIO, specified engine can be used for ac‐
95 cess method. Batchbuffer will be targeted for the engine to do
96 read/write. The list of available engines is architecture spe‐
97 cific and can be found with "intel_reg help". Prefixing engine
98 name with '-' uses non-privileged batchbuffer for access.
99
100 MMIO-OFFSET
101 Use MMIO, and add this offset to the register address.
102
103 Numbers equal to or below 0xff are automatically interpreted as
104 port numbers, not MMIO offsets.
105
106 REGNAME
107 Name of the register as defined in the register spec.
108
109 If MMIO offset is not specified, it is picked up from the regis‐
110 ter spec. However, ports are not; the port is a namespace for
111 the register names.
112
113 REGADDR
114 Register address. The corresponding register name need not be
115 specified in the register spec.
116
118 INTEL_REG_SPEC
119 Path to a directory or a file containing register spec defini‐
120 tions.
121
123 A register spec associates register names with addresses. The spec is
124 searched for in this order:
125
126 1. Directory or file specified by the --spec option.
127
128 2. Directory or file specified by the INTEL_REG_SPEC environment vari‐
129 able.
130
131 3. Builtin register spec. Also used as fallback with a warning if the
132 above are used but fail.
133
134 If a directory is specified using --spec option or INTEL_REG_SPEC envi‐
135 ronment variable, the directory is scanned for a spec file in this or‐
136 der:
137
138 1. File named after the PCI device id. For example, "0412".
139
140 2. File named after the code name in lowercase, without punctuation.
141 For example, "valleyview".
142
143 3. File named after generation. For example, "gen7" (note that this
144 matches valleyview, ivybridge and haswell!).
145
146 Register Spec File Format
147 The register spec format is briefly described below:
148
149 • Empty lines and lines beginning with "#", ";", or "//" are ignored.
150
151 • Lines not beginning with "(" are interpreted as file names, absolute
152 or relative, to be included.
153
154 • Lines beginning with "(" are interpreted as register definitions.
155
156 Registers are defined as tuples ('REGNAME', 'REGADDR', 'PORTNAME|PORT‐
157 NUM|MMIO-OFFSET'), as in REGISTER REFERENCES above. The port descrip‐
158 tion may also be an empty string to denote MMIO.
159
160 Examples:
161
162 • # this is a comment, below is an include
163
164 • vlv_pipe_a.txt
165
166 • ('GEN6_PMINTRMSK', '0x0000a168', '')
167
168 • ('MIPIA_PORT_CTRL', '0x61190', '0x180000')
169
170 • ('PLL1_DW0', '0x8000', 'DPIO')
171
173 Reading some registers may hang the GPU or the machine.
174
176 Report bugs on fd.o GitLab:
177 https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues
178
180 Jani Nikula <jani.nikula@intel.com>
181
183 2015-2016 Intel Corporation
184
185
186
187
188igt-gpu-tools 1.27.1 2016-03-01 INTEL_REG(1)