diff options
author | hselasky <hselasky@FreeBSD.org> | 2018-03-30 19:23:46 +0000 |
---|---|---|
committer | hselasky <hselasky@FreeBSD.org> | 2018-03-30 19:23:46 +0000 |
commit | 540c2e7b18636659a79b1a01038759996f05b1cd (patch) | |
tree | 16f63e6851f7054c48950bad01e15b03208494ed /sys/conf/files | |
parent | f527f9985774578c6de90e086d0203e4bea96ebc (diff) | |
download | FreeBSD-src-540c2e7b18636659a79b1a01038759996f05b1cd.zip FreeBSD-src-540c2e7b18636659a79b1a01038759996f05b1cd.tar.gz |
MFC r331452:
Add mutual exclusion mechanism for software reset of firmware in mlx5core.
Since the FW can be shared between PCI functions it is common that
more than one health poll will detected a failure, this can lead to
multiple resets.
The solution is to use a FW locking mechanism using semaphore space to
provide a way to synchronize between functions. The FW semaphore is
acquired via config cycle access. First the VSEC gateway must be
acquired, then the semaphore can be locked by writing a value to it
and confirmed it's locked by reading the same value back. The process
in the same to free the semaphore, except the value written should be
zero.
Submitted by: slavash@
Sponsored by: Mellanox Technologies
Diffstat (limited to 'sys/conf/files')
-rw-r--r-- | sys/conf/files | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/conf/files b/sys/conf/files index 782b949..5aff505 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -4510,6 +4510,8 @@ dev/mlx5/mlx5_core/mlx5_cmd.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_cq.c optional mlx5 pci \ compile-with "${OFED_C}" +dev/mlx5/mlx5_core/mlx5_crspace.c optional mlx5 pci \ + compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_diagnostics.c optional mlx5 pci \ compile-with "${OFED_C}" dev/mlx5/mlx5_core/mlx5_eq.c optional mlx5 pci \ |