0001 What: /sys/kernel/debug/habanalabs/hl<n>/addr
0002 Date: Jan 2019
0003 KernelVersion: 5.1
0004 Contact: ogabbay@kernel.org
0005 Description: Sets the device address to be used for read or write through
0006 PCI bar, or the device VA of a host mapped memory to be read or
0007 written directly from the host. The latter option is allowed
0008 only when the IOMMU is disabled.
0009 The acceptable value is a string that starts with "0x"
0010
0011 What: /sys/kernel/debug/habanalabs/hl<n>/clk_gate
0012 Date: May 2020
0013 KernelVersion: 5.8
0014 Contact: ogabbay@kernel.org
0015 Description: This setting is now deprecated as clock gating is handled solely by the f/w
0016
0017 What: /sys/kernel/debug/habanalabs/hl<n>/command_buffers
0018 Date: Jan 2019
0019 KernelVersion: 5.1
0020 Contact: ogabbay@kernel.org
0021 Description: Displays a list with information about the currently allocated
0022 command buffers
0023
0024 What: /sys/kernel/debug/habanalabs/hl<n>/command_submission
0025 Date: Jan 2019
0026 KernelVersion: 5.1
0027 Contact: ogabbay@kernel.org
0028 Description: Displays a list with information about the currently active
0029 command submissions
0030
0031 What: /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
0032 Date: Jan 2019
0033 KernelVersion: 5.1
0034 Contact: ogabbay@kernel.org
0035 Description: Displays a list with detailed information about each JOB (CB) of
0036 each active command submission
0037
0038 What: /sys/kernel/debug/habanalabs/hl<n>/data32
0039 Date: Jan 2019
0040 KernelVersion: 5.1
0041 Contact: ogabbay@kernel.org
0042 Description: Allows the root user to read or write directly through the
0043 device's PCI bar. Writing to this file generates a write
0044 transaction while reading from the file generates a read
0045 transaction. This custom interface is needed (instead of using
0046 the generic Linux user-space PCI mapping) because the DDR bar
0047 is very small compared to the DDR memory and only the driver can
0048 move the bar before and after the transaction.
0049
0050 If the IOMMU is disabled, it also allows the root user to read
0051 or write from the host a device VA of a host mapped memory
0052
0053 What: /sys/kernel/debug/habanalabs/hl<n>/data64
0054 Date: Jan 2020
0055 KernelVersion: 5.6
0056 Contact: ogabbay@kernel.org
0057 Description: Allows the root user to read or write 64 bit data directly
0058 through the device's PCI bar. Writing to this file generates a
0059 write transaction while reading from the file generates a read
0060 transaction. This custom interface is needed (instead of using
0061 the generic Linux user-space PCI mapping) because the DDR bar
0062 is very small compared to the DDR memory and only the driver can
0063 move the bar before and after the transaction.
0064
0065 If the IOMMU is disabled, it also allows the root user to read
0066 or write from the host a device VA of a host mapped memory
0067
0068 What: /sys/kernel/debug/habanalabs/hl<n>/data_dma
0069 Date: Apr 2021
0070 KernelVersion: 5.13
0071 Contact: ogabbay@kernel.org
0072 Description: Allows the root user to read from the device's internal
0073 memory (DRAM/SRAM) through a DMA engine.
0074 This property is a binary blob that contains the result of the
0075 DMA transfer.
0076 This custom interface is needed (instead of using the generic
0077 Linux user-space PCI mapping) because the amount of internal
0078 memory is huge (>32GB) and reading it via the PCI bar will take
0079 a very long time.
0080 This interface doesn't support concurrency in the same device.
0081 In GAUDI and GOYA, this action can cause undefined behavior
0082 in case the it is done while the device is executing user
0083 workloads.
0084 Only supported on GAUDI at this stage.
0085
0086 What: /sys/kernel/debug/habanalabs/hl<n>/device
0087 Date: Jan 2019
0088 KernelVersion: 5.1
0089 Contact: ogabbay@kernel.org
0090 Description: Enables the root user to set the device to specific state.
0091 Valid values are "disable", "enable", "suspend", "resume".
0092 User can read this property to see the valid values
0093
0094 What: /sys/kernel/debug/habanalabs/hl<n>/dma_size
0095 Date: Apr 2021
0096 KernelVersion: 5.13
0097 Contact: ogabbay@kernel.org
0098 Description: Specify the size of the DMA transaction when using DMA to read
0099 from the device's internal memory. The value can not be larger
0100 than 128MB. Writing to this value initiates the DMA transfer.
0101 When the write is finished, the user can read the "data_dma"
0102 blob
0103
0104 What: /sys/kernel/debug/habanalabs/hl<n>/dump_razwi_events
0105 Date: Aug 2022
0106 KernelVersion: 5.20
0107 Contact: fkassabri@habana.ai
0108 Description: Dumps all razwi events to dmesg if exist.
0109 After reading the status register of an existing event
0110 the routine will clear the status register.
0111 Usage: cat dump_razwi_events
0112
0113 What: /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
0114 Date: Jan 2021
0115 KernelVersion: 5.12
0116 Contact: ogabbay@kernel.org
0117 Description: Dumps all security violations to dmesg. This will also ack
0118 all security violations meanings those violations will not be
0119 dumped next time user calls this API
0120
0121 What: /sys/kernel/debug/habanalabs/hl<n>/engines
0122 Date: Jul 2019
0123 KernelVersion: 5.3
0124 Contact: ogabbay@kernel.org
0125 Description: Displays the status registers values of the device engines and
0126 their derived idle status
0127
0128 What: /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
0129 Date: Jan 2019
0130 KernelVersion: 5.1
0131 Contact: ogabbay@kernel.org
0132 Description: Sets I2C device address for I2C transaction that is generated
0133 by the device's CPU, Not available when device is loaded with secured
0134 firmware
0135
0136 What: /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
0137 Date: Jan 2019
0138 KernelVersion: 5.1
0139 Contact: ogabbay@kernel.org
0140 Description: Sets I2C bus address for I2C transaction that is generated by
0141 the device's CPU, Not available when device is loaded with secured
0142 firmware
0143
0144 What: /sys/kernel/debug/habanalabs/hl<n>/i2c_data
0145 Date: Jan 2019
0146 KernelVersion: 5.1
0147 Contact: ogabbay@kernel.org
0148 Description: Triggers an I2C transaction that is generated by the device's
0149 CPU. Writing to this file generates a write transaction while
0150 reading from the file generates a read transaction, Not available
0151 when device is loaded with secured firmware
0152
0153 What: /sys/kernel/debug/habanalabs/hl<n>/i2c_len
0154 Date: Dec 2021
0155 KernelVersion: 5.17
0156 Contact: obitton@habana.ai
0157 Description: Sets I2C length in bytes for I2C transaction that is generated by
0158 the device's CPU, Not available when device is loaded with secured
0159 firmware
0160
0161 What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
0162 Date: Jan 2019
0163 KernelVersion: 5.1
0164 Contact: ogabbay@kernel.org
0165 Description: Sets I2C register id for I2C transaction that is generated by
0166 the device's CPU, Not available when device is loaded with secured
0167 firmware
0168
0169 What: /sys/kernel/debug/habanalabs/hl<n>/led0
0170 Date: Jan 2019
0171 KernelVersion: 5.1
0172 Contact: ogabbay@kernel.org
0173 Description: Sets the state of the first S/W led on the device, Not available
0174 when device is loaded with secured firmware
0175
0176 What: /sys/kernel/debug/habanalabs/hl<n>/led1
0177 Date: Jan 2019
0178 KernelVersion: 5.1
0179 Contact: ogabbay@kernel.org
0180 Description: Sets the state of the second S/W led on the device, Not available
0181 when device is loaded with secured firmware
0182
0183 What: /sys/kernel/debug/habanalabs/hl<n>/led2
0184 Date: Jan 2019
0185 KernelVersion: 5.1
0186 Contact: ogabbay@kernel.org
0187 Description: Sets the state of the third S/W led on the device, Not available
0188 when device is loaded with secured firmware
0189
0190 What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub
0191 Date: May 2022
0192 KernelVersion: 5.19
0193 Contact: dhirschfeld@habana.ai
0194 Description: Allows the root user to scrub the dram memory. The scrubbing
0195 value can be set using the debugfs file memory_scrub_val.
0196
0197 What: /sys/kernel/debug/habanalabs/hl<n>/memory_scrub_val
0198 Date: May 2022
0199 KernelVersion: 5.19
0200 Contact: dhirschfeld@habana.ai
0201 Description: The value to which the dram will be set to when the user
0202 scrubs the dram using 'memory_scrub' debugfs file and
0203 the scrubbing value when using module param 'memory_scrub'
0204
0205 What: /sys/kernel/debug/habanalabs/hl<n>/mmu
0206 Date: Jan 2019
0207 KernelVersion: 5.1
0208 Contact: ogabbay@kernel.org
0209 Description: Displays the hop values and physical address for a given ASID
0210 and virtual address. The user should write the ASID and VA into
0211 the file and then read the file to get the result.
0212 e.g. to display info about VA 0x1000 for ASID 1 you need to do:
0213 echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
0214
0215 What: /sys/kernel/debug/habanalabs/hl<n>/mmu_error
0216 Date: Mar 2021
0217 KernelVersion: 5.12
0218 Contact: fkassabri@habana.ai
0219 Description: Check and display page fault or access violation mmu errors for
0220 all MMUs specified in mmu_cap_mask.
0221 e.g. to display error info for MMU hw cap bit 9, you need to do:
0222 echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
0223 cat /sys/kernel/debug/habanalabs/hl0/mmu_error
0224
0225 What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump
0226 Date: Mar 2022
0227 KernelVersion: 5.19
0228 Contact: osharabi@habana.ai
0229 Description: Allows the root user to dump monitors status from the device's
0230 protected config space.
0231 This property is a binary blob that contains the result of the
0232 monitors registers dump.
0233 This custom interface is needed (instead of using the generic
0234 Linux user-space PCI mapping) because this space is protected
0235 and cannot be accessed using PCI read.
0236 This interface doesn't support concurrency in the same device.
0237 Only supported on GAUDI.
0238
0239 What: /sys/kernel/debug/habanalabs/hl<n>/monitor_dump_trig
0240 Date: Mar 2022
0241 KernelVersion: 5.19
0242 Contact: osharabi@habana.ai
0243 Description: Triggers dump of monitor data. The value to trigger the operation
0244 must be 1. Triggering the monitor dump operation initiates dump of
0245 current registers values of all monitors.
0246 When the write is finished, the user can read the "monitor_dump"
0247 blob
0248
0249 What: /sys/kernel/debug/habanalabs/hl<n>/set_power_state
0250 Date: Jan 2019
0251 KernelVersion: 5.1
0252 Contact: ogabbay@kernel.org
0253 Description: Sets the PCI power state. Valid values are "1" for D0 and "2"
0254 for D3Hot
0255
0256 What: /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
0257 Date: Jun 2021
0258 KernelVersion: 5.13
0259 Contact: ynudelman@habana.ai
0260 Description: Sets the skip reset on timeout option for the device. Value of
0261 "0" means device will be reset in case some CS has timed out,
0262 otherwise it will not be reset.
0263
0264 What: /sys/kernel/debug/habanalabs/hl<n>/state_dump
0265 Date: Oct 2021
0266 KernelVersion: 5.15
0267 Contact: ynudelman@habana.ai
0268 Description: Gets the state dump occurring on a CS timeout or failure.
0269 State dump is used for debug and is created each time in case of
0270 a problem in a CS execution, before reset.
0271 Reading from the node returns the newest state dump available.
0272 Writing an integer X discards X state dumps, so that the
0273 next read would return X+1-st newest state dump.
0274
0275 What: /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
0276 Date: Mar 2020
0277 KernelVersion: 5.6
0278 Contact: ogabbay@kernel.org
0279 Description: Sets the stop-on_error option for the device engines. Value of
0280 "0" is for disable, otherwise enable.
0281 Relevant only for GOYA and GAUDI.
0282
0283 What: /sys/kernel/debug/habanalabs/hl<n>/timeout_locked
0284 Date: Sep 2021
0285 KernelVersion: 5.16
0286 Contact: obitton@habana.ai
0287 Description: Sets the command submission timeout value in seconds.
0288
0289 What: /sys/kernel/debug/habanalabs/hl<n>/userptr
0290 Date: Jan 2019
0291 KernelVersion: 5.1
0292 Contact: ogabbay@kernel.org
0293 Description: Displays a list with information about the currently user
0294 pointers (user virtual addresses) that are pinned and mapped
0295 to DMA addresses
0296
0297 What: /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
0298 Date: Oct 2021
0299 KernelVersion: 5.15
0300 Contact: ogabbay@kernel.org
0301 Description: Allows to search for specific user pointers (user virtual
0302 addresses) that are pinned and mapped to DMA addresses, and see
0303 their resolution to the specific dma address.
0304
0305 What: /sys/kernel/debug/habanalabs/hl<n>/vm
0306 Date: Jan 2019
0307 KernelVersion: 5.1
0308 Contact: ogabbay@kernel.org
0309 Description: Displays a list with information about all the active virtual
0310 address mappings per ASID and all user mappings of HW blocks