xref: /linux/Documentation/ABI/testing/debugfs-driver-habanalabs (revision 70852c95ac0e6234eaa87e267054dcbc0712f240)
1c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/addr
2c2164773SOded GabbayDate:           Jan 2019
3c2164773SOded GabbayKernelVersion:  5.1
42f8db5a1SOded GabbayContact:        ogabbay@kernel.org
5c2164773SOded GabbayDescription:    Sets the device address to be used for read or write through
64a0ce776STomer Tayar                PCI bar, or the device VA of a host mapped memory to be read or
74a0ce776STomer Tayar                written directly from the host. The latter option is allowed
84a0ce776STomer Tayar                only when the IOMMU is disabled.
94a0ce776STomer Tayar                The acceptable value is a string that starts with "0x"
10c2164773SOded Gabbay
11ca62433fSOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/clk_gate
12ca62433fSOded GabbayDate:           May 2020
13ca62433fSOded GabbayKernelVersion:  5.8
142f8db5a1SOded GabbayContact:        ogabbay@kernel.org
154edb4ffeSOded GabbayDescription:    This setting is now deprecated as clock gating is handled solely by the f/w
16ca62433fSOded Gabbay
17c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/command_buffers
18c2164773SOded GabbayDate:           Jan 2019
19c2164773SOded GabbayKernelVersion:  5.1
202f8db5a1SOded GabbayContact:        ogabbay@kernel.org
21c2164773SOded GabbayDescription:    Displays a list with information about the currently allocated
22c2164773SOded Gabbay                command buffers
23c2164773SOded Gabbay
24c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/command_submission
25c2164773SOded GabbayDate:           Jan 2019
26c2164773SOded GabbayKernelVersion:  5.1
272f8db5a1SOded GabbayContact:        ogabbay@kernel.org
28c2164773SOded GabbayDescription:    Displays a list with information about the currently active
29c2164773SOded Gabbay                command submissions
30c2164773SOded Gabbay
31c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
32c2164773SOded GabbayDate:           Jan 2019
33c2164773SOded GabbayKernelVersion:  5.1
342f8db5a1SOded GabbayContact:        ogabbay@kernel.org
35c2164773SOded GabbayDescription:    Displays a list with detailed information about each JOB (CB) of
36c2164773SOded Gabbay                each active command submission
37c2164773SOded Gabbay
38c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/data32
39c2164773SOded GabbayDate:           Jan 2019
40c2164773SOded GabbayKernelVersion:  5.1
412f8db5a1SOded GabbayContact:        ogabbay@kernel.org
42c2164773SOded GabbayDescription:    Allows the root user to read or write directly through the
43c2164773SOded Gabbay                device's PCI bar. Writing to this file generates a write
44c2164773SOded Gabbay                transaction while reading from the file generates a read
454a0ce776STomer Tayar                transaction. This custom interface is needed (instead of using
46c2164773SOded Gabbay                the generic Linux user-space PCI mapping) because the DDR bar
47c2164773SOded Gabbay                is very small compared to the DDR memory and only the driver can
484a0ce776STomer Tayar                move the bar before and after the transaction.
4954a19b4dSMauro Carvalho Chehab
504a0ce776STomer Tayar                If the IOMMU is disabled, it also allows the root user to read
514a0ce776STomer Tayar                or write from the host a device VA of a host mapped memory
52c2164773SOded Gabbay
535cce5146SMoti HaimovskiWhat:           /sys/kernel/debug/habanalabs/hl<n>/data64
545cce5146SMoti HaimovskiDate:           Jan 2020
555cce5146SMoti HaimovskiKernelVersion:  5.6
562f8db5a1SOded GabbayContact:        ogabbay@kernel.org
575cce5146SMoti HaimovskiDescription:    Allows the root user to read or write 64 bit data directly
585cce5146SMoti Haimovski                through the device's PCI bar. Writing to this file generates a
595cce5146SMoti Haimovski                write transaction while reading from the file generates a read
605cce5146SMoti Haimovski                transaction. This custom interface is needed (instead of using
615cce5146SMoti Haimovski                the generic Linux user-space PCI mapping) because the DDR bar
625cce5146SMoti Haimovski                is very small compared to the DDR memory and only the driver can
635cce5146SMoti Haimovski                move the bar before and after the transaction.
6454a19b4dSMauro Carvalho Chehab
655cce5146SMoti Haimovski                If the IOMMU is disabled, it also allows the root user to read
665cce5146SMoti Haimovski                or write from the host a device VA of a host mapped memory
675cce5146SMoti Haimovski
68639781dcSOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/data_dma
69639781dcSOded GabbayDate:           Apr 2021
70639781dcSOded GabbayKernelVersion:  5.13
71639781dcSOded GabbayContact:        ogabbay@kernel.org
72639781dcSOded GabbayDescription:    Allows the root user to read from the device's internal
73639781dcSOded Gabbay                memory (DRAM/SRAM) through a DMA engine.
74639781dcSOded Gabbay                This property is a binary blob that contains the result of the
75639781dcSOded Gabbay                DMA transfer.
76639781dcSOded Gabbay                This custom interface is needed (instead of using the generic
77639781dcSOded Gabbay                Linux user-space PCI mapping) because the amount of internal
78639781dcSOded Gabbay                memory is huge (>32GB) and reading it via the PCI bar will take
79639781dcSOded Gabbay                a very long time.
80639781dcSOded Gabbay                This interface doesn't support concurrency in the same device.
81639781dcSOded Gabbay                In GAUDI and GOYA, this action can cause undefined behavior
82639781dcSOded Gabbay                in case the it is done while the device is executing user
83639781dcSOded Gabbay                workloads.
84639781dcSOded Gabbay                Only supported on GAUDI at this stage.
85639781dcSOded Gabbay
86c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/device
87c2164773SOded GabbayDate:           Jan 2019
88c2164773SOded GabbayKernelVersion:  5.1
892f8db5a1SOded GabbayContact:        ogabbay@kernel.org
90c2164773SOded GabbayDescription:    Enables the root user to set the device to specific state.
91c2164773SOded Gabbay                Valid values are "disable", "enable", "suspend", "resume".
92c2164773SOded Gabbay                User can read this property to see the valid values
93c2164773SOded Gabbay
94639781dcSOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/dma_size
95639781dcSOded GabbayDate:           Apr 2021
96639781dcSOded GabbayKernelVersion:  5.13
97639781dcSOded GabbayContact:        ogabbay@kernel.org
98639781dcSOded GabbayDescription:    Specify the size of the DMA transaction when using DMA to read
99639781dcSOded Gabbay                from the device's internal memory. The value can not be larger
100639781dcSOded Gabbay                than 128MB. Writing to this value initiates the DMA transfer.
101639781dcSOded Gabbay                When the write is finished, the user can read the "data_dma"
102639781dcSOded Gabbay                blob
103639781dcSOded Gabbay
104639781dcSOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
105639781dcSOded GabbayDate:           Jan 2021
106639781dcSOded GabbayKernelVersion:  5.12
107639781dcSOded GabbayContact:        ogabbay@kernel.org
108639781dcSOded GabbayDescription:    Dumps all security violations to dmesg. This will also ack
109639781dcSOded Gabbay                all security violations meanings those violations will not be
110639781dcSOded Gabbay                dumped next time user calls this API
111639781dcSOded Gabbay
11206deb86aSTomer TayarWhat:           /sys/kernel/debug/habanalabs/hl<n>/engines
11306deb86aSTomer TayarDate:           Jul 2019
11406deb86aSTomer TayarKernelVersion:  5.3
1152f8db5a1SOded GabbayContact:        ogabbay@kernel.org
11606deb86aSTomer TayarDescription:    Displays the status registers values of the device engines and
11706deb86aSTomer Tayar                their derived idle status
11806deb86aSTomer Tayar
119c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
120c2164773SOded GabbayDate:           Jan 2019
121c2164773SOded GabbayKernelVersion:  5.1
1222f8db5a1SOded GabbayContact:        ogabbay@kernel.org
123c2164773SOded GabbayDescription:    Sets I2C device address for I2C transaction that is generated
124c2164773SOded Gabbay                by the device's CPU
125c2164773SOded Gabbay
126c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
127c2164773SOded GabbayDate:           Jan 2019
128c2164773SOded GabbayKernelVersion:  5.1
1292f8db5a1SOded GabbayContact:        ogabbay@kernel.org
130c2164773SOded GabbayDescription:    Sets I2C bus address for I2C transaction that is generated by
131c2164773SOded Gabbay                the device's CPU
132c2164773SOded Gabbay
133c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/i2c_data
134c2164773SOded GabbayDate:           Jan 2019
135c2164773SOded GabbayKernelVersion:  5.1
1362f8db5a1SOded GabbayContact:        ogabbay@kernel.org
137c2164773SOded GabbayDescription:    Triggers an I2C transaction that is generated by the device's
138c2164773SOded Gabbay                CPU. Writing to this file generates a write transaction while
1393e42d1deSCarlos Bilbao                reading from the file generates a read transaction
140c2164773SOded Gabbay
1413eb7754fSOfir BittonWhat:           /sys/kernel/debug/habanalabs/hl<n>/i2c_len
1423eb7754fSOfir BittonDate:           Dec 2021
1433eb7754fSOfir BittonKernelVersion:  5.17
1443eb7754fSOfir BittonContact:        obitton@habana.ai
1453eb7754fSOfir BittonDescription:    Sets I2C length in bytes for I2C transaction that is generated by
1463eb7754fSOfir Bitton                the device's CPU
1473eb7754fSOfir Bitton
148c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
149c2164773SOded GabbayDate:           Jan 2019
150c2164773SOded GabbayKernelVersion:  5.1
1512f8db5a1SOded GabbayContact:        ogabbay@kernel.org
152c2164773SOded GabbayDescription:    Sets I2C register id for I2C transaction that is generated by
153c2164773SOded Gabbay                the device's CPU
154c2164773SOded Gabbay
155c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/led0
156c2164773SOded GabbayDate:           Jan 2019
157c2164773SOded GabbayKernelVersion:  5.1
1582f8db5a1SOded GabbayContact:        ogabbay@kernel.org
159c2164773SOded GabbayDescription:    Sets the state of the first S/W led on the device
160c2164773SOded Gabbay
161c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/led1
162c2164773SOded GabbayDate:           Jan 2019
163c2164773SOded GabbayKernelVersion:  5.1
1642f8db5a1SOded GabbayContact:        ogabbay@kernel.org
165c2164773SOded GabbayDescription:    Sets the state of the second S/W led on the device
166c2164773SOded Gabbay
167c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/led2
168c2164773SOded GabbayDate:           Jan 2019
169c2164773SOded GabbayKernelVersion:  5.1
1702f8db5a1SOded GabbayContact:        ogabbay@kernel.org
171c2164773SOded GabbayDescription:    Sets the state of the third S/W led on the device
172c2164773SOded Gabbay
1730688474eSDafna HirschfeldWhat:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
1740688474eSDafna HirschfeldDate:           May 2022
1750688474eSDafna HirschfeldKernelVersion:  5.19
1760688474eSDafna HirschfeldContact:        dhirschfeld@habana.ai
1770688474eSDafna HirschfeldDescription:    Allows the root user to scrub the dram memory. The scrubbing
1780688474eSDafna Hirschfeld                value can be set using the debugfs file memory_scrub_val.
1790688474eSDafna Hirschfeld
1800688474eSDafna HirschfeldWhat:           /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
1810688474eSDafna HirschfeldDate:           May 2022
1820688474eSDafna HirschfeldKernelVersion:  5.19
1830688474eSDafna HirschfeldContact:        dhirschfeld@habana.ai
1840688474eSDafna HirschfeldDescription:    The value to which the dram will be set to when the user
185*70852c95SDafna Hirschfeld                scrubs the dram using 'memory_scrub' debugfs file and
186*70852c95SDafna Hirschfeld                the scrubbing value when using module param 'memory_scrub'
1870688474eSDafna Hirschfeld
188c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/mmu
189c2164773SOded GabbayDate:           Jan 2019
190c2164773SOded GabbayKernelVersion:  5.1
1912f8db5a1SOded GabbayContact:        ogabbay@kernel.org
192c2164773SOded GabbayDescription:    Displays the hop values and physical address for a given ASID
193c2164773SOded Gabbay                and virtual address. The user should write the ASID and VA into
194c2164773SOded Gabbay                the file and then read the file to get the result.
195c2164773SOded Gabbay                e.g. to display info about VA 0x1000 for ASID 1 you need to do:
196c2164773SOded Gabbay                echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
197c2164773SOded Gabbay
198639781dcSOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/mmu_error
199639781dcSOded GabbayDate:           Mar 2021
200639781dcSOded GabbayKernelVersion:  5.12
201639781dcSOded GabbayContact:        fkassabri@habana.ai
202639781dcSOded GabbayDescription:    Check and display page fault or access violation mmu errors for
203639781dcSOded Gabbay                all MMUs specified in mmu_cap_mask.
204639781dcSOded Gabbay                e.g. to display error info for MMU hw cap bit 9, you need to do:
205639781dcSOded Gabbay                echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
206639781dcSOded Gabbay                cat /sys/kernel/debug/habanalabs/hl0/mmu_error
207639781dcSOded Gabbay
208d0b59cf6SOhad SharabiWhat:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
209d0b59cf6SOhad SharabiDate:           Mar 2022
210d0b59cf6SOhad SharabiKernelVersion:  5.19
211d0b59cf6SOhad SharabiContact:        osharabi@habana.ai
212d0b59cf6SOhad SharabiDescription:    Allows the root user to dump monitors status from the device's
213d0b59cf6SOhad Sharabi                protected config space.
214d0b59cf6SOhad Sharabi                This property is a binary blob that contains the result of the
215d0b59cf6SOhad Sharabi                monitors registers dump.
216d0b59cf6SOhad Sharabi                This custom interface is needed (instead of using the generic
217d0b59cf6SOhad Sharabi                Linux user-space PCI mapping) because this space is protected
218d0b59cf6SOhad Sharabi                and cannot be accessed using PCI read.
219d0b59cf6SOhad Sharabi                This interface doesn't support concurrency in the same device.
220d0b59cf6SOhad Sharabi                Only supported on GAUDI.
221d0b59cf6SOhad Sharabi
222d0b59cf6SOhad SharabiWhat:           /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
223d0b59cf6SOhad SharabiDate:           Mar 2022
224d0b59cf6SOhad SharabiKernelVersion:  5.19
225d0b59cf6SOhad SharabiContact:        osharabi@habana.ai
226d0b59cf6SOhad SharabiDescription:    Triggers dump of monitor data. The value to trigger the operation
227d0b59cf6SOhad Sharabi                must be 1. Triggering the monitor dump operation initiates dump of
228d0b59cf6SOhad Sharabi                current registers values of all monitors.
229d0b59cf6SOhad Sharabi                When the write is finished, the user can read the "monitor_dump"
230d0b59cf6SOhad Sharabi                blob
231d0b59cf6SOhad Sharabi
232c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/set_power_state
233c2164773SOded GabbayDate:           Jan 2019
234c2164773SOded GabbayKernelVersion:  5.1
2352f8db5a1SOded GabbayContact:        ogabbay@kernel.org
236c2164773SOded GabbayDescription:    Sets the PCI power state. Valid values are "1" for D0 and "2"
237c2164773SOded Gabbay                for D3Hot
238c2164773SOded Gabbay
2394d041216SYuri NudelmanWhat:           /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
2404d041216SYuri NudelmanDate:           Jun 2021
2414d041216SYuri NudelmanKernelVersion:  5.13
2424d041216SYuri NudelmanContact:        ynudelman@habana.ai
2434d041216SYuri NudelmanDescription:    Sets the skip reset on timeout option for the device. Value of
2444d041216SYuri Nudelman                "0" means device will be reset in case some CS has timed out,
2454d041216SYuri Nudelman                otherwise it will not be reset.
2464d041216SYuri Nudelman
247938b793fSYuri NudelmanWhat:           /sys/kernel/debug/habanalabs/hl<n>/state_dump
248938b793fSYuri NudelmanDate:           Oct 2021
249938b793fSYuri NudelmanKernelVersion:  5.15
250938b793fSYuri NudelmanContact:        ynudelman@habana.ai
251938b793fSYuri NudelmanDescription:    Gets the state dump occurring on a CS timeout or failure.
252938b793fSYuri Nudelman                State dump is used for debug and is created each time in case of
253938b793fSYuri Nudelman                a problem in a CS execution, before reset.
254938b793fSYuri Nudelman                Reading from the node returns the newest state dump available.
255938b793fSYuri Nudelman                Writing an integer X discards X state dumps, so that the
256938b793fSYuri Nudelman                next read would return X+1-st newest state dump.
257938b793fSYuri Nudelman
258639781dcSOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
259639781dcSOded GabbayDate:           Mar 2020
260639781dcSOded GabbayKernelVersion:  5.6
261639781dcSOded GabbayContact:        ogabbay@kernel.org
262639781dcSOded GabbayDescription:    Sets the stop-on_error option for the device engines. Value of
263639781dcSOded Gabbay                "0" is for disable, otherwise enable.
264d01e6cc9STomer Tayar                Relevant only for GOYA and GAUDI.
265639781dcSOded Gabbay
266a9ecddb9STomer TayarWhat:           /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
267a9ecddb9STomer TayarDate:           Sep 2021
268a9ecddb9STomer TayarKernelVersion:  5.16
269a9ecddb9STomer TayarContact:        obitton@habana.ai
270a9ecddb9STomer TayarDescription:    Sets the command submission timeout value in seconds.
271a9ecddb9STomer Tayar
272c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/userptr
273c2164773SOded GabbayDate:           Jan 2019
274c2164773SOded GabbayKernelVersion:  5.1
2752f8db5a1SOded GabbayContact:        ogabbay@kernel.org
276c2164773SOded GabbayDescription:    Displays a list with information about the currently user
277c2164773SOded Gabbay                pointers (user virtual addresses) that are pinned and mapped
278c2164773SOded Gabbay                to DMA addresses
279c2164773SOded Gabbay
28089b21365SYuri NudelmanWhat:           /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
28189b21365SYuri NudelmanDate:           Aug 2021
28289b21365SYuri NudelmanKernelVersion:  5.15
28389b21365SYuri NudelmanContact:        ogabbay@kernel.org
28489b21365SYuri NudelmanDescription:    Allows to search for specific user pointers (user virtual
28589b21365SYuri Nudelman                addresses) that are pinned and mapped to DMA addresses, and see
28689b21365SYuri Nudelman                their resolution to the specific dma address.
28789b21365SYuri Nudelman
288c2164773SOded GabbayWhat:           /sys/kernel/debug/habanalabs/hl<n>/vm
289c2164773SOded GabbayDate:           Jan 2019
290c2164773SOded GabbayKernelVersion:  5.1
2912f8db5a1SOded GabbayContact:        ogabbay@kernel.org
292c2164773SOded GabbayDescription:    Displays a list with information about all the active virtual
293a4371c1aSSagiv Ozeri                address mappings per ASID and all user mappings of HW blocks
294