@@ -174,15 +174,15 @@ u16 mlx5e_calc_sq_stop_room(struct mlx5_core_dev *mdev, struct mlx5e_params *par
174
174
return stop_room ;
175
175
}
176
176
177
- int mlx5e_validate_params (struct mlx5e_priv * priv , struct mlx5e_params * params )
177
+ int mlx5e_validate_params (struct mlx5_core_dev * mdev , struct mlx5e_params * params )
178
178
{
179
179
size_t sq_size = 1 << params -> log_sq_size ;
180
180
u16 stop_room ;
181
181
182
- stop_room = mlx5e_calc_sq_stop_room (priv -> mdev , params );
182
+ stop_room = mlx5e_calc_sq_stop_room (mdev , params );
183
183
if (stop_room >= sq_size ) {
184
- netdev_err ( priv -> netdev , "Stop room %u is bigger than the SQ size %zu\n" ,
185
- stop_room , sq_size );
184
+ mlx5_core_err ( mdev , "Stop room %u is bigger than the SQ size %zu\n" ,
185
+ stop_room , sq_size );
186
186
return - EINVAL ;
187
187
}
188
188
@@ -421,22 +421,21 @@ static u8 mlx5e_get_rqwq_log_stride(u8 wq_type, int ndsegs)
421
421
return order_base_2 (sz );
422
422
}
423
423
424
- static void mlx5e_build_common_cq_param (struct mlx5e_priv * priv ,
424
+ static void mlx5e_build_common_cq_param (struct mlx5_core_dev * mdev ,
425
425
struct mlx5e_cq_param * param )
426
426
{
427
427
void * cqc = param -> cqc ;
428
428
429
- MLX5_SET (cqc , cqc , uar_page , priv -> mdev -> priv .uar -> index );
430
- if (MLX5_CAP_GEN (priv -> mdev , cqe_128_always ) && cache_line_size () >= 128 )
429
+ MLX5_SET (cqc , cqc , uar_page , mdev -> priv .uar -> index );
430
+ if (MLX5_CAP_GEN (mdev , cqe_128_always ) && cache_line_size () >= 128 )
431
431
MLX5_SET (cqc , cqc , cqe_sz , CQE_STRIDE_128_PAD );
432
432
}
433
433
434
- static void mlx5e_build_rx_cq_param (struct mlx5e_priv * priv ,
434
+ static void mlx5e_build_rx_cq_param (struct mlx5_core_dev * mdev ,
435
435
struct mlx5e_params * params ,
436
436
struct mlx5e_xsk_param * xsk ,
437
437
struct mlx5e_cq_param * param )
438
438
{
439
- struct mlx5_core_dev * mdev = priv -> mdev ;
440
439
bool hw_stridx = false;
441
440
void * cqc = param -> cqc ;
442
441
u8 log_cq_size ;
@@ -458,17 +457,16 @@ static void mlx5e_build_rx_cq_param(struct mlx5e_priv *priv,
458
457
MLX5_SET (cqc , cqc , cqe_comp_en , 1 );
459
458
}
460
459
461
- mlx5e_build_common_cq_param (priv , param );
460
+ mlx5e_build_common_cq_param (mdev , param );
462
461
param -> cq_period_mode = params -> rx_cq_moderation .cq_period_mode ;
463
462
}
464
463
465
- void mlx5e_build_rq_param (struct mlx5e_priv * priv ,
464
+ void mlx5e_build_rq_param (struct mlx5_core_dev * mdev ,
466
465
struct mlx5e_params * params ,
467
466
struct mlx5e_xsk_param * xsk ,
468
467
u16 q_counter ,
469
468
struct mlx5e_rq_param * param )
470
469
{
471
- struct mlx5_core_dev * mdev = priv -> mdev ;
472
470
void * rqc = param -> rqc ;
473
471
void * wq = MLX5_ADDR_OF (rqc , rqc , wq );
474
472
int ndsegs = 1 ;
@@ -499,14 +497,13 @@ void mlx5e_build_rq_param(struct mlx5e_priv *priv,
499
497
MLX5_SET (rqc , rqc , scatter_fcs , params -> scatter_fcs_en );
500
498
501
499
param -> wq .buf_numa_node = dev_to_node (mlx5_core_dma_dev (mdev ));
502
- mlx5e_build_rx_cq_param (priv , params , xsk , & param -> cqp );
500
+ mlx5e_build_rx_cq_param (mdev , params , xsk , & param -> cqp );
503
501
}
504
502
505
- void mlx5e_build_drop_rq_param (struct mlx5e_priv * priv ,
503
+ void mlx5e_build_drop_rq_param (struct mlx5_core_dev * mdev ,
506
504
u16 q_counter ,
507
505
struct mlx5e_rq_param * param )
508
506
{
509
- struct mlx5_core_dev * mdev = priv -> mdev ;
510
507
void * rqc = param -> rqc ;
511
508
void * wq = MLX5_ADDR_OF (rqc , rqc , wq );
512
509
@@ -518,56 +515,57 @@ void mlx5e_build_drop_rq_param(struct mlx5e_priv *priv,
518
515
param -> wq .buf_numa_node = dev_to_node (mlx5_core_dma_dev (mdev ));
519
516
}
520
517
521
- void mlx5e_build_tx_cq_param (struct mlx5e_priv * priv ,
518
+ void mlx5e_build_tx_cq_param (struct mlx5_core_dev * mdev ,
522
519
struct mlx5e_params * params ,
523
520
struct mlx5e_cq_param * param )
524
521
{
525
522
void * cqc = param -> cqc ;
526
523
527
524
MLX5_SET (cqc , cqc , log_cq_size , params -> log_sq_size );
528
525
529
- mlx5e_build_common_cq_param (priv , param );
526
+ mlx5e_build_common_cq_param (mdev , param );
530
527
param -> cq_period_mode = params -> tx_cq_moderation .cq_period_mode ;
531
528
}
532
529
533
- void mlx5e_build_sq_param_common (struct mlx5e_priv * priv ,
530
+ void mlx5e_build_sq_param_common (struct mlx5_core_dev * mdev ,
534
531
struct mlx5e_sq_param * param )
535
532
{
536
533
void * sqc = param -> sqc ;
537
534
void * wq = MLX5_ADDR_OF (sqc , sqc , wq );
538
535
539
536
MLX5_SET (wq , wq , log_wq_stride , ilog2 (MLX5_SEND_WQE_BB ));
540
- MLX5_SET (wq , wq , pd , priv -> mdev -> mlx5e_res .hw_objs .pdn );
537
+ MLX5_SET (wq , wq , pd , mdev -> mlx5e_res .hw_objs .pdn );
541
538
542
- param -> wq .buf_numa_node = dev_to_node (mlx5_core_dma_dev (priv -> mdev ));
539
+ param -> wq .buf_numa_node = dev_to_node (mlx5_core_dma_dev (mdev ));
543
540
}
544
541
545
- void mlx5e_build_sq_param (struct mlx5e_priv * priv , struct mlx5e_params * params ,
542
+ void mlx5e_build_sq_param (struct mlx5_core_dev * mdev ,
543
+ struct mlx5e_params * params ,
546
544
struct mlx5e_sq_param * param )
547
545
{
548
546
void * sqc = param -> sqc ;
549
547
void * wq = MLX5_ADDR_OF (sqc , sqc , wq );
550
548
bool allow_swp ;
551
549
552
- allow_swp = mlx5_geneve_tx_allowed (priv -> mdev ) ||
553
- !!MLX5_IPSEC_DEV (priv -> mdev );
554
- mlx5e_build_sq_param_common (priv , param );
550
+ allow_swp = mlx5_geneve_tx_allowed (mdev ) ||
551
+ !!MLX5_IPSEC_DEV (mdev );
552
+ mlx5e_build_sq_param_common (mdev , param );
555
553
MLX5_SET (wq , wq , log_wq_sz , params -> log_sq_size );
556
554
MLX5_SET (sqc , sqc , allow_swp , allow_swp );
557
555
param -> is_mpw = MLX5E_GET_PFLAG (params , MLX5E_PFLAG_SKB_TX_MPWQE );
558
- param -> stop_room = mlx5e_calc_sq_stop_room (priv -> mdev , params );
559
- mlx5e_build_tx_cq_param (priv , params , & param -> cqp );
556
+ param -> stop_room = mlx5e_calc_sq_stop_room (mdev , params );
557
+ mlx5e_build_tx_cq_param (mdev , params , & param -> cqp );
560
558
}
561
559
562
- static void mlx5e_build_ico_cq_param (struct mlx5e_priv * priv ,
560
+ static void mlx5e_build_ico_cq_param (struct mlx5_core_dev * mdev ,
563
561
u8 log_wq_size ,
564
562
struct mlx5e_cq_param * param )
565
563
{
566
564
void * cqc = param -> cqc ;
567
565
568
566
MLX5_SET (cqc , cqc , log_cq_size , log_wq_size );
569
567
570
- mlx5e_build_common_cq_param (priv , param );
568
+ mlx5e_build_common_cq_param (mdev , param );
571
569
572
570
param -> cq_period_mode = DIM_CQ_PERIOD_MODE_START_FROM_EQE ;
573
571
}
@@ -592,69 +590,69 @@ static u8 mlx5e_build_icosq_log_wq_sz(struct mlx5e_params *params,
592
590
}
593
591
}
594
592
595
- static u8 mlx5e_build_async_icosq_log_wq_sz (struct net_device * netdev )
593
+ static u8 mlx5e_build_async_icosq_log_wq_sz (struct mlx5_core_dev * mdev )
596
594
{
597
- if (netdev -> hw_features & NETIF_F_HW_TLS_RX )
595
+ if (mlx5_accel_is_ktls_rx ( mdev ) )
598
596
return MLX5E_PARAMS_DEFAULT_LOG_SQ_SIZE ;
599
597
600
598
return MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE ;
601
599
}
602
600
603
- static void mlx5e_build_icosq_param (struct mlx5e_priv * priv ,
601
+ static void mlx5e_build_icosq_param (struct mlx5_core_dev * mdev ,
604
602
u8 log_wq_size ,
605
603
struct mlx5e_sq_param * param )
606
604
{
607
605
void * sqc = param -> sqc ;
608
606
void * wq = MLX5_ADDR_OF (sqc , sqc , wq );
609
607
610
- mlx5e_build_sq_param_common (priv , param );
608
+ mlx5e_build_sq_param_common (mdev , param );
611
609
612
610
MLX5_SET (wq , wq , log_wq_sz , log_wq_size );
613
- MLX5_SET (sqc , sqc , reg_umr , MLX5_CAP_ETH (priv -> mdev , reg_umr_sq ));
614
- mlx5e_build_ico_cq_param (priv , log_wq_size , & param -> cqp );
611
+ MLX5_SET (sqc , sqc , reg_umr , MLX5_CAP_ETH (mdev , reg_umr_sq ));
612
+ mlx5e_build_ico_cq_param (mdev , log_wq_size , & param -> cqp );
615
613
}
616
614
617
- static void mlx5e_build_async_icosq_param (struct mlx5e_priv * priv ,
615
+ static void mlx5e_build_async_icosq_param (struct mlx5_core_dev * mdev ,
618
616
u8 log_wq_size ,
619
617
struct mlx5e_sq_param * param )
620
618
{
621
619
void * sqc = param -> sqc ;
622
620
void * wq = MLX5_ADDR_OF (sqc , sqc , wq );
623
621
624
- mlx5e_build_sq_param_common (priv , param );
622
+ mlx5e_build_sq_param_common (mdev , param );
625
623
param -> stop_room = mlx5e_stop_room_for_wqe (1 ); /* for XSK NOP */
626
- MLX5_SET (sqc , sqc , reg_umr , MLX5_CAP_ETH (priv -> mdev , reg_umr_sq ));
624
+ MLX5_SET (sqc , sqc , reg_umr , MLX5_CAP_ETH (mdev , reg_umr_sq ));
627
625
MLX5_SET (wq , wq , log_wq_sz , log_wq_size );
628
- mlx5e_build_ico_cq_param (priv , log_wq_size , & param -> cqp );
626
+ mlx5e_build_ico_cq_param (mdev , log_wq_size , & param -> cqp );
629
627
}
630
628
631
- void mlx5e_build_xdpsq_param (struct mlx5e_priv * priv ,
629
+ void mlx5e_build_xdpsq_param (struct mlx5_core_dev * mdev ,
632
630
struct mlx5e_params * params ,
633
631
struct mlx5e_sq_param * param )
634
632
{
635
633
void * sqc = param -> sqc ;
636
634
void * wq = MLX5_ADDR_OF (sqc , sqc , wq );
637
635
638
- mlx5e_build_sq_param_common (priv , param );
636
+ mlx5e_build_sq_param_common (mdev , param );
639
637
MLX5_SET (wq , wq , log_wq_sz , params -> log_sq_size );
640
638
param -> is_mpw = MLX5E_GET_PFLAG (params , MLX5E_PFLAG_XDP_TX_MPWQE );
641
- mlx5e_build_tx_cq_param (priv , params , & param -> cqp );
639
+ mlx5e_build_tx_cq_param (mdev , params , & param -> cqp );
642
640
}
643
641
644
- void mlx5e_build_channel_param (struct mlx5e_priv * priv ,
642
+ void mlx5e_build_channel_param (struct mlx5_core_dev * mdev ,
645
643
struct mlx5e_params * params ,
646
644
u16 q_counter ,
647
645
struct mlx5e_channel_param * cparam )
648
646
{
649
647
u8 icosq_log_wq_sz , async_icosq_log_wq_sz ;
650
648
651
- mlx5e_build_rq_param (priv , params , NULL , q_counter , & cparam -> rq );
649
+ mlx5e_build_rq_param (mdev , params , NULL , q_counter , & cparam -> rq );
652
650
653
651
icosq_log_wq_sz = mlx5e_build_icosq_log_wq_sz (params , & cparam -> rq );
654
- async_icosq_log_wq_sz = mlx5e_build_async_icosq_log_wq_sz (priv -> netdev );
652
+ async_icosq_log_wq_sz = mlx5e_build_async_icosq_log_wq_sz (mdev );
655
653
656
- mlx5e_build_sq_param (priv , params , & cparam -> txq_sq );
657
- mlx5e_build_xdpsq_param (priv , params , & cparam -> xdp_sq );
658
- mlx5e_build_icosq_param (priv , icosq_log_wq_sz , & cparam -> icosq );
659
- mlx5e_build_async_icosq_param (priv , async_icosq_log_wq_sz , & cparam -> async_icosq );
654
+ mlx5e_build_sq_param (mdev , params , & cparam -> txq_sq );
655
+ mlx5e_build_xdpsq_param (mdev , params , & cparam -> xdp_sq );
656
+ mlx5e_build_icosq_param (mdev , icosq_log_wq_sz , & cparam -> icosq );
657
+ mlx5e_build_async_icosq_param (mdev , async_icosq_log_wq_sz , & cparam -> async_icosq );
660
658
}
0 commit comments