mlx5io(4) | Device Drivers Manual | mlx5io(4) |
mlx5io
— IOCTL
interface to manage Connect-X 4/5 Mellanox network adapters
#include
<dev/mlx5/mlx5io.h>
The mlx5io
interface is provided for
management of the Connect-X 4 and 5 network adapters in the aspects not
covered by the generic network configuration, mostly related to the PCIe
attachment and internal card working. Interface consists of the commands,
which are passed by means of ioctl(2) on the file
descriptor, opened from the /dev/mlx5ctl device
node.
The following commands are implemented:
MLX5_FWDUMP_FORCE
MLX5_FWDUMP_RESET
command for the specified
device. The argument for the command should point to the
struct mlx5_fwdump_addr structure, containing the
PCIe bus address of the device.
struct mlx5_fwdump_addr { uint32_t domain; uint8_t bus; uint8_t slot; uint8_t func; };
MLX5_FWDUMP_RESET
MLX5_FWDUMP_GET
devaddr
field
specifies the address of the device, the buf
fields points to the array of struct mlx5_fwdump_reg
of records of the registers values, the size of the array is specified in
the reg_cnt
field.
struct mlx5_fwdump_get { struct mlx5_fwdump_addr devaddr; struct mlx5_fwdump_reg *buf; size_t reg_cnt; size_t reg_filled; /* out */ };
On successfull return, the reg_filled
field reports the number of the buf
array
elements actually filled with the registers values. If
buf
contains the NULL
pointer, no registers are filled, but reg_filled
still contains the number of registers that should be passed for the
complete dump.
The struct mlx5_fwdump_reg element
contains the address of the register in the field
addr
, and its value in the field
val
.
struct mlx5_fwdump_reg { uint32_t addr; uint32_t val; };
The /dev/mlx5ctl devfs(5) node is used to pass commands to the driver.
If successful, the IOCTL returns zero. Otherwise, -1 is returned and the global variable errno is set to indicate the error.
errno(2), ioctl(2), mlx5en(4), mlx5ib(4), mlx5tool(8) and pci(9).
February 20, 2018 | Debian |