net/mlx5: Add Fast teardown support
authorFeras Daoud <ferasda@mellanox.com>
Thu, 9 Aug 2018 06:55:21 +0000 (09:55 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Wed, 3 Oct 2018 23:18:00 +0000 (16:18 -0700)
commitfcd29ad17c6ff885dfae58f557e9323941e63ba2
tree768063ab0c8dbd18d37c8a19d4cd7e140e278b38
parent94563847a8733c27b2f56ac82bad4c78e074e244
net/mlx5: Add Fast teardown support

Today mlx5 devices support two teardown modes:
1- Regular teardown
2- Force teardown

This change introduces the enhanced version of the "Force teardown" that
allows SW to perform teardown in a faster way without the need to reclaim
all the pages.

Fast teardown provides the following advantages:
1- Fix a FW race condition that could cause command timeout
2- Avoid moving to polling mode
3- Close the vport to prevent PCI ACK to be sent without been scatter
to memory

Signed-off-by: Feras Daoud <ferasda@mellanox.com>
Reviewed-by: Majd Dibbiny <majd@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/fw.c
drivers/net/ethernet/mellanox/mlx5/core/health.c
drivers/net/ethernet/mellanox/mlx5/core/main.c
drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h
include/linux/mlx5/device.h
include/linux/mlx5/mlx5_ifc.h