Lines Matching refs:channels

37 #include "en/channels.h"
337 param->rx_pending = 1 << priv->channels.params.log_rq_mtu_frames;
338 param->tx_pending = 1 << priv->channels.params.log_sq_size;
341 (priv->channels.params.packet_merge.type == MLX5E_PACKET_MERGE_SHAMPO) ?
392 if (log_rq_size == priv->channels.params.log_rq_mtu_frames &&
393 log_sq_size == priv->channels.params.log_sq_size)
398 new_params = priv->channels.params;
429 ch->combined_count = priv->channels.params.num_channels;
444 struct mlx5e_params *cur_params = &priv->channels.params;
468 netdev_err(priv->netdev, "%s: Requested number of channels (%d) exceeds the maximum allowed by the XOR8 RSS hfunc (%d)\n",
474 /* If RXFH is configured, changing the channels number is allowed only if
485 "%s: RXFH is configured, block changing channels number that affects RSS table size (new: %d, current: %d)\n",
491 /* Don't allow changing the number of channels if HTB offload is active,
497 netdev_err(priv->netdev, "%s: HTB offload is active, cannot change the number of channels\n",
502 /* Don't allow changing the number of channels if non-default RSS contexts exist,
508 netdev_err(priv->netdev, "%s: Non-default RSS contexts exist (%d), cannot change the number of channels\n",
513 /* Don't allow changing the number of channels if MQPRIO mode channel offload is active,
514 * because it defines a partition over the channels queues.
518 netdev_err(priv->netdev, "%s: MQPRIO mode channel offload is active, cannot change the number of channels\n",
532 /* Switch to new channels, set new parameters and close old ones */
567 rx_moder = &priv->channels.params.rx_cq_moderation;
570 coal->use_adaptive_rx_coalesce = priv->channels.params.rx_dim_enabled;
571 kernel_coal->use_cqe_mode_rx = priv->channels.params.rx_moder_use_cqe_mode;
573 tx_moder = &priv->channels.params.tx_cq_moderation;
576 coal->use_adaptive_tx_coalesce = priv->channels.params.tx_dim_enabled;
577 kernel_coal->use_cqe_mode_tx = priv->channels.params.tx_moder_use_cqe_mode;
604 chs = &priv->channels;
663 for (i = 0; i < priv->channels.num; ++i) {
664 struct mlx5e_channel *c = priv->channels.c[i];
684 for (i = 0; i < priv->channels.num; ++i) {
685 struct mlx5e_channel *c = priv->channels.c[i];
738 new_params = priv->channels.params;
741 reset_rx = mlx5e_reset_rx_channels_moderation(&priv->channels, cq_period_mode,
746 reset_tx = mlx5e_reset_tx_channels_moderation(&priv->channels, cq_period_mode,
763 mlx5e_channels_rx_change_dim(&priv->channels, false);
776 mlx5e_channels_tx_change_dim(&priv->channels, false);
788 /* DIM enable/disable Rx and Tx channels */
789 err = mlx5e_channels_rx_change_dim(&priv->channels, rx_dim_enabled);
792 err = mlx5e_channels_tx_change_dim(&priv->channels, tx_dim_enabled);
844 chs = &priv->channels;
1441 return mlx5e_rqt_size(priv->mdev, priv->channels.params.num_channels);
1475 count = priv->channels.params.num_channels;
1482 netdev_err(priv->netdev, "%s: Cannot set RSS hash function to XOR, current number of channels (%d) exceeds the maximum allowed for XOR8 RSS hfunc (%d)\n",
2072 priv->channels.params.rx_cq_moderation.cq_period_mode :
2073 priv->channels.params.tx_cq_moderation.cq_period_mode;
2078 new_params = priv->channels.params;
2080 mlx5e_reset_rx_channels_moderation(&priv->channels, cq_period_mode,
2082 mlx5e_channels_rx_toggle_dim(&priv->channels);
2086 mlx5e_reset_tx_channels_moderation(&priv->channels, cq_period_mode,
2088 mlx5e_channels_tx_toggle_dim(&priv->channels);
2093 /* Update pflags of existing channels without resetting them */
2109 bool curr_val = MLX5E_GET_PFLAG(&priv->channels.params, MLX5E_PFLAG_RX_CQE_COMPRESS);
2125 if (priv->channels.params.packet_merge.type == MLX5E_PACKET_MERGE_SHAMPO) {
2130 new_params = priv->channels.params;
2135 if (new_params.ptp_rx == priv->channels.params.ptp_rx)
2144 MLX5E_GET_PFLAG(&priv->channels.params,
2166 priv->channels.params.rx_cqe_compress_def = enable;
2183 int err = mlx5e_mpwrq_validate_regular(mdev, &priv->channels.params);
2187 } else if (priv->channels.params.packet_merge.type != MLX5E_PACKET_MERGE_NONE) {
2192 new_params = priv->channels.params;
2210 struct mlx5e_channels *channels = &priv->channels;
2215 priv->channels.params.xdp_prog)
2218 for (i = 0; i < channels->num; i++) {
2219 c = channels->c[i];
2238 new_params = priv->channels.params;
2276 new_params = priv->channels.params;
2319 u32 changes = wanted_flags ^ priv->channels.params.pflags;
2332 MLX5E_SET_PFLAG(&priv->channels.params, flag, enable);
2362 return priv->channels.params.pflags;
2376 info->data = priv->channels.params.num_channels;