net/mlx5: Push min-inline mode resolution helper into the core
So we can use that from the IB driver too in downstream patches. This patch doesn't change any functionality. Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
c9497c9890
commit
8c7245a60e
|
@ -3458,22 +3458,6 @@ void mlx5e_set_rx_cq_mode_params(struct mlx5e_params *params, u8 cq_period_mode)
|
||||||
MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC_FROM_CQE;
|
MLX5E_PARAMS_DEFAULT_RX_CQ_MODERATION_USEC_FROM_CQE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void mlx5e_query_min_inline(struct mlx5_core_dev *mdev,
|
|
||||||
u8 *min_inline_mode)
|
|
||||||
{
|
|
||||||
switch (MLX5_CAP_ETH(mdev, wqe_inline_mode)) {
|
|
||||||
case MLX5_CAP_INLINE_MODE_L2:
|
|
||||||
*min_inline_mode = MLX5_INLINE_MODE_L2;
|
|
||||||
break;
|
|
||||||
case MLX5_CAP_INLINE_MODE_VPORT_CONTEXT:
|
|
||||||
mlx5_query_nic_vport_min_inline(mdev, 0, min_inline_mode);
|
|
||||||
break;
|
|
||||||
case MLX5_CAP_INLINE_MODE_NOT_REQUIRED:
|
|
||||||
*min_inline_mode = MLX5_INLINE_MODE_NONE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
u32 mlx5e_choose_lro_timeout(struct mlx5_core_dev *mdev, u32 wanted_timeout)
|
u32 mlx5e_choose_lro_timeout(struct mlx5_core_dev *mdev, u32 wanted_timeout)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
@ -3533,7 +3517,7 @@ static void mlx5e_build_nic_netdev_priv(struct mlx5_core_dev *mdev,
|
||||||
priv->params.tx_cq_moderation.pkts =
|
priv->params.tx_cq_moderation.pkts =
|
||||||
MLX5E_PARAMS_DEFAULT_TX_CQ_MODERATION_PKTS;
|
MLX5E_PARAMS_DEFAULT_TX_CQ_MODERATION_PKTS;
|
||||||
priv->params.tx_max_inline = mlx5e_get_max_inline_cap(mdev);
|
priv->params.tx_max_inline = mlx5e_get_max_inline_cap(mdev);
|
||||||
mlx5e_query_min_inline(mdev, &priv->params.tx_min_inline_mode);
|
mlx5_query_min_inline(mdev, &priv->params.tx_min_inline_mode);
|
||||||
priv->params.num_tc = 1;
|
priv->params.num_tc = 1;
|
||||||
priv->params.rss_hfunc = ETH_RSS_HASH_XOR;
|
priv->params.rss_hfunc = ETH_RSS_HASH_XOR;
|
||||||
|
|
||||||
|
|
|
@ -127,6 +127,23 @@ int mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(mlx5_query_nic_vport_min_inline);
|
EXPORT_SYMBOL_GPL(mlx5_query_nic_vport_min_inline);
|
||||||
|
|
||||||
|
void mlx5_query_min_inline(struct mlx5_core_dev *mdev,
|
||||||
|
u8 *min_inline_mode)
|
||||||
|
{
|
||||||
|
switch (MLX5_CAP_ETH(mdev, wqe_inline_mode)) {
|
||||||
|
case MLX5_CAP_INLINE_MODE_L2:
|
||||||
|
*min_inline_mode = MLX5_INLINE_MODE_L2;
|
||||||
|
break;
|
||||||
|
case MLX5_CAP_INLINE_MODE_VPORT_CONTEXT:
|
||||||
|
mlx5_query_nic_vport_min_inline(mdev, 0, min_inline_mode);
|
||||||
|
break;
|
||||||
|
case MLX5_CAP_INLINE_MODE_NOT_REQUIRED:
|
||||||
|
*min_inline_mode = MLX5_INLINE_MODE_NONE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(mlx5_query_min_inline);
|
||||||
|
|
||||||
int mlx5_modify_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
int mlx5_modify_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
||||||
u16 vport, u8 min_inline)
|
u16 vport, u8 min_inline)
|
||||||
{
|
{
|
||||||
|
|
|
@ -51,6 +51,7 @@ int mlx5_query_nic_vport_mac_address(struct mlx5_core_dev *mdev,
|
||||||
u16 vport, u8 *addr);
|
u16 vport, u8 *addr);
|
||||||
int mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
int mlx5_query_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
||||||
u16 vport, u8 *min_inline);
|
u16 vport, u8 *min_inline);
|
||||||
|
void mlx5_query_min_inline(struct mlx5_core_dev *mdev, u8 *min_inline);
|
||||||
int mlx5_modify_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
int mlx5_modify_nic_vport_min_inline(struct mlx5_core_dev *mdev,
|
||||||
u16 vport, u8 min_inline);
|
u16 vport, u8 min_inline);
|
||||||
int mlx5_modify_nic_vport_mac_address(struct mlx5_core_dev *dev,
|
int mlx5_modify_nic_vport_mac_address(struct mlx5_core_dev *dev,
|
||||||
|
|
Loading…
Reference in New Issue