Merge tag 'xfs-6.5-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[linux-block.git] / Documentation / ABI / testing / debugfs-driver-habanalabs
CommitLineData
c2164773
OG
1What: /sys/kernel/debug/habanalabs/hl<n>/addr
2Date: Jan 2019
3KernelVersion: 5.1
2f8db5a1 4Contact: ogabbay@kernel.org
c2164773 5Description: Sets the device address to be used for read or write through
4a0ce776
TT
6 PCI bar, or the device VA of a host mapped memory to be read or
7 written directly from the host. The latter option is allowed
8 only when the IOMMU is disabled.
9 The acceptable value is a string that starts with "0x"
c2164773 10
ca62433f
OG
11What: /sys/kernel/debug/habanalabs/hl<n>/clk_gate
12Date: May 2020
13KernelVersion: 5.8
2f8db5a1 14Contact: ogabbay@kernel.org
4edb4ffe 15Description: This setting is now deprecated as clock gating is handled solely by the f/w
ca62433f 16
c2164773
OG
17What: /sys/kernel/debug/habanalabs/hl<n>/command_buffers
18Date: Jan 2019
19KernelVersion: 5.1
2f8db5a1 20Contact: ogabbay@kernel.org
c2164773
OG
21Description: Displays a list with information about the currently allocated
22 command buffers
23
24What: /sys/kernel/debug/habanalabs/hl<n>/command_submission
25Date: Jan 2019
26KernelVersion: 5.1
2f8db5a1 27Contact: ogabbay@kernel.org
c2164773
OG
28Description: Displays a list with information about the currently active
29 command submissions
30
31What: /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
32Date: Jan 2019
33KernelVersion: 5.1
2f8db5a1 34Contact: ogabbay@kernel.org
c2164773
OG
35Description: Displays a list with detailed information about each JOB (CB) of
36 each active command submission
37
38What: /sys/kernel/debug/habanalabs/hl<n>/data32
39Date: Jan 2019
40KernelVersion: 5.1
2f8db5a1 41Contact: ogabbay@kernel.org
c2164773
OG
42Description: Allows the root user to read or write directly through the
43 device's PCI bar. Writing to this file generates a write
44 transaction while reading from the file generates a read
4a0ce776 45 transaction. This custom interface is needed (instead of using
c2164773 46 the generic Linux user-space PCI mapping) because the DDR bar
5cce5146
MH
47 is very small compared to the DDR memory and only the driver can
48 move the bar before and after the transaction.
54a19b4d 49
5cce5146
MH
50 If the IOMMU is disabled, it also allows the root user to read
51 or write from the host a device VA of a host mapped memory
52
53What: /sys/kernel/debug/habanalabs/hl<n>/data64
54Date: Jan 2020
55KernelVersion: 5.6
2f8db5a1 56Contact: ogabbay@kernel.org
5cce5146
MH
57Description: Allows the root user to read or write 64 bit data directly
58 through the device's PCI bar. Writing to this file generates a
59 write transaction while reading from the file generates a read
60 transaction. This custom interface is needed (instead of using
61 the generic Linux user-space PCI mapping) because the DDR bar
c2164773 62 is very small compared to the DDR memory and only the driver can
4a0ce776 63 move the bar before and after the transaction.
54a19b4d 64
4a0ce776
TT
65 If the IOMMU is disabled, it also allows the root user to read
66 or write from the host a device VA of a host mapped memory
c2164773 67
639781dc
OG
68What: /sys/kernel/debug/habanalabs/hl<n>/data_dma
69Date: Apr 2021
70KernelVersion: 5.13
71Contact: ogabbay@kernel.org
72Description: Allows the root user to read from the device's internal
73 memory (DRAM/SRAM) through a DMA engine.
74 This property is a binary blob that contains the result of the
75 DMA transfer.
76 This custom interface is needed (instead of using the generic
77 Linux user-space PCI mapping) because the amount of internal
78 memory is huge (>32GB) and reading it via the PCI bar will take
79 a very long time.
80 This interface doesn't support concurrency in the same device.
81 In GAUDI and GOYA, this action can cause undefined behavior
82 in case the it is done while the device is executing user
83 workloads.
84 Only supported on GAUDI at this stage.
85
c2164773
OG
86What: /sys/kernel/debug/habanalabs/hl<n>/device
87Date: Jan 2019
88KernelVersion: 5.1
2f8db5a1 89Contact: ogabbay@kernel.org
c2164773
OG
90Description: Enables the root user to set the device to specific state.
91 Valid values are "disable", "enable", "suspend", "resume".
92 User can read this property to see the valid values
93
11669b58
TT
94What: /sys/kernel/debug/habanalabs/hl<n>/device_release_watchdog_timeout
95Date: Oct 2022
96KernelVersion: 6.2
97Contact: ttayar@habana.ai
98Description: The watchdog timeout value in seconds for a device relese upon
99 certain error cases, after which the device is reset.
100
639781dc
OG
101What: /sys/kernel/debug/habanalabs/hl<n>/dma_size
102Date: Apr 2021
103KernelVersion: 5.13
104Contact: ogabbay@kernel.org
105Description: Specify the size of the DMA transaction when using DMA to read
106 from the device's internal memory. The value can not be larger
107 than 128MB. Writing to this value initiates the DMA transfer.
108 When the write is finished, the user can read the "data_dma"
109 blob
110
d7bb1ac8
OG
111What: /sys/kernel/debug/habanalabs/hl<n>/dump_razwi_events
112Date: Aug 2022
113KernelVersion: 5.20
114Contact: fkassabri@habana.ai
115Description: Dumps all razwi events to dmesg if exist.
116 After reading the status register of an existing event
117 the routine will clear the status register.
118 Usage: cat dump_razwi_events
119
639781dc
OG
120What: /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
121Date: Jan 2021
122KernelVersion: 5.12
123Contact: ogabbay@kernel.org
124Description: Dumps all security violations to dmesg. This will also ack
125 all security violations meanings those violations will not be
126 dumped next time user calls this API
127
06deb86a
TT
128What: /sys/kernel/debug/habanalabs/hl<n>/engines
129Date: Jul 2019
130KernelVersion: 5.3
2f8db5a1 131Contact: ogabbay@kernel.org
06deb86a
TT
132Description: Displays the status registers values of the device engines and
133 their derived idle status
134
c2164773
OG
135What: /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
136Date: Jan 2019
137KernelVersion: 5.1
2f8db5a1 138Contact: ogabbay@kernel.org
c2164773 139Description: Sets I2C device address for I2C transaction that is generated
08f0aa95
OB
140 by the device's CPU, Not available when device is loaded with secured
141 firmware
c2164773
OG
142
143What: /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
144Date: Jan 2019
145KernelVersion: 5.1
2f8db5a1 146Contact: ogabbay@kernel.org
c2164773 147Description: Sets I2C bus address for I2C transaction that is generated by
08f0aa95
OB
148 the device's CPU, Not available when device is loaded with secured
149 firmware
c2164773
OG
150
151What: /sys/kernel/debug/habanalabs/hl<n>/i2c_data
152Date: Jan 2019
153KernelVersion: 5.1
2f8db5a1 154Contact: ogabbay@kernel.org
c2164773
OG
155Description: Triggers an I2C transaction that is generated by the device's
156 CPU. Writing to this file generates a write transaction while
08f0aa95
OB
157 reading from the file generates a read transaction, Not available
158 when device is loaded with secured firmware
c2164773 159
3eb7754f
OB
160What: /sys/kernel/debug/habanalabs/hl<n>/i2c_len
161Date: Dec 2021
162KernelVersion: 5.17
163Contact: obitton@habana.ai
164Description: Sets I2C length in bytes for I2C transaction that is generated by
08f0aa95
OB
165 the device's CPU, Not available when device is loaded with secured
166 firmware
3eb7754f 167
c2164773
OG
168What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
169Date: Jan 2019
170KernelVersion: 5.1
2f8db5a1 171Contact: ogabbay@kernel.org
c2164773 172Description: Sets I2C register id for I2C transaction that is generated by
08f0aa95
OB
173 the device's CPU, Not available when device is loaded with secured
174 firmware
c2164773
OG
175
176What: /sys/kernel/debug/habanalabs/hl<n>/led0
177Date: Jan 2019
178KernelVersion: 5.1
2f8db5a1 179Contact: ogabbay@kernel.org
08f0aa95
OB
180Description: Sets the state of the first S/W led on the device, Not available
181 when device is loaded with secured firmware
c2164773
OG
182
183What: /sys/kernel/debug/habanalabs/hl<n>/led1
184Date: Jan 2019
185KernelVersion: 5.1
2f8db5a1 186Contact: ogabbay@kernel.org
08f0aa95
OB
187Description: Sets the state of the second S/W led on the device, Not available
188 when device is loaded with secured firmware
c2164773
OG
189
190What: /sys/kernel/debug/habanalabs/hl<n>/led2
191Date: Jan 2019
192KernelVersion: 5.1
2f8db5a1 193Contact: ogabbay@kernel.org
08f0aa95
OB
194Description: Sets the state of the third S/W led on the device, Not available
195 when device is loaded with secured firmware
c2164773 196
0688474e
DH
197What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
198Date: May 2022
199KernelVersion: 5.19
200Contact: dhirschfeld@habana.ai
201Description: Allows the root user to scrub the dram memory. The scrubbing
202 value can be set using the debugfs file memory_scrub_val.
203
204What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
205Date: May 2022
206KernelVersion: 5.19
207Contact: dhirschfeld@habana.ai
208Description: The value to which the dram will be set to when the user
70852c95
DH
209 scrubs the dram using 'memory_scrub' debugfs file and
210 the scrubbing value when using module param 'memory_scrub'
0688474e 211
c2164773
OG
212What: /sys/kernel/debug/habanalabs/hl<n>/mmu
213Date: Jan 2019
214KernelVersion: 5.1
2f8db5a1 215Contact: ogabbay@kernel.org
c2164773
OG
216Description: Displays the hop values and physical address for a given ASID
217 and virtual address. The user should write the ASID and VA into
218 the file and then read the file to get the result.
219 e.g. to display info about VA 0x1000 for ASID 1 you need to do:
220 echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
221
639781dc
OG
222What: /sys/kernel/debug/habanalabs/hl<n>/mmu_error
223Date: Mar 2021
224KernelVersion: 5.12
225Contact: fkassabri@habana.ai
226Description: Check and display page fault or access violation mmu errors for
227 all MMUs specified in mmu_cap_mask.
228 e.g. to display error info for MMU hw cap bit 9, you need to do:
229 echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
230 cat /sys/kernel/debug/habanalabs/hl0/mmu_error
231
d0b59cf6
OS
232What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
233Date: Mar 2022
234KernelVersion: 5.19
235Contact: osharabi@habana.ai
236Description: Allows the root user to dump monitors status from the device's
237 protected config space.
238 This property is a binary blob that contains the result of the
239 monitors registers dump.
240 This custom interface is needed (instead of using the generic
241 Linux user-space PCI mapping) because this space is protected
242 and cannot be accessed using PCI read.
243 This interface doesn't support concurrency in the same device.
244 Only supported on GAUDI.
245
246What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
247Date: Mar 2022
248KernelVersion: 5.19
249Contact: osharabi@habana.ai
250Description: Triggers dump of monitor data. The value to trigger the operation
251 must be 1. Triggering the monitor dump operation initiates dump of
252 current registers values of all monitors.
253 When the write is finished, the user can read the "monitor_dump"
254 blob
255
c2164773
OG
256What: /sys/kernel/debug/habanalabs/hl<n>/set_power_state
257Date: Jan 2019
258KernelVersion: 5.1
2f8db5a1 259Contact: ogabbay@kernel.org
c2164773
OG
260Description: Sets the PCI power state. Valid values are "1" for D0 and "2"
261 for D3Hot
262
4d041216
YN
263What: /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
264Date: Jun 2021
265KernelVersion: 5.13
266Contact: ynudelman@habana.ai
267Description: Sets the skip reset on timeout option for the device. Value of
268 "0" means device will be reset in case some CS has timed out,
269 otherwise it will not be reset.
270
938b793f
YN
271What: /sys/kernel/debug/habanalabs/hl<n>/state_dump
272Date: Oct 2021
273KernelVersion: 5.15
274Contact: ynudelman@habana.ai
275Description: Gets the state dump occurring on a CS timeout or failure.
276 State dump is used for debug and is created each time in case of
277 a problem in a CS execution, before reset.
278 Reading from the node returns the newest state dump available.
279 Writing an integer X discards X state dumps, so that the
280 next read would return X+1-st newest state dump.
281
639781dc
OG
282What: /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
283Date: Mar 2020
284KernelVersion: 5.6
285Contact: ogabbay@kernel.org
286Description: Sets the stop-on_error option for the device engines. Value of
287 "0" is for disable, otherwise enable.
d01e6cc9 288 Relevant only for GOYA and GAUDI.
639781dc 289
a9ecddb9
TT
290What: /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
291Date: Sep 2021
292KernelVersion: 5.16
293Contact: obitton@habana.ai
294Description: Sets the command submission timeout value in seconds.
295
c2164773
OG
296What: /sys/kernel/debug/habanalabs/hl<n>/userptr
297Date: Jan 2019
298KernelVersion: 5.1
2f8db5a1 299Contact: ogabbay@kernel.org
c2164773
OG
300Description: Displays a list with information about the currently user
301 pointers (user virtual addresses) that are pinned and mapped
302 to DMA addresses
303
89b21365 304What: /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
d7bb1ac8 305Date: Oct 2021
89b21365
YN
306KernelVersion: 5.15
307Contact: ogabbay@kernel.org
308Description: Allows to search for specific user pointers (user virtual
309 addresses) that are pinned and mapped to DMA addresses, and see
310 their resolution to the specific dma address.
311
c2164773
OG
312What: /sys/kernel/debug/habanalabs/hl<n>/vm
313Date: Jan 2019
314KernelVersion: 5.1
2f8db5a1 315Contact: ogabbay@kernel.org
c2164773 316Description: Displays a list with information about all the active virtual
a4371c1a 317 address mappings per ASID and all user mappings of HW blocks