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 15ca62433fSOded GabbayDescription: Allow the root user to disable/enable in runtime the clock 16ca62433fSOded Gabbay gating mechanism in Gaudi. Due to how Gaudi is built, the 17ca62433fSOded Gabbay clock gating needs to be disabled in order to access the 18ca62433fSOded Gabbay registers of the TPC and MME engines. This is sometimes needed 19e38bfd30SOded Gabbay during debug by the user and hence the user needs this option. 20e38bfd30SOded Gabbay The user can supply a bitmask value, each bit represents 21e38bfd30SOded Gabbay a different engine to disable/enable its clock gating feature. 22e38bfd30SOded Gabbay The bitmask is composed of 20 bits: 2354a19b4dSMauro Carvalho Chehab 2454a19b4dSMauro Carvalho Chehab ======= ============ 2554a19b4dSMauro Carvalho Chehab 0 - 7 DMA channels 2654a19b4dSMauro Carvalho Chehab 8 - 11 MME engines 2754a19b4dSMauro Carvalho Chehab 12 - 19 TPC engines 2854a19b4dSMauro Carvalho Chehab ======= ============ 2954a19b4dSMauro Carvalho Chehab 30e38bfd30SOded Gabbay The bit's location of a specific engine can be determined 31e38bfd30SOded Gabbay using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values 32e38bfd30SOded Gabbay are defined in uapi habanalabs.h file in enum gaudi_engine_id 33ca62433fSOded Gabbay 34c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/command_buffers 35c2164773SOded GabbayDate: Jan 2019 36c2164773SOded GabbayKernelVersion: 5.1 372f8db5a1SOded GabbayContact: ogabbay@kernel.org 38c2164773SOded GabbayDescription: Displays a list with information about the currently allocated 39c2164773SOded Gabbay command buffers 40c2164773SOded Gabbay 41c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/command_submission 42c2164773SOded GabbayDate: Jan 2019 43c2164773SOded GabbayKernelVersion: 5.1 442f8db5a1SOded GabbayContact: ogabbay@kernel.org 45c2164773SOded GabbayDescription: Displays a list with information about the currently active 46c2164773SOded Gabbay command submissions 47c2164773SOded Gabbay 48c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs 49c2164773SOded GabbayDate: Jan 2019 50c2164773SOded GabbayKernelVersion: 5.1 512f8db5a1SOded GabbayContact: ogabbay@kernel.org 52c2164773SOded GabbayDescription: Displays a list with detailed information about each JOB (CB) of 53c2164773SOded Gabbay each active command submission 54c2164773SOded Gabbay 55c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/data32 56c2164773SOded GabbayDate: Jan 2019 57c2164773SOded GabbayKernelVersion: 5.1 582f8db5a1SOded GabbayContact: ogabbay@kernel.org 59c2164773SOded GabbayDescription: Allows the root user to read or write directly through the 60c2164773SOded Gabbay device's PCI bar. Writing to this file generates a write 61c2164773SOded Gabbay transaction while reading from the file generates a read 624a0ce776STomer Tayar transaction. This custom interface is needed (instead of using 63c2164773SOded Gabbay the generic Linux user-space PCI mapping) because the DDR bar 64c2164773SOded Gabbay is very small compared to the DDR memory and only the driver can 654a0ce776STomer Tayar move the bar before and after the transaction. 6654a19b4dSMauro Carvalho Chehab 674a0ce776STomer Tayar If the IOMMU is disabled, it also allows the root user to read 684a0ce776STomer Tayar or write from the host a device VA of a host mapped memory 69c2164773SOded Gabbay 705cce5146SMoti HaimovskiWhat: /sys/kernel/debug/habanalabs/hl<n>/data64 715cce5146SMoti HaimovskiDate: Jan 2020 725cce5146SMoti HaimovskiKernelVersion: 5.6 732f8db5a1SOded GabbayContact: ogabbay@kernel.org 745cce5146SMoti HaimovskiDescription: Allows the root user to read or write 64 bit data directly 755cce5146SMoti Haimovski through the device's PCI bar. Writing to this file generates a 765cce5146SMoti Haimovski write transaction while reading from the file generates a read 775cce5146SMoti Haimovski transaction. This custom interface is needed (instead of using 785cce5146SMoti Haimovski the generic Linux user-space PCI mapping) because the DDR bar 795cce5146SMoti Haimovski is very small compared to the DDR memory and only the driver can 805cce5146SMoti Haimovski move the bar before and after the transaction. 8154a19b4dSMauro Carvalho Chehab 825cce5146SMoti Haimovski If the IOMMU is disabled, it also allows the root user to read 835cce5146SMoti Haimovski or write from the host a device VA of a host mapped memory 845cce5146SMoti Haimovski 85639781dcSOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/data_dma 86639781dcSOded GabbayDate: Apr 2021 87639781dcSOded GabbayKernelVersion: 5.13 88639781dcSOded GabbayContact: ogabbay@kernel.org 89639781dcSOded GabbayDescription: Allows the root user to read from the device's internal 90639781dcSOded Gabbay memory (DRAM/SRAM) through a DMA engine. 91639781dcSOded Gabbay This property is a binary blob that contains the result of the 92639781dcSOded Gabbay DMA transfer. 93639781dcSOded Gabbay This custom interface is needed (instead of using the generic 94639781dcSOded Gabbay Linux user-space PCI mapping) because the amount of internal 95639781dcSOded Gabbay memory is huge (>32GB) and reading it via the PCI bar will take 96639781dcSOded Gabbay a very long time. 97639781dcSOded Gabbay This interface doesn't support concurrency in the same device. 98639781dcSOded Gabbay In GAUDI and GOYA, this action can cause undefined behavior 99639781dcSOded Gabbay in case the it is done while the device is executing user 100639781dcSOded Gabbay workloads. 101639781dcSOded Gabbay Only supported on GAUDI at this stage. 102639781dcSOded Gabbay 103c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/device 104c2164773SOded GabbayDate: Jan 2019 105c2164773SOded GabbayKernelVersion: 5.1 1062f8db5a1SOded GabbayContact: ogabbay@kernel.org 107c2164773SOded GabbayDescription: Enables the root user to set the device to specific state. 108c2164773SOded Gabbay Valid values are "disable", "enable", "suspend", "resume". 109c2164773SOded Gabbay User can read this property to see the valid values 110c2164773SOded Gabbay 111639781dcSOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/dma_size 112639781dcSOded GabbayDate: Apr 2021 113639781dcSOded GabbayKernelVersion: 5.13 114639781dcSOded GabbayContact: ogabbay@kernel.org 115639781dcSOded GabbayDescription: Specify the size of the DMA transaction when using DMA to read 116639781dcSOded Gabbay from the device's internal memory. The value can not be larger 117639781dcSOded Gabbay than 128MB. Writing to this value initiates the DMA transfer. 118639781dcSOded Gabbay When the write is finished, the user can read the "data_dma" 119639781dcSOded Gabbay blob 120639781dcSOded Gabbay 121639781dcSOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations 122639781dcSOded GabbayDate: Jan 2021 123639781dcSOded GabbayKernelVersion: 5.12 124639781dcSOded GabbayContact: ogabbay@kernel.org 125639781dcSOded GabbayDescription: Dumps all security violations to dmesg. This will also ack 126639781dcSOded Gabbay all security violations meanings those violations will not be 127639781dcSOded Gabbay dumped next time user calls this API 128639781dcSOded Gabbay 12906deb86aSTomer TayarWhat: /sys/kernel/debug/habanalabs/hl<n>/engines 13006deb86aSTomer TayarDate: Jul 2019 13106deb86aSTomer TayarKernelVersion: 5.3 1322f8db5a1SOded GabbayContact: ogabbay@kernel.org 13306deb86aSTomer TayarDescription: Displays the status registers values of the device engines and 13406deb86aSTomer Tayar their derived idle status 13506deb86aSTomer Tayar 136c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/i2c_addr 137c2164773SOded GabbayDate: Jan 2019 138c2164773SOded GabbayKernelVersion: 5.1 1392f8db5a1SOded GabbayContact: ogabbay@kernel.org 140c2164773SOded GabbayDescription: Sets I2C device address for I2C transaction that is generated 141c2164773SOded Gabbay by the device's CPU 142c2164773SOded Gabbay 143c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/i2c_bus 144c2164773SOded GabbayDate: Jan 2019 145c2164773SOded GabbayKernelVersion: 5.1 1462f8db5a1SOded GabbayContact: ogabbay@kernel.org 147c2164773SOded GabbayDescription: Sets I2C bus address for I2C transaction that is generated by 148c2164773SOded Gabbay the device's CPU 149c2164773SOded Gabbay 150c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/i2c_data 151c2164773SOded GabbayDate: Jan 2019 152c2164773SOded GabbayKernelVersion: 5.1 1532f8db5a1SOded GabbayContact: ogabbay@kernel.org 154c2164773SOded GabbayDescription: Triggers an I2C transaction that is generated by the device's 155c2164773SOded Gabbay CPU. Writing to this file generates a write transaction while 1563e42d1deSCarlos Bilbao reading from the file generates a read transaction 157c2164773SOded Gabbay 158c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg 159c2164773SOded GabbayDate: Jan 2019 160c2164773SOded GabbayKernelVersion: 5.1 1612f8db5a1SOded GabbayContact: ogabbay@kernel.org 162c2164773SOded GabbayDescription: Sets I2C register id for I2C transaction that is generated by 163c2164773SOded Gabbay the device's CPU 164c2164773SOded Gabbay 165c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/led0 166c2164773SOded GabbayDate: Jan 2019 167c2164773SOded GabbayKernelVersion: 5.1 1682f8db5a1SOded GabbayContact: ogabbay@kernel.org 169c2164773SOded GabbayDescription: Sets the state of the first S/W led on the device 170c2164773SOded Gabbay 171c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/led1 172c2164773SOded GabbayDate: Jan 2019 173c2164773SOded GabbayKernelVersion: 5.1 1742f8db5a1SOded GabbayContact: ogabbay@kernel.org 175c2164773SOded GabbayDescription: Sets the state of the second S/W led on the device 176c2164773SOded Gabbay 177c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/led2 178c2164773SOded GabbayDate: Jan 2019 179c2164773SOded GabbayKernelVersion: 5.1 1802f8db5a1SOded GabbayContact: ogabbay@kernel.org 181c2164773SOded GabbayDescription: Sets the state of the third S/W led on the device 182c2164773SOded Gabbay 183c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/mmu 184c2164773SOded GabbayDate: Jan 2019 185c2164773SOded GabbayKernelVersion: 5.1 1862f8db5a1SOded GabbayContact: ogabbay@kernel.org 187c2164773SOded GabbayDescription: Displays the hop values and physical address for a given ASID 188c2164773SOded Gabbay and virtual address. The user should write the ASID and VA into 189c2164773SOded Gabbay the file and then read the file to get the result. 190c2164773SOded Gabbay e.g. to display info about VA 0x1000 for ASID 1 you need to do: 191c2164773SOded Gabbay echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu 192c2164773SOded Gabbay 193639781dcSOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/mmu_error 194639781dcSOded GabbayDate: Mar 2021 195639781dcSOded GabbayKernelVersion: 5.12 196639781dcSOded GabbayContact: fkassabri@habana.ai 197639781dcSOded GabbayDescription: Check and display page fault or access violation mmu errors for 198639781dcSOded Gabbay all MMUs specified in mmu_cap_mask. 199639781dcSOded Gabbay e.g. to display error info for MMU hw cap bit 9, you need to do: 200639781dcSOded Gabbay echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error 201639781dcSOded Gabbay cat /sys/kernel/debug/habanalabs/hl0/mmu_error 202639781dcSOded Gabbay 203c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/set_power_state 204c2164773SOded GabbayDate: Jan 2019 205c2164773SOded GabbayKernelVersion: 5.1 2062f8db5a1SOded GabbayContact: ogabbay@kernel.org 207c2164773SOded GabbayDescription: Sets the PCI power state. Valid values are "1" for D0 and "2" 208c2164773SOded Gabbay for D3Hot 209c2164773SOded Gabbay 2104d041216SYuri NudelmanWhat: /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout 2114d041216SYuri NudelmanDate: Jun 2021 2124d041216SYuri NudelmanKernelVersion: 5.13 2134d041216SYuri NudelmanContact: ynudelman@habana.ai 2144d041216SYuri NudelmanDescription: Sets the skip reset on timeout option for the device. Value of 2154d041216SYuri Nudelman "0" means device will be reset in case some CS has timed out, 2164d041216SYuri Nudelman otherwise it will not be reset. 2174d041216SYuri Nudelman 218938b793fSYuri NudelmanWhat: /sys/kernel/debug/habanalabs/hl<n>/state_dump 219938b793fSYuri NudelmanDate: Oct 2021 220938b793fSYuri NudelmanKernelVersion: 5.15 221938b793fSYuri NudelmanContact: ynudelman@habana.ai 222938b793fSYuri NudelmanDescription: Gets the state dump occurring on a CS timeout or failure. 223938b793fSYuri Nudelman State dump is used for debug and is created each time in case of 224938b793fSYuri Nudelman a problem in a CS execution, before reset. 225938b793fSYuri Nudelman Reading from the node returns the newest state dump available. 226938b793fSYuri Nudelman Writing an integer X discards X state dumps, so that the 227938b793fSYuri Nudelman next read would return X+1-st newest state dump. 228938b793fSYuri Nudelman 229639781dcSOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/stop_on_err 230639781dcSOded GabbayDate: Mar 2020 231639781dcSOded GabbayKernelVersion: 5.6 232639781dcSOded GabbayContact: ogabbay@kernel.org 233639781dcSOded GabbayDescription: Sets the stop-on_error option for the device engines. Value of 234639781dcSOded Gabbay "0" is for disable, otherwise enable. 235639781dcSOded Gabbay 236c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/userptr 237c2164773SOded GabbayDate: Jan 2019 238c2164773SOded GabbayKernelVersion: 5.1 2392f8db5a1SOded GabbayContact: ogabbay@kernel.org 240c2164773SOded GabbayDescription: Displays a list with information about the currently user 241c2164773SOded Gabbay pointers (user virtual addresses) that are pinned and mapped 242c2164773SOded Gabbay to DMA addresses 243c2164773SOded Gabbay 244*89b21365SYuri NudelmanWhat: /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup 245*89b21365SYuri NudelmanDate: Aug 2021 246*89b21365SYuri NudelmanKernelVersion: 5.15 247*89b21365SYuri NudelmanContact: ogabbay@kernel.org 248*89b21365SYuri NudelmanDescription: Allows to search for specific user pointers (user virtual 249*89b21365SYuri Nudelman addresses) that are pinned and mapped to DMA addresses, and see 250*89b21365SYuri Nudelman their resolution to the specific dma address. 251*89b21365SYuri Nudelman 252c2164773SOded GabbayWhat: /sys/kernel/debug/habanalabs/hl<n>/vm 253c2164773SOded GabbayDate: Jan 2019 254c2164773SOded GabbayKernelVersion: 5.1 2552f8db5a1SOded GabbayContact: ogabbay@kernel.org 256c2164773SOded GabbayDescription: Displays a list with information about all the active virtual 257a4371c1aSSagiv Ozeri address mappings per ASID and all user mappings of HW blocks 258