@@ -117,7 +117,7 @@ void mlx5e_update_stats(struct mlx5e_priv *priv)
117
117
s -> rx_csum_none += rq_stats -> csum_none ;
118
118
s -> rx_wqe_err += rq_stats -> wqe_err ;
119
119
120
- for (j = 0 ; j < priv -> num_tc ; j ++ ) {
120
+ for (j = 0 ; j < priv -> params . num_tc ; j ++ ) {
121
121
sq_stats = & priv -> channel [i ]-> sq [j ].stats ;
122
122
123
123
s -> tso_packets += sq_stats -> tso_packets ;
@@ -938,7 +938,7 @@ static int mlx5e_open_channel(struct mlx5e_priv *priv, int ix,
938
938
c -> pdev = & priv -> mdev -> pdev -> dev ;
939
939
c -> netdev = priv -> netdev ;
940
940
c -> mkey_be = cpu_to_be32 (priv -> mr .key );
941
- c -> num_tc = priv -> num_tc ;
941
+ c -> num_tc = priv -> params . num_tc ;
942
942
943
943
mlx5e_build_tc_to_txq_map (c , priv -> params .num_channels );
944
944
@@ -1069,27 +1069,28 @@ static void mlx5e_build_channel_param(struct mlx5e_priv *priv,
1069
1069
static int mlx5e_open_channels (struct mlx5e_priv * priv )
1070
1070
{
1071
1071
struct mlx5e_channel_param cparam ;
1072
+ int nch = priv -> params .num_channels ;
1072
1073
int err = - ENOMEM ;
1073
1074
int i ;
1074
1075
int j ;
1075
1076
1076
- priv -> channel = kcalloc (priv -> params . num_channels ,
1077
- sizeof ( struct mlx5e_channel * ), GFP_KERNEL );
1077
+ priv -> channel = kcalloc (nch , sizeof ( struct mlx5e_channel * ) ,
1078
+ GFP_KERNEL );
1078
1079
1079
- priv -> txq_to_sq_map = kcalloc (priv -> params . num_channels * priv -> num_tc ,
1080
+ priv -> txq_to_sq_map = kcalloc (nch * priv -> params . num_tc ,
1080
1081
sizeof (struct mlx5e_sq * ), GFP_KERNEL );
1081
1082
1082
1083
if (!priv -> channel || !priv -> txq_to_sq_map )
1083
1084
goto err_free_txq_to_sq_map ;
1084
1085
1085
1086
mlx5e_build_channel_param (priv , & cparam );
1086
- for (i = 0 ; i < priv -> params . num_channels ; i ++ ) {
1087
+ for (i = 0 ; i < nch ; i ++ ) {
1087
1088
err = mlx5e_open_channel (priv , i , & cparam , & priv -> channel [i ]);
1088
1089
if (err )
1089
1090
goto err_close_channels ;
1090
1091
}
1091
1092
1092
- for (j = 0 ; j < priv -> params . num_channels ; j ++ ) {
1093
+ for (j = 0 ; j < nch ; j ++ ) {
1093
1094
err = mlx5e_wait_for_min_rx_wqes (& priv -> channel [j ]-> rq );
1094
1095
if (err )
1095
1096
goto err_close_channels ;
@@ -1140,11 +1141,10 @@ static void mlx5e_close_tis(struct mlx5e_priv *priv, int tc)
1140
1141
1141
1142
static int mlx5e_open_tises (struct mlx5e_priv * priv )
1142
1143
{
1143
- int num_tc = priv -> num_tc ;
1144
1144
int err ;
1145
1145
int tc ;
1146
1146
1147
- for (tc = 0 ; tc < num_tc ; tc ++ ) {
1147
+ for (tc = 0 ; tc < priv -> params . num_tc ; tc ++ ) {
1148
1148
err = mlx5e_open_tis (priv , tc );
1149
1149
if (err )
1150
1150
goto err_close_tises ;
@@ -1161,10 +1161,9 @@ static int mlx5e_open_tises(struct mlx5e_priv *priv)
1161
1161
1162
1162
static void mlx5e_close_tises (struct mlx5e_priv * priv )
1163
1163
{
1164
- int num_tc = priv -> num_tc ;
1165
1164
int tc ;
1166
1165
1167
- for (tc = 0 ; tc < num_tc ; tc ++ )
1166
+ for (tc = 0 ; tc < priv -> params . num_tc ; tc ++ )
1168
1167
mlx5e_close_tis (priv , tc );
1169
1168
}
1170
1169
@@ -1786,7 +1785,6 @@ static void mlx5e_build_netdev_priv(struct mlx5_core_dev *mdev,
1786
1785
priv -> mdev = mdev ;
1787
1786
priv -> netdev = netdev ;
1788
1787
priv -> params .num_channels = num_comp_vectors ;
1789
- priv -> num_tc = priv -> params .num_tc ;
1790
1788
priv -> default_vlan_prio = priv -> params .default_vlan_prio ;
1791
1789
1792
1790
spin_lock_init (& priv -> async_events_spinlock );
@@ -1811,9 +1809,8 @@ static void mlx5e_build_netdev(struct net_device *netdev)
1811
1809
1812
1810
SET_NETDEV_DEV (netdev , & mdev -> pdev -> dev );
1813
1811
1814
- if (priv -> num_tc > 1 ) {
1812
+ if (priv -> params . num_tc > 1 )
1815
1813
mlx5e_netdev_ops .ndo_select_queue = mlx5e_select_queue ;
1816
- }
1817
1814
1818
1815
netdev -> netdev_ops = & mlx5e_netdev_ops ;
1819
1816
netdev -> watchdog_timeo = 15 * HZ ;
0 commit comments