xref: /linux/Documentation/ABI/testing/debugfs-driver-habanalabs (revision 448cc2fb3a7b327823a9afd374808c37b8e6194f)
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:    Allow the root user to disable/enable in runtime the clock
16                gating mechanism in Gaudi. Due to how Gaudi is built, the
17                clock gating needs to be disabled in order to access the
18                registers of the TPC and MME engines. This is sometimes needed
19                during debug by the user and hence the user needs this option.
20                The user can supply a bitmask value, each bit represents
21                a different engine to disable/enable its clock gating feature.
22                The bitmask is composed of 20 bits:
23
24		=======   ============
25                0  -  7   DMA channels
26                8  - 11   MME engines
27                12 - 19   TPC engines
28		=======   ============
29
30                The bit's location of a specific engine can be determined
31                using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values
32                are defined in uapi habanalabs.h file in enum gaudi_engine_id
33
34What:           /sys/kernel/debug/habanalabs/hl<n>/command_buffers
35Date:           Jan 2019
36KernelVersion:  5.1
37Contact:        ogabbay@kernel.org
38Description:    Displays a list with information about the currently allocated
39                command buffers
40
41What:           /sys/kernel/debug/habanalabs/hl<n>/command_submission
42Date:           Jan 2019
43KernelVersion:  5.1
44Contact:        ogabbay@kernel.org
45Description:    Displays a list with information about the currently active
46                command submissions
47
48What:           /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
49Date:           Jan 2019
50KernelVersion:  5.1
51Contact:        ogabbay@kernel.org
52Description:    Displays a list with detailed information about each JOB (CB) of
53                each active command submission
54
55What:           /sys/kernel/debug/habanalabs/hl<n>/data32
56Date:           Jan 2019
57KernelVersion:  5.1
58Contact:        ogabbay@kernel.org
59Description:    Allows the root user to read or write directly through the
60                device's PCI bar. Writing to this file generates a write
61                transaction while reading from the file generates a read
62                transaction. This custom interface is needed (instead of using
63                the generic Linux user-space PCI mapping) because the DDR bar
64                is very small compared to the DDR memory and only the driver can
65                move the bar before and after the transaction.
66
67                If the IOMMU is disabled, it also allows the root user to read
68                or write from the host a device VA of a host mapped memory
69
70What:           /sys/kernel/debug/habanalabs/hl<n>/data64
71Date:           Jan 2020
72KernelVersion:  5.6
73Contact:        ogabbay@kernel.org
74Description:    Allows the root user to read or write 64 bit data directly
75                through the device's PCI bar. Writing to this file generates a
76                write transaction while reading from the file generates a read
77                transaction. This custom interface is needed (instead of using
78                the generic Linux user-space PCI mapping) because the DDR bar
79                is very small compared to the DDR memory and only the driver can
80                move the bar before and after the transaction.
81
82                If the IOMMU is disabled, it also allows the root user to read
83                or write from the host a device VA of a host mapped memory
84
85What:           /sys/kernel/debug/habanalabs/hl<n>/data_dma
86Date:           Apr 2021
87KernelVersion:  5.13
88Contact:        ogabbay@kernel.org
89Description:    Allows the root user to read from the device's internal
90                memory (DRAM/SRAM) through a DMA engine.
91                This property is a binary blob that contains the result of the
92                DMA transfer.
93                This custom interface is needed (instead of using the generic
94                Linux user-space PCI mapping) because the amount of internal
95                memory is huge (>32GB) and reading it via the PCI bar will take
96                a very long time.
97                This interface doesn't support concurrency in the same device.
98                In GAUDI and GOYA, this action can cause undefined behavior
99                in case the it is done while the device is executing user
100                workloads.
101                Only supported on GAUDI at this stage.
102
103What:           /sys/kernel/debug/habanalabs/hl<n>/device
104Date:           Jan 2019
105KernelVersion:  5.1
106Contact:        ogabbay@kernel.org
107Description:    Enables the root user to set the device to specific state.
108                Valid values are "disable", "enable", "suspend", "resume".
109                User can read this property to see the valid values
110
111What:           /sys/kernel/debug/habanalabs/hl<n>/dma_size
112Date:           Apr 2021
113KernelVersion:  5.13
114Contact:        ogabbay@kernel.org
115Description:    Specify the size of the DMA transaction when using DMA to read
116                from the device's internal memory. The value can not be larger
117                than 128MB. Writing to this value initiates the DMA transfer.
118                When the write is finished, the user can read the "data_dma"
119                blob
120
121What:           /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
122Date:           Jan 2021
123KernelVersion:  5.12
124Contact:        ogabbay@kernel.org
125Description:    Dumps all security violations to dmesg. This will also ack
126                all security violations meanings those violations will not be
127                dumped next time user calls this API
128
129What:           /sys/kernel/debug/habanalabs/hl<n>/engines
130Date:           Jul 2019
131KernelVersion:  5.3
132Contact:        ogabbay@kernel.org
133Description:    Displays the status registers values of the device engines and
134                their derived idle status
135
136What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
137Date:           Jan 2019
138KernelVersion:  5.1
139Contact:        ogabbay@kernel.org
140Description:    Sets I2C device address for I2C transaction that is generated
141                by the device's CPU
142
143What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
144Date:           Jan 2019
145KernelVersion:  5.1
146Contact:        ogabbay@kernel.org
147Description:    Sets I2C bus address for I2C transaction that is generated by
148                the device's CPU
149
150What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_data
151Date:           Jan 2019
152KernelVersion:  5.1
153Contact:        ogabbay@kernel.org
154Description:    Triggers an I2C transaction that is generated by the device's
155                CPU. Writing to this file generates a write transaction while
156                reading from the file generates a read transaction
157
158What:           /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
159Date:           Jan 2019
160KernelVersion:  5.1
161Contact:        ogabbay@kernel.org
162Description:    Sets I2C register id for I2C transaction that is generated by
163                the device's CPU
164
165What:           /sys/kernel/debug/habanalabs/hl<n>/led0
166Date:           Jan 2019
167KernelVersion:  5.1
168Contact:        ogabbay@kernel.org
169Description:    Sets the state of the first S/W led on the device
170
171What:           /sys/kernel/debug/habanalabs/hl<n>/led1
172Date:           Jan 2019
173KernelVersion:  5.1
174Contact:        ogabbay@kernel.org
175Description:    Sets the state of the second S/W led on the device
176
177What:           /sys/kernel/debug/habanalabs/hl<n>/led2
178Date:           Jan 2019
179KernelVersion:  5.1
180Contact:        ogabbay@kernel.org
181Description:    Sets the state of the third S/W led on the device
182
183What:           /sys/kernel/debug/habanalabs/hl<n>/mmu
184Date:           Jan 2019
185KernelVersion:  5.1
186Contact:        ogabbay@kernel.org
187Description:    Displays the hop values and physical address for a given ASID
188                and virtual address. The user should write the ASID and VA into
189                the file and then read the file to get the result.
190                e.g. to display info about VA 0x1000 for ASID 1 you need to do:
191                echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
192
193What:           /sys/kernel/debug/habanalabs/hl<n>/mmu_error
194Date:           Mar 2021
195KernelVersion:  5.12
196Contact:        fkassabri@habana.ai
197Description:    Check and display page fault or access violation mmu errors for
198                all MMUs specified in mmu_cap_mask.
199                e.g. to display error info for MMU hw cap bit 9, you need to do:
200                echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
201                cat /sys/kernel/debug/habanalabs/hl0/mmu_error
202
203What:           /sys/kernel/debug/habanalabs/hl<n>/set_power_state
204Date:           Jan 2019
205KernelVersion:  5.1
206Contact:        ogabbay@kernel.org
207Description:    Sets the PCI power state. Valid values are "1" for D0 and "2"
208                for D3Hot
209
210What:           /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
211Date:           Jun 2021
212KernelVersion:  5.13
213Contact:        ynudelman@habana.ai
214Description:    Sets the skip reset on timeout option for the device. Value of
215                "0" means device will be reset in case some CS has timed out,
216                otherwise it will not be reset.
217
218What:           /sys/kernel/debug/habanalabs/hl<n>/state_dump
219Date:           Oct 2021
220KernelVersion:  5.15
221Contact:        ynudelman@habana.ai
222Description:    Gets the state dump occurring on a CS timeout or failure.
223                State dump is used for debug and is created each time in case of
224                a problem in a CS execution, before reset.
225                Reading from the node returns the newest state dump available.
226                Writing an integer X discards X state dumps, so that the
227                next read would return X+1-st newest state dump.
228
229What:           /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
230Date:           Sep 2021
231KernelVersion:  5.16
232Contact:        obitton@habana.ai
233Description:    Sets the command submission timeout value in seconds.
234
235What:           /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
236Date:           Mar 2020
237KernelVersion:  5.6
238Contact:        ogabbay@kernel.org
239Description:    Sets the stop-on_error option for the device engines. Value of
240                "0" is for disable, otherwise enable.
241
242What:           /sys/kernel/debug/habanalabs/hl<n>/userptr
243Date:           Jan 2019
244KernelVersion:  5.1
245Contact:        ogabbay@kernel.org
246Description:    Displays a list with information about the currently user
247                pointers (user virtual addresses) that are pinned and mapped
248                to DMA addresses
249
250What:           /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
251Date:           Aug 2021
252KernelVersion:  5.15
253Contact:        ogabbay@kernel.org
254Description:    Allows to search for specific user pointers (user virtual
255                addresses) that are pinned and mapped to DMA addresses, and see
256                their resolution to the specific dma address.
257
258What:           /sys/kernel/debug/habanalabs/hl<n>/vm
259Date:           Jan 2019
260KernelVersion:  5.1
261Contact:        ogabbay@kernel.org
262Description:    Displays a list with information about all the active virtual
263                address mappings per ASID and all user mappings of HW blocks
264