diff options
Diffstat (limited to 'include/linux/mlx5/driver.h')
| -rw-r--r-- | include/linux/mlx5/driver.h | 17 | 
1 files changed, 9 insertions, 8 deletions
diff --git a/include/linux/mlx5/driver.h b/include/linux/mlx5/driver.h index 7b7ce602c808..c32de987fa71 100644 --- a/include/linux/mlx5/driver.h +++ b/include/linux/mlx5/driver.h @@ -1280,16 +1280,17 @@ enum {  	MLX5_TRIGGERED_CMD_COMP = (u64)1 << 32,  }; -static inline bool mlx5_is_roce_init_enabled(struct mlx5_core_dev *dev) +bool mlx5_is_roce_on(struct mlx5_core_dev *dev); + +static inline bool mlx5_get_roce_state(struct mlx5_core_dev *dev)  { -	struct devlink *devlink = priv_to_devlink(dev); -	union devlink_param_value val; -	int err; +	if (MLX5_CAP_GEN(dev, roce_rw_supported)) +		return MLX5_CAP_GEN(dev, roce); -	err = devlink_param_driverinit_value_get(devlink, -						 DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE, -						 &val); -	return err ? MLX5_CAP_GEN(dev, roce) : val.vbool; +	/* If RoCE cap is read-only in FW, get RoCE state from devlink +	 * in order to support RoCE enable/disable feature +	 */ +	return mlx5_is_roce_on(dev);  }  #endif /* MLX5_DRIVER_H */  | 
