1What:           /sys/kernel/debug/habanalabs/hl<n>/addr
2Date:           Jan 2019
3KernelVersion:  5.1
4Contact:        ogabbay@kernel.org
5Description:    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"
10
11What:           /sys/kernel/debug/habanalabs/hl<n>/clk_gate
12Date:           May 2020
13KernelVersion:  5.8
14Contact:        ogabbay@kernel.org
15Description:    This setting is now deprecated as clock gating is handled solely by the f/w
16
17What:           /sys/kernel/debug/habanalabs/hl<n>/command_buffers
18Date:           Jan 2019
19KernelVersion:  5.1
20Contact:        ogabbay@kernel.org
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
27Contact:        ogabbay@kernel.org
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
34Contact:        ogabbay@kernel.org
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
41Contact:        ogabbay@kernel.org
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
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.
49
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
56Contact:        ogabbay@kernel.org
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
62                is very small compared to the DDR memory and only the driver can
63                move the bar before and after the transaction.
64
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
67
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
86What:           /sys/kernel/debug/habanalabs/hl<n>/device
87Date:           Jan 2019
88KernelVersion:  5.1
89Contact:        ogabbay@kernel.org
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
94What:           /sys/kernel/debug/habanalabs/hl<n>/dma_size
95Date:           Apr 2021
96KernelVersion:  5.13
97Contact:        ogabbay@kernel.org
98Description:    Specify the size of the DMA transaction when using DMA to read
99                from the device's internal memory. The value can not be larger
100                than 128MB. Writing to this value initiates the DMA transfer.
101                When the write is finished, the user can read the "data_dma"
102                blob
103
104What:           /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
105Date:           Jan 2021
106KernelVersion:  5.12
107Contact:        ogabbay@kernel.org
108Description:    Dumps all security violations to dmesg. This will also ack
109                all security violations meanings those violations will not be
110                dumped next time user calls this API
111
112What:           /sys/kernel/debug/habanalabs/hl<n>/engines
113Date:           Jul 2019
114KernelVersion:  5.3
115Contact:        ogabbay@kernel.org
116Description:    Displays the status registers values of the device engines and
117                their derived idle status
118
119What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
120Date:           Jan 2019
121KernelVersion:  5.1
122Contact:        ogabbay@kernel.org
123Description:    Sets I2C device address for I2C transaction that is generated
124                by the device's CPU
125
126What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
127Date:           Jan 2019
128KernelVersion:  5.1
129Contact:        ogabbay@kernel.org
130Description:    Sets I2C bus address for I2C transaction that is generated by
131                the device's CPU
132
133What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_data
134Date:           Jan 2019
135KernelVersion:  5.1
136Contact:        ogabbay@kernel.org
137Description:    Triggers an I2C transaction that is generated by the device's
138                CPU. Writing to this file generates a write transaction while
139                reading from the file generates a read transaction
140
141What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_len
142Date:           Dec 2021
143KernelVersion:  5.17
144Contact:        obitton@habana.ai
145Description:    Sets I2C length in bytes for I2C transaction that is generated by
146                the device's CPU
147
148What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
149Date:           Jan 2019
150KernelVersion:  5.1
151Contact:        ogabbay@kernel.org
152Description:    Sets I2C register id for I2C transaction that is generated by
153                the device's CPU
154
155What:           /sys/kernel/debug/habanalabs/hl<n>/led0
156Date:           Jan 2019
157KernelVersion:  5.1
158Contact:        ogabbay@kernel.org
159Description:    Sets the state of the first S/W led on the device
160
161What:           /sys/kernel/debug/habanalabs/hl<n>/led1
162Date:           Jan 2019
163KernelVersion:  5.1
164Contact:        ogabbay@kernel.org
165Description:    Sets the state of the second S/W led on the device
166
167What:           /sys/kernel/debug/habanalabs/hl<n>/led2
168Date:           Jan 2019
169KernelVersion:  5.1
170Contact:        ogabbay@kernel.org
171Description:    Sets the state of the third S/W led on the device
172
173What:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
174Date:           May 2022
175KernelVersion:  5.19
176Contact:        dhirschfeld@habana.ai
177Description:    Allows the root user to scrub the dram memory. The scrubbing
178                value can be set using the debugfs file memory_scrub_val.
179
180What:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
181Date:           May 2022
182KernelVersion:  5.19
183Contact:        dhirschfeld@habana.ai
184Description:    The value to which the dram will be set to when the user
185                scrubs the dram using 'memory_scrub' debugfs file
186
187What:           /sys/kernel/debug/habanalabs/hl<n>/mmu
188Date:           Jan 2019
189KernelVersion:  5.1
190Contact:        ogabbay@kernel.org
191Description:    Displays the hop values and physical address for a given ASID
192                and virtual address. The user should write the ASID and VA into
193                the file and then read the file to get the result.
194                e.g. to display info about VA 0x1000 for ASID 1 you need to do:
195                echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
196
197What:           /sys/kernel/debug/habanalabs/hl<n>/mmu_error
198Date:           Mar 2021
199KernelVersion:  5.12
200Contact:        fkassabri@habana.ai
201Description:    Check and display page fault or access violation mmu errors for
202                all MMUs specified in mmu_cap_mask.
203                e.g. to display error info for MMU hw cap bit 9, you need to do:
204                echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
205                cat /sys/kernel/debug/habanalabs/hl0/mmu_error
206
207What:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
208Date:           Mar 2022
209KernelVersion:  5.19
210Contact:        osharabi@habana.ai
211Description:    Allows the root user to dump monitors status from the device's
212                protected config space.
213                This property is a binary blob that contains the result of the
214                monitors registers dump.
215                This custom interface is needed (instead of using the generic
216                Linux user-space PCI mapping) because this space is protected
217                and cannot be accessed using PCI read.
218                This interface doesn't support concurrency in the same device.
219                Only supported on GAUDI.
220
221What:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
222Date:           Mar 2022
223KernelVersion:  5.19
224Contact:        osharabi@habana.ai
225Description:    Triggers dump of monitor data. The value to trigger the operation
226                must be 1. Triggering the monitor dump operation initiates dump of
227                current registers values of all monitors.
228                When the write is finished, the user can read the "monitor_dump"
229                blob
230
231What:           /sys/kernel/debug/habanalabs/hl<n>/set_power_state
232Date:           Jan 2019
233KernelVersion:  5.1
234Contact:        ogabbay@kernel.org
235Description:    Sets the PCI power state. Valid values are "1" for D0 and "2"
236                for D3Hot
237
238What:           /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
239Date:           Jun 2021
240KernelVersion:  5.13
241Contact:        ynudelman@habana.ai
242Description:    Sets the skip reset on timeout option for the device. Value of
243                "0" means device will be reset in case some CS has timed out,
244                otherwise it will not be reset.
245
246What:           /sys/kernel/debug/habanalabs/hl<n>/state_dump
247Date:           Oct 2021
248KernelVersion:  5.15
249Contact:        ynudelman@habana.ai
250Description:    Gets the state dump occurring on a CS timeout or failure.
251                State dump is used for debug and is created each time in case of
252                a problem in a CS execution, before reset.
253                Reading from the node returns the newest state dump available.
254                Writing an integer X discards X state dumps, so that the
255                next read would return X+1-st newest state dump.
256
257What:           /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
258Date:           Mar 2020
259KernelVersion:  5.6
260Contact:        ogabbay@kernel.org
261Description:    Sets the stop-on_error option for the device engines. Value of
262                "0" is for disable, otherwise enable.
263                Relevant only for GOYA and GAUDI.
264
265What:           /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
266Date:           Sep 2021
267KernelVersion:  5.16
268Contact:        obitton@habana.ai
269Description:    Sets the command submission timeout value in seconds.
270
271What:           /sys/kernel/debug/habanalabs/hl<n>/userptr
272Date:           Jan 2019
273KernelVersion:  5.1
274Contact:        ogabbay@kernel.org
275Description:    Displays a list with information about the currently user
276                pointers (user virtual addresses) that are pinned and mapped
277                to DMA addresses
278
279What:           /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
280Date:           Aug 2021
281KernelVersion:  5.15
282Contact:        ogabbay@kernel.org
283Description:    Allows to search for specific user pointers (user virtual
284                addresses) that are pinned and mapped to DMA addresses, and see
285                their resolution to the specific dma address.
286
287What:           /sys/kernel/debug/habanalabs/hl<n>/vm
288Date:           Jan 2019
289KernelVersion:  5.1
290Contact:        ogabbay@kernel.org
291Description:    Displays a list with information about all the active virtual
292                address mappings per ASID and all user mappings of HW blocks
293