net/mlx5e: Take RQT out of TIR and group RX resources
[sfrench/cifs-2.6.git] / drivers / net / ethernet / mellanox / mlx5 / core / en_arfs.c
index b1efbcbb2573286c840aeefeff70fb55395611ce..db6c6a96a6c9e0df2298ffee12c75a59356f8d12 100644 (file)
@@ -192,7 +192,6 @@ static int arfs_add_default_rule(struct mlx5e_priv *priv,
                                 enum arfs_type type)
 {
        struct arfs_table *arfs_t = &priv->fs.arfs->arfs_tables[type];
-       struct mlx5e_tir *tir = priv->rx_res->indir_tirs;
        struct mlx5_flow_destination dest = {};
        MLX5_DECLARE_FLOW_ACT(flow_act);
        enum mlx5e_traffic_types tt;
@@ -209,7 +208,7 @@ static int arfs_add_default_rule(struct mlx5e_priv *priv,
        /* FIXME: Must use mlx5e_ttc_get_default_dest(),
         * but can't since TTC default is not setup yet !
         */
-       dest.tir_num = tir[tt].tirn;
+       dest.tir_num = priv->rx_res->rss[tt].indir_tir.tirn;
        arfs_t->default_rule = mlx5_add_flow_rules(arfs_t->ft.t, NULL,
                                                   &flow_act,
                                                   &dest, 1);
@@ -553,7 +552,7 @@ static struct mlx5_flow_handle *arfs_add_rule(struct mlx5e_priv *priv,
                       16);
        }
        dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR;
-       dest.tir_num = priv->rx_res->direct_tirs[arfs_rule->rxq].tirn;
+       dest.tir_num = priv->rx_res->channels[arfs_rule->rxq].direct_tir.tirn;
        rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1);
        if (IS_ERR(rule)) {
                err = PTR_ERR(rule);
@@ -576,7 +575,7 @@ static void arfs_modify_rule_rq(struct mlx5e_priv *priv,
        int err = 0;
 
        dst.type = MLX5_FLOW_DESTINATION_TYPE_TIR;
-       dst.tir_num = priv->rx_res->direct_tirs[rxq].tirn;
+       dst.tir_num = priv->rx_res->channels[rxq].direct_tir.tirn;
        err =  mlx5_modify_rule_destination(rule, &dst, NULL);
        if (err)
                netdev_warn(priv->netdev,