History log of /freebsd-11-stable/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c
Revision Date Author Comments
# 369096 22-Jan-2021 hselasky

MFC daa150aaa30f:
Properly handle case where firmware dump returns more registers on second pass
in mlx5core.

Sponsored by: Mellanox Technologies // NVIDIA Networking

Git Hash: f301a7de8b764923aaba16dad6814936e3c80ac5
Git Author: hselasky@FreeBSD.org


# 369091 22-Jan-2021 hselasky

MFC 50a9f8bbc1dd:
Downgrade error about missing VSC to warning and make messages consistent
in mlx5core.

Sponsored by: Mellanox Technologies // NVIDIA Networking

Git Hash: 6187db1d915da9f9729f0aa26f8d86fca50f894b
Git Author: hselasky@FreeBSD.org


# 355545 09-Dec-2019 kib

MFC r355288:
mlx5: Do not try to enable fwdumps if scan space did not responded.


# 355544 09-Dec-2019 kib

MFC r355287:
mlx5: Downgrade assert about misbehaving hardware to error message.


# 353260 07-Oct-2019 hselasky

MFC r352994:
Improve mlx5_fwdump_prep logging in mlx5core.

Submitted by: slavash@
Sponsored by: Mellanox Technologies


# 353246 07-Oct-2019 hselasky

MFC r352986:
Return an error from ioctl(MLX5_FW_RESET) if reset was rejected in mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 353240 07-Oct-2019 hselasky

MFC r352983 and r353001:
Move EEPROM information query from a sysctl in mlx5en(4) to an ioctl
in mlx5core. The EEPROM information is not only a property of the
mlx5en(4) driver.

Submitted by: slavash@
Sponsored by: Mellanox Technologies


# 353224 07-Oct-2019 hselasky

MFC r352975:
Unify prints in mlx5core.

All prints in mlx5core should use on of the macros:
mlx5_core_err/dbg/warn

Submitted by: slavash@
Sponsored by: Mellanox Technologies


# 353218 07-Oct-2019 hselasky

MFC r352972:
Remove no longer needed fwdump register tables from mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 353216 07-Oct-2019 hselasky

MFC r352971:
Read rege map from crdump scan space in mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 347880 16-May-2019 hselasky

MFC r347323:
Fix race between driver unload and dumping firmware in mlx5core.

Present code uses lock-less accesses to the dump data to prevent top
level ioctls from blocking bottom-level call to dump. Unfortunately, this
depends on the type stability of the dump data structure, which makes it
non-functional during driver teardown.

Switch to the mutex locking scheme where top levels use the mutex in the
bound regions, while copyouts and drain for completion utilize condvars.
The mutex lifetime is guaranteed to be strictly larger than the time
interval where driver can initiate dump, and most of the control fields
of the old struct mlx5_dump_data are directly embedded into struct
mlx5_core_dev.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 347871 16-May-2019 hselasky

MFC r347315:
Rename functions from mlx5_fwdump to mlx5_ctl in mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 347869 16-May-2019 hselasky

MFC r347313:
Implement firmware reset from userspace in mlx5tool(8).

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 347844 16-May-2019 hselasky

Fix minor compile issue after MFC r347288.

This is a direct commit.

Sponsored by: Mellanox Technologies


# 347841 16-May-2019 hselasky

MFC r347288:
Implement userspace firmware update for ConnectX-4/5/6.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 347840 16-May-2019 hselasky

MFC r347287:
Rename mlx5_fwdump_addr to more neutral mlx5_tool_addr in mlx5core.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 331914 03-Apr-2018 hselasky

MFC r331821:
Prepare for FW dump in error state in mlx5core.

- Move firmware dump prep and cleanup to init_one() and remove_one() so that
the init and cleanup will happen only upon driver reload.
- Add some prints to indicate firmware dump.

Submitted by: slavash@
Sponsored by: Mellanox Technologies


# 331591 26-Mar-2018 hselasky

MFC r330660:
Add call to setup firmware data dump structure during device load in
mlx5core.

Do not consider the inability to create a firmware dump fatal, but
inform about the situation and allow the driver to attach. The device
might not implement the needed VSC, or we might not know the layout of
the registers map. In either case, only firmware dump functionality is
limited, the network operations should be fine.

Submitted by: kib@
Sponsored by: Mellanox Technologies


# 331586 26-Mar-2018 hselasky

MFC r330653:
Add kernel and userspace code to dump the firmware state of supported
ConnectX-4/5 devices in mlx5core.

The dump is obtained by reading a predefined register map from the
non-destructive crspace, accessible by the vendor-specific PCIe
capability (VSC). The dump is stored in preallocated kernel memory and
managed by the mlx5tool(8), which communicates with the driver using a
character device node.

The utility allows to store the dump in format
<address> <value>
into a file, to reset the dump content, and to manually initiate the
dump.

A call to mlx5_fwdump() should be added at the places where a dump
must be fetched automatically. The most likely place is right before a
firmware reset request.

Submitted by: kib@
Sponsored by: Mellanox Technologies