1 What: /sys/kernel/debug/accel/<parent_device>/addr
4 Contact: ogabbay@kernel.org
5 Description: Sets the device address to be used for read or write through
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"
11 What: /sys/kernel/debug/accel/<parent_device>/clk_gate
14 Contact: ogabbay@kernel.org
15 Description: This setting is now deprecated as clock gating is handled solely by the f/w
17 What: /sys/kernel/debug/accel/<parent_device>/command_buffers
20 Contact: ogabbay@kernel.org
21 Description: Displays a list with information about the currently allocated
24 What: /sys/kernel/debug/accel/<parent_device>/command_submission
27 Contact: ogabbay@kernel.org
28 Description: Displays a list with information about the currently active
31 What: /sys/kernel/debug/accel/<parent_device>/command_submission_jobs
34 Contact: ogabbay@kernel.org
35 Description: Displays a list with detailed information about each JOB (CB) of
36 each active command submission
38 What: /sys/kernel/debug/accel/<parent_device>/data32
41 Contact: ogabbay@kernel.org
42 Description: 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
45 transaction. This custom interface is needed (instead of using
46 the generic Linux user-space PCI mapping) because the DDR bar
47 is very small compared to the DDR memory and only the driver can
48 move the bar before and after the transaction.
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
53 What: /sys/kernel/debug/accel/<parent_device>/data64
56 Contact: ogabbay@kernel.org
57 Description: 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
62 is very small compared to the DDR memory and only the driver can
63 move the bar before and after the transaction.
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
68 What: /sys/kernel/debug/accel/<parent_device>/data_dma
71 Contact: ogabbay@kernel.org
72 Description: 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
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
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 it is done while the device is executing user
84 Only supported on GAUDI at this stage.
86 What: /sys/kernel/debug/accel/<parent_device>/device
89 Contact: ogabbay@kernel.org
90 Description: 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
94 What: /sys/kernel/debug/accel/<parent_device>/device_release_watchdog_timeout
97 Contact: ttayar@habana.ai
98 Description: The watchdog timeout value in seconds for a device release upon
99 certain error cases, after which the device is reset.
101 What: /sys/kernel/debug/accel/<parent_device>/dma_size
104 Contact: ogabbay@kernel.org
105 Description: 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"
111 What: /sys/kernel/debug/accel/<parent_device>/dump_razwi_events
114 Contact: fkassabri@habana.ai
115 Description: 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
120 What: /sys/kernel/debug/accel/<parent_device>/dump_security_violations
123 Contact: ogabbay@kernel.org
124 Description: 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
128 What: /sys/kernel/debug/accel/<parent_device>/engines
131 Contact: ogabbay@kernel.org
132 Description: Displays the status registers values of the device engines and
133 their derived idle status
135 What: /sys/kernel/debug/accel/<parent_device>/i2c_addr
138 Contact: ogabbay@kernel.org
139 Description: Sets I2C device address for I2C transaction that is generated
140 by the device's CPU, Not available when device is loaded with secured
143 What: /sys/kernel/debug/accel/<parent_device>/i2c_bus
146 Contact: ogabbay@kernel.org
147 Description: Sets I2C bus address for I2C transaction that is generated by
148 the device's CPU, Not available when device is loaded with secured
151 What: /sys/kernel/debug/accel/<parent_device>/i2c_data
154 Contact: ogabbay@kernel.org
155 Description: Triggers an I2C transaction that is generated by the device's
156 CPU. Writing to this file generates a write transaction while
157 reading from the file generates a read transaction, Not available
158 when device is loaded with secured firmware
160 What: /sys/kernel/debug/accel/<parent_device>/i2c_len
163 Contact: obitton@habana.ai
164 Description: Sets I2C length in bytes for I2C transaction that is generated by
165 the device's CPU, Not available when device is loaded with secured
168 What: /sys/kernel/debug/accel/<parent_device>/i2c_reg
171 Contact: ogabbay@kernel.org
172 Description: Sets I2C register id for I2C transaction that is generated by
173 the device's CPU, Not available when device is loaded with secured
176 What: /sys/kernel/debug/accel/<parent_device>/led0
179 Contact: ogabbay@kernel.org
180 Description: Sets the state of the first S/W led on the device, Not available
181 when device is loaded with secured firmware
183 What: /sys/kernel/debug/accel/<parent_device>/led1
186 Contact: ogabbay@kernel.org
187 Description: Sets the state of the second S/W led on the device, Not available
188 when device is loaded with secured firmware
190 What: /sys/kernel/debug/accel/<parent_device>/led2
193 Contact: ogabbay@kernel.org
194 Description: Sets the state of the third S/W led on the device, Not available
195 when device is loaded with secured firmware
197 What: /sys/kernel/debug/accel/<parent_device>/memory_scrub
200 Contact: dhirschfeld@habana.ai
201 Description: Allows the root user to scrub the dram memory. The scrubbing
202 value can be set using the debugfs file memory_scrub_val.
204 What: /sys/kernel/debug/accel/<parent_device>/memory_scrub_val
207 Contact: dhirschfeld@habana.ai
208 Description: The value to which the dram will be set to when the user
209 scrubs the dram using 'memory_scrub' debugfs file and
210 the scrubbing value when using module param 'memory_scrub'
212 What: /sys/kernel/debug/accel/<parent_device>/mmu
215 Contact: ogabbay@kernel.org
216 Description: 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/accel/<parent_device>/mmu
222 What: /sys/kernel/debug/accel/<parent_device>/mmu_error
225 Contact: fkassabri@habana.ai
226 Description: 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/accel/<parent_device>/mmu_error
230 cat /sys/kernel/debug/accel/<parent_device>/mmu_error
232 What: /sys/kernel/debug/accel/<parent_device>/monitor_dump
235 Contact: osharabi@habana.ai
236 Description: 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.
246 What: /sys/kernel/debug/accel/<parent_device>/monitor_dump_trig
249 Contact: osharabi@habana.ai
250 Description: 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"
256 What: /sys/kernel/debug/accel/<parent_device>/server_type
259 Contact: trisin@habana.ai
260 Description: Exposes the device's server type, maps to enum hl_server_type.
262 What: /sys/kernel/debug/accel/<parent_device>/set_power_state
265 Contact: ogabbay@kernel.org
266 Description: Sets the PCI power state. Valid values are "1" for D0 and "2"
269 What: /sys/kernel/debug/accel/<parent_device>/skip_reset_on_timeout
272 Contact: ynudelman@habana.ai
273 Description: Sets the skip reset on timeout option for the device. Value of
274 "0" means device will be reset in case some CS has timed out,
275 otherwise it will not be reset.
277 What: /sys/kernel/debug/accel/<parent_device>/state_dump
280 Contact: ynudelman@habana.ai
281 Description: Gets the state dump occurring on a CS timeout or failure.
282 State dump is used for debug and is created each time in case of
283 a problem in a CS execution, before reset.
284 Reading from the node returns the newest state dump available.
285 Writing an integer X discards X state dumps, so that the
286 next read would return X+1-st newest state dump.
288 What: /sys/kernel/debug/accel/<parent_device>/stop_on_err
291 Contact: ogabbay@kernel.org
292 Description: Sets the stop-on_error option for the device engines. Value of
293 "0" is for disable, otherwise enable.
294 Relevant only for GOYA and GAUDI.
296 What: /sys/kernel/debug/accel/<parent_device>/timeout_locked
299 Contact: obitton@habana.ai
300 Description: Sets the command submission timeout value in seconds.
302 What: /sys/kernel/debug/accel/<parent_device>/userptr
305 Contact: ogabbay@kernel.org
306 Description: Displays a list with information about the current user
307 pointers (user virtual addresses) that are pinned and mapped
310 What: /sys/kernel/debug/accel/<parent_device>/userptr_lookup
313 Contact: ogabbay@kernel.org
314 Description: Allows to search for specific user pointers (user virtual
315 addresses) that are pinned and mapped to DMA addresses, and see
316 their resolution to the specific dma address.
318 What: /sys/kernel/debug/accel/<parent_device>/vm
321 Contact: ogabbay@kernel.org
322 Description: Displays a list with information about all the active virtual
323 address mappings per ASID and all user mappings of HW blocks