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