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>/device_release_watchdog_timeout 95Date: Oct 2022 96KernelVersion: 6.2 97Contact: ttayar@habana.ai 98Description: The watchdog timeout value in seconds for a device relese upon 99 certain error cases, after which the device is reset. 100 101What: /sys/kernel/debug/habanalabs/hl<n>/dma_size 102Date: Apr 2021 103KernelVersion: 5.13 104Contact: ogabbay@kernel.org 105Description: 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" 109 blob 110 111What: /sys/kernel/debug/habanalabs/hl<n>/dump_razwi_events 112Date: Aug 2022 113KernelVersion: 5.20 114Contact: fkassabri@habana.ai 115Description: 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 119 120What: /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations 121Date: Jan 2021 122KernelVersion: 5.12 123Contact: ogabbay@kernel.org 124Description: 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 127 128What: /sys/kernel/debug/habanalabs/hl<n>/engines 129Date: Jul 2019 130KernelVersion: 5.3 131Contact: ogabbay@kernel.org 132Description: Displays the status registers values of the device engines and 133 their derived idle status 134 135What: /sys/kernel/debug/habanalabs/hl<n>/i2c_addr 136Date: Jan 2019 137KernelVersion: 5.1 138Contact: ogabbay@kernel.org 139Description: Sets I2C device address for I2C transaction that is generated 140 by the device's CPU, Not available when device is loaded with secured 141 firmware 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, Not available when device is loaded with secured 149 firmware 150 151What: /sys/kernel/debug/habanalabs/hl<n>/i2c_data 152Date: Jan 2019 153KernelVersion: 5.1 154Contact: ogabbay@kernel.org 155Description: 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 159 160What: /sys/kernel/debug/habanalabs/hl<n>/i2c_len 161Date: Dec 2021 162KernelVersion: 5.17 163Contact: obitton@habana.ai 164Description: 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 166 firmware 167 168What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg 169Date: Jan 2019 170KernelVersion: 5.1 171Contact: ogabbay@kernel.org 172Description: Sets I2C register id for I2C transaction that is generated by 173 the device's CPU, Not available when device is loaded with secured 174 firmware 175 176What: /sys/kernel/debug/habanalabs/hl<n>/led0 177Date: Jan 2019 178KernelVersion: 5.1 179Contact: ogabbay@kernel.org 180Description: Sets the state of the first S/W led on the device, Not available 181 when device is loaded with secured firmware 182 183What: /sys/kernel/debug/habanalabs/hl<n>/led1 184Date: Jan 2019 185KernelVersion: 5.1 186Contact: ogabbay@kernel.org 187Description: Sets the state of the second S/W led on the device, Not available 188 when device is loaded with secured firmware 189 190What: /sys/kernel/debug/habanalabs/hl<n>/led2 191Date: Jan 2019 192KernelVersion: 5.1 193Contact: ogabbay@kernel.org 194Description: Sets the state of the third S/W led on the device, Not available 195 when device is loaded with secured firmware 196 197What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub 198Date: May 2022 199KernelVersion: 5.19 200Contact: dhirschfeld@habana.ai 201Description: Allows the root user to scrub the dram memory. The scrubbing 202 value can be set using the debugfs file memory_scrub_val. 203 204What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val 205Date: May 2022 206KernelVersion: 5.19 207Contact: dhirschfeld@habana.ai 208Description: 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' 211 212What: /sys/kernel/debug/habanalabs/hl<n>/mmu 213Date: Jan 2019 214KernelVersion: 5.1 215Contact: ogabbay@kernel.org 216Description: 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/habanalabs/hl0/mmu 221 222What: /sys/kernel/debug/habanalabs/hl<n>/mmu_error 223Date: Mar 2021 224KernelVersion: 5.12 225Contact: fkassabri@habana.ai 226Description: 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/habanalabs/hl0/mmu_error 230 cat /sys/kernel/debug/habanalabs/hl0/mmu_error 231 232What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump 233Date: Mar 2022 234KernelVersion: 5.19 235Contact: osharabi@habana.ai 236Description: 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. 245 246What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig 247Date: Mar 2022 248KernelVersion: 5.19 249Contact: osharabi@habana.ai 250Description: 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" 254 blob 255 256What: /sys/kernel/debug/habanalabs/hl<n>/set_power_state 257Date: Jan 2019 258KernelVersion: 5.1 259Contact: ogabbay@kernel.org 260Description: Sets the PCI power state. Valid values are "1" for D0 and "2" 261 for D3Hot 262 263What: /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout 264Date: Jun 2021 265KernelVersion: 5.13 266Contact: ynudelman@habana.ai 267Description: Sets the skip reset on timeout option for the device. Value of 268 "0" means device will be reset in case some CS has timed out, 269 otherwise it will not be reset. 270 271What: /sys/kernel/debug/habanalabs/hl<n>/state_dump 272Date: Oct 2021 273KernelVersion: 5.15 274Contact: ynudelman@habana.ai 275Description: Gets the state dump occurring on a CS timeout or failure. 276 State dump is used for debug and is created each time in case of 277 a problem in a CS execution, before reset. 278 Reading from the node returns the newest state dump available. 279 Writing an integer X discards X state dumps, so that the 280 next read would return X+1-st newest state dump. 281 282What: /sys/kernel/debug/habanalabs/hl<n>/stop_on_err 283Date: Mar 2020 284KernelVersion: 5.6 285Contact: ogabbay@kernel.org 286Description: Sets the stop-on_error option for the device engines. Value of 287 "0" is for disable, otherwise enable. 288 Relevant only for GOYA and GAUDI. 289 290What: /sys/kernel/debug/habanalabs/hl<n>/timeout_locked 291Date: Sep 2021 292KernelVersion: 5.16 293Contact: obitton@habana.ai 294Description: Sets the command submission timeout value in seconds. 295 296What: /sys/kernel/debug/habanalabs/hl<n>/userptr 297Date: Jan 2019 298KernelVersion: 5.1 299Contact: ogabbay@kernel.org 300Description: Displays a list with information about the currently user 301 pointers (user virtual addresses) that are pinned and mapped 302 to DMA addresses 303 304What: /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup 305Date: Oct 2021 306KernelVersion: 5.15 307Contact: ogabbay@kernel.org 308Description: Allows to search for specific user pointers (user virtual 309 addresses) that are pinned and mapped to DMA addresses, and see 310 their resolution to the specific dma address. 311 312What: /sys/kernel/debug/habanalabs/hl<n>/vm 313Date: Jan 2019 314KernelVersion: 5.1 315Contact: ogabbay@kernel.org 316Description: Displays a list with information about all the active virtual 317 address mappings per ASID and all user mappings of HW blocks 318