89b213657c
It is useful to have the ability to see which user address was pinned to which physical address during the initial mapping. We already have all that info stored, but no means to search this data (which may be quite large). Signed-off-by: Yuri Nudelman <ynudelman@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
258 lines
11 KiB
Plaintext
258 lines
11 KiB
Plaintext
What: /sys/kernel/debug/habanalabs/hl<n>/addr
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets the device address to be used for read or write through
|
|
PCI bar, or the device VA of a host mapped memory to be read or
|
|
written directly from the host. The latter option is allowed
|
|
only when the IOMMU is disabled.
|
|
The acceptable value is a string that starts with "0x"
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/clk_gate
|
|
Date: May 2020
|
|
KernelVersion: 5.8
|
|
Contact: ogabbay@kernel.org
|
|
Description: Allow the root user to disable/enable in runtime the clock
|
|
gating mechanism in Gaudi. Due to how Gaudi is built, the
|
|
clock gating needs to be disabled in order to access the
|
|
registers of the TPC and MME engines. This is sometimes needed
|
|
during debug by the user and hence the user needs this option.
|
|
The user can supply a bitmask value, each bit represents
|
|
a different engine to disable/enable its clock gating feature.
|
|
The bitmask is composed of 20 bits:
|
|
|
|
======= ============
|
|
0 - 7 DMA channels
|
|
8 - 11 MME engines
|
|
12 - 19 TPC engines
|
|
======= ============
|
|
|
|
The bit's location of a specific engine can be determined
|
|
using (1 << GAUDI_ENGINE_ID_*). GAUDI_ENGINE_ID_* values
|
|
are defined in uapi habanalabs.h file in enum gaudi_engine_id
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/command_buffers
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays a list with information about the currently allocated
|
|
command buffers
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/command_submission
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays a list with information about the currently active
|
|
command submissions
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/command_submission_jobs
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays a list with detailed information about each JOB (CB) of
|
|
each active command submission
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/data32
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Allows the root user to read or write directly through the
|
|
device's PCI bar. Writing to this file generates a write
|
|
transaction while reading from the file generates a read
|
|
transaction. This custom interface is needed (instead of using
|
|
the generic Linux user-space PCI mapping) because the DDR bar
|
|
is very small compared to the DDR memory and only the driver can
|
|
move the bar before and after the transaction.
|
|
|
|
If the IOMMU is disabled, it also allows the root user to read
|
|
or write from the host a device VA of a host mapped memory
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/data64
|
|
Date: Jan 2020
|
|
KernelVersion: 5.6
|
|
Contact: ogabbay@kernel.org
|
|
Description: Allows the root user to read or write 64 bit data directly
|
|
through the device's PCI bar. Writing to this file generates a
|
|
write transaction while reading from the file generates a read
|
|
transaction. This custom interface is needed (instead of using
|
|
the generic Linux user-space PCI mapping) because the DDR bar
|
|
is very small compared to the DDR memory and only the driver can
|
|
move the bar before and after the transaction.
|
|
|
|
If the IOMMU is disabled, it also allows the root user to read
|
|
or write from the host a device VA of a host mapped memory
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/data_dma
|
|
Date: Apr 2021
|
|
KernelVersion: 5.13
|
|
Contact: ogabbay@kernel.org
|
|
Description: Allows the root user to read from the device's internal
|
|
memory (DRAM/SRAM) through a DMA engine.
|
|
This property is a binary blob that contains the result of the
|
|
DMA transfer.
|
|
This custom interface is needed (instead of using the generic
|
|
Linux user-space PCI mapping) because the amount of internal
|
|
memory is huge (>32GB) and reading it via the PCI bar will take
|
|
a very long time.
|
|
This interface doesn't support concurrency in the same device.
|
|
In GAUDI and GOYA, this action can cause undefined behavior
|
|
in case the it is done while the device is executing user
|
|
workloads.
|
|
Only supported on GAUDI at this stage.
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/device
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Enables the root user to set the device to specific state.
|
|
Valid values are "disable", "enable", "suspend", "resume".
|
|
User can read this property to see the valid values
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/dma_size
|
|
Date: Apr 2021
|
|
KernelVersion: 5.13
|
|
Contact: ogabbay@kernel.org
|
|
Description: Specify the size of the DMA transaction when using DMA to read
|
|
from the device's internal memory. The value can not be larger
|
|
than 128MB. Writing to this value initiates the DMA transfer.
|
|
When the write is finished, the user can read the "data_dma"
|
|
blob
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/dump_security_violations
|
|
Date: Jan 2021
|
|
KernelVersion: 5.12
|
|
Contact: ogabbay@kernel.org
|
|
Description: Dumps all security violations to dmesg. This will also ack
|
|
all security violations meanings those violations will not be
|
|
dumped next time user calls this API
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/engines
|
|
Date: Jul 2019
|
|
KernelVersion: 5.3
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays the status registers values of the device engines and
|
|
their derived idle status
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_addr
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets I2C device address for I2C transaction that is generated
|
|
by the device's CPU
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_bus
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets I2C bus address for I2C transaction that is generated by
|
|
the device's CPU
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_data
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Triggers an I2C transaction that is generated by the device's
|
|
CPU. Writing to this file generates a write transaction while
|
|
reading from the file generates a read transaction
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/i2c_reg
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets I2C register id for I2C transaction that is generated by
|
|
the device's CPU
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/led0
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets the state of the first S/W led on the device
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/led1
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets the state of the second S/W led on the device
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/led2
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets the state of the third S/W led on the device
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/mmu
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays the hop values and physical address for a given ASID
|
|
and virtual address. The user should write the ASID and VA into
|
|
the file and then read the file to get the result.
|
|
e.g. to display info about VA 0x1000 for ASID 1 you need to do:
|
|
echo "1 0x1000" > /sys/kernel/debug/habanalabs/hl0/mmu
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/mmu_error
|
|
Date: Mar 2021
|
|
KernelVersion: 5.12
|
|
Contact: fkassabri@habana.ai
|
|
Description: Check and display page fault or access violation mmu errors for
|
|
all MMUs specified in mmu_cap_mask.
|
|
e.g. to display error info for MMU hw cap bit 9, you need to do:
|
|
echo "0x200" > /sys/kernel/debug/habanalabs/hl0/mmu_error
|
|
cat /sys/kernel/debug/habanalabs/hl0/mmu_error
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/set_power_state
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets the PCI power state. Valid values are "1" for D0 and "2"
|
|
for D3Hot
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/skip_reset_on_timeout
|
|
Date: Jun 2021
|
|
KernelVersion: 5.13
|
|
Contact: ynudelman@habana.ai
|
|
Description: Sets the skip reset on timeout option for the device. Value of
|
|
"0" means device will be reset in case some CS has timed out,
|
|
otherwise it will not be reset.
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/state_dump
|
|
Date: Oct 2021
|
|
KernelVersion: 5.15
|
|
Contact: ynudelman@habana.ai
|
|
Description: Gets the state dump occurring on a CS timeout or failure.
|
|
State dump is used for debug and is created each time in case of
|
|
a problem in a CS execution, before reset.
|
|
Reading from the node returns the newest state dump available.
|
|
Writing an integer X discards X state dumps, so that the
|
|
next read would return X+1-st newest state dump.
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/stop_on_err
|
|
Date: Mar 2020
|
|
KernelVersion: 5.6
|
|
Contact: ogabbay@kernel.org
|
|
Description: Sets the stop-on_error option for the device engines. Value of
|
|
"0" is for disable, otherwise enable.
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/userptr
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays a list with information about the currently user
|
|
pointers (user virtual addresses) that are pinned and mapped
|
|
to DMA addresses
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/userptr_lookup
|
|
Date: Aug 2021
|
|
KernelVersion: 5.15
|
|
Contact: ogabbay@kernel.org
|
|
Description: Allows to search for specific user pointers (user virtual
|
|
addresses) that are pinned and mapped to DMA addresses, and see
|
|
their resolution to the specific dma address.
|
|
|
|
What: /sys/kernel/debug/habanalabs/hl<n>/vm
|
|
Date: Jan 2019
|
|
KernelVersion: 5.1
|
|
Contact: ogabbay@kernel.org
|
|
Description: Displays a list with information about all the active virtual
|
|
address mappings per ASID and all user mappings of HW blocks
|