diff options
author | Yishai Hadas <yishaih@nvidia.com> | 2022-02-24 15:20:14 +0100 |
---|---|---|
committer | Leon Romanovsky <leonro@nvidia.com> | 2022-02-27 10:41:21 +0100 |
commit | 1695b97b291e79295bf5c26cba5ecc4b443d8ac7 (patch) | |
tree | 788b3834a6a78e2e7934f6f3053d6d92ce3ae7e7 /drivers/bluetooth/dtl1_cs.c | |
parent | PCI/IOV: Add pci_iov_get_pf_drvdata() to allow VF reaching the drvdata of a PF (diff) | |
download | linux-1695b97b291e79295bf5c26cba5ecc4b443d8ac7.tar.xz linux-1695b97b291e79295bf5c26cba5ecc4b443d8ac7.zip |
net/mlx5: Expose APIs to get/put the mlx5 core device
Expose an API to get the mlx5 core device from a given VF PCI device if
mlx5_core is its driver.
Upon the get API we stay with the intf_state_mutex locked to make sure
that the device can't be gone/unloaded till the caller will complete
its job over the device, this expects to be for a short period of time
for any flow that the lock is taken.
Upon the put API we unlock the intf_state_mutex.
The use case for those APIs is the migration flow of a VF over VFIO PCI.
In that case the VF doesn't ride on mlx5_core, because the device is
driving *two* different PCI devices, the PF owned by mlx5_core and the
VF owned by the vfio driver.
The mlx5_core of the PF is accessed only during the narrow window of the
VF's ioctl that requires its services.
This allows the PF driver to be more independent of the VF driver, so
long as it doesn't reset the FW.
Link: https://lore.kernel.org/all/20220224142024.147653-6-yishaih@nvidia.com
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Diffstat (limited to 'drivers/bluetooth/dtl1_cs.c')
0 files changed, 0 insertions, 0 deletions