freebsd-skq/sys/dev/mlx5/mlx5_core
hselasky d6f19b4f0f 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@
MFC after:	3 days
Sponsored by:	Mellanox Technologies
2019-05-08 11:08:48 +00:00
..
fs_core.h
mlx5_alloc.c
mlx5_cmd.c Add vnic steering drop statistics in mlx5en(4). 2019-05-08 10:53:01 +00:00
mlx5_core.h Rename functions from mlx5_fwdump to mlx5_ctl in mlx5core. 2019-05-08 11:05:59 +00:00
mlx5_cq.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_diagnostics.c Update performance counter bits in mlx5core. 2019-05-08 10:58:41 +00:00
mlx5_eq.c Implement reading PCI power status in mlx5core. 2019-05-08 10:58:06 +00:00
mlx5_fs_cmd.c Use the autogenerated interface file for all commands in mlx5core. 2018-03-08 10:43:42 +00:00
mlx5_fs_tree.c mlx5: Fix for potential memory leaks. 2018-12-05 13:41:37 +00:00
mlx5_fw.c Add support for 200Gb ethernet speeds to mlx5core. 2019-05-08 10:54:54 +00:00
mlx5_fwdump_regmaps.c Add kernel and userspace code to dump the firmware state of supported 2018-03-08 15:21:56 +00:00
mlx5_fwdump.c Fix race between driver unload and dumping firmware in mlx5core. 2019-05-08 11:08:48 +00:00
mlx5_health.c Flush command workqueue when command completion is triggered in mlx5core. 2019-05-08 11:07:20 +00:00
mlx5_mad.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_main.c Fix race between driver unload and dumping firmware in mlx5core. 2019-05-08 11:08:48 +00:00
mlx5_mcg.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_mr.c mlx5: Implement support for configuring PCIe packet write ordering via a sysctl. 2018-12-05 13:45:08 +00:00
mlx5_pagealloc.c mlx5: Fix for potential memory leaks. 2018-12-05 13:41:37 +00:00
mlx5_pd.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_port.c Add Firmware Reset Level, MFRL, register accessors in mlx5core. 2019-05-08 11:04:40 +00:00
mlx5_qp.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_rl.c Add support for hardware rate limiting to mlx5en(4). 2018-05-29 14:04:57 +00:00
mlx5_srq.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_transobj.c Use the autogenerated interface file for all commands in mlx5core. 2018-03-08 10:43:42 +00:00
mlx5_uar.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
mlx5_vport.c mlx5en: Fix for inlining issues in transmit path 2018-12-05 14:21:28 +00:00
mlx5_vsc.c Refactor access to CR-space into using VSC APIs in mlx5core. 2018-07-17 10:16:32 +00:00
mlx5_wq.c Update version information for the mlx5 and mlx5en(4) modules. 2018-07-18 10:12:53 +00:00
transobj.h
wq.h mlx5fpga: Initial code import. 2018-12-05 14:11:20 +00:00