@@ -619,25 +619,25 @@ static int bitmap_find_window(unsigned long *bitmap, int len,
619
619
return min (len , count );
620
620
}
621
621
622
- static void build_klm_umr (struct mlx5e_icosq * sq , struct mlx5e_umr_wqe * umr_wqe ,
623
- __be32 key , u16 offset , u16 klm_len , u16 wqe_bbs )
622
+ static void build_ksm_umr (struct mlx5e_icosq * sq , struct mlx5e_umr_wqe * umr_wqe ,
623
+ __be32 key , u16 offset , u16 ksm_len )
624
624
{
625
- memset (umr_wqe , 0 , offsetof(struct mlx5e_umr_wqe , inline_klms ));
625
+ memset (umr_wqe , 0 , offsetof(struct mlx5e_umr_wqe , inline_ksms ));
626
626
umr_wqe -> ctrl .opmod_idx_opcode =
627
627
cpu_to_be32 ((sq -> pc << MLX5_WQE_CTRL_WQE_INDEX_SHIFT ) |
628
628
MLX5_OPCODE_UMR );
629
629
umr_wqe -> ctrl .umr_mkey = key ;
630
630
umr_wqe -> ctrl .qpn_ds = cpu_to_be32 ((sq -> sqn << MLX5_WQE_CTRL_QPN_SHIFT )
631
- | MLX5E_KLM_UMR_DS_CNT ( klm_len ));
631
+ | MLX5E_KSM_UMR_DS_CNT ( ksm_len ));
632
632
umr_wqe -> uctrl .flags = MLX5_UMR_TRANSLATION_OFFSET_EN | MLX5_UMR_INLINE ;
633
633
umr_wqe -> uctrl .xlt_offset = cpu_to_be16 (offset );
634
- umr_wqe -> uctrl .xlt_octowords = cpu_to_be16 (klm_len );
634
+ umr_wqe -> uctrl .xlt_octowords = cpu_to_be16 (ksm_len );
635
635
umr_wqe -> uctrl .mkey_mask = cpu_to_be64 (MLX5_MKEY_MASK_FREE );
636
636
}
637
637
638
638
static int mlx5e_build_shampo_hd_umr (struct mlx5e_rq * rq ,
639
639
struct mlx5e_icosq * sq ,
640
- u16 klm_entries , u16 index )
640
+ u16 ksm_entries , u16 index )
641
641
{
642
642
struct mlx5e_shampo_hd * shampo = rq -> mpwqe .shampo ;
643
643
u16 entries , pi , header_offset , err , wqe_bbs , new_entries ;
@@ -650,20 +650,20 @@ static int mlx5e_build_shampo_hd_umr(struct mlx5e_rq *rq,
650
650
int headroom , i ;
651
651
652
652
headroom = rq -> buff .headroom ;
653
- new_entries = klm_entries - (shampo -> pi & (MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT - 1 ));
654
- entries = ALIGN (klm_entries , MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT );
655
- wqe_bbs = MLX5E_KLM_UMR_WQEBBS (entries );
653
+ new_entries = ksm_entries - (shampo -> pi & (MLX5_UMR_KSM_NUM_ENTRIES_ALIGNMENT - 1 ));
654
+ entries = ALIGN (ksm_entries , MLX5_UMR_KSM_NUM_ENTRIES_ALIGNMENT );
655
+ wqe_bbs = MLX5E_KSM_UMR_WQEBBS (entries );
656
656
pi = mlx5e_icosq_get_next_pi (sq , wqe_bbs );
657
657
umr_wqe = mlx5_wq_cyc_get_wqe (& sq -> wq , pi );
658
- build_klm_umr (sq , umr_wqe , shampo -> key , index , entries , wqe_bbs );
658
+ build_ksm_umr (sq , umr_wqe , shampo -> key , index , entries );
659
659
660
660
frag_page = & shampo -> pages [page_index ];
661
661
662
662
for (i = 0 ; i < entries ; i ++ , index ++ ) {
663
663
dma_info = & shampo -> info [index ];
664
- if (i >= klm_entries || (index < shampo -> pi && shampo -> pi - index <
665
- MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT ))
666
- goto update_klm ;
664
+ if (i >= ksm_entries || (index < shampo -> pi && shampo -> pi - index <
665
+ MLX5_UMR_KSM_NUM_ENTRIES_ALIGNMENT ))
666
+ goto update_ksm ;
667
667
header_offset = (index & (MLX5E_SHAMPO_WQ_HEADER_PER_PAGE - 1 )) <<
668
668
MLX5E_SHAMPO_LOG_MAX_HEADER_ENTRY_SIZE ;
669
669
if (!(header_offset & (PAGE_SIZE - 1 ))) {
@@ -683,12 +683,11 @@ static int mlx5e_build_shampo_hd_umr(struct mlx5e_rq *rq,
683
683
dma_info -> frag_page = frag_page ;
684
684
}
685
685
686
- update_klm :
687
- umr_wqe -> inline_klms [i ].bcount =
688
- cpu_to_be32 (MLX5E_RX_MAX_HEAD );
689
- umr_wqe -> inline_klms [i ].key = cpu_to_be32 (lkey );
690
- umr_wqe -> inline_klms [i ].va =
691
- cpu_to_be64 (dma_info -> addr + headroom );
686
+ update_ksm :
687
+ umr_wqe -> inline_ksms [i ] = (struct mlx5_ksm ) {
688
+ .key = cpu_to_be32 (lkey ),
689
+ .va = cpu_to_be64 (dma_info -> addr + headroom ),
690
+ };
692
691
}
693
692
694
693
sq -> db .wqe_info [pi ] = (struct mlx5e_icosq_wqe_info ) {
@@ -720,37 +719,37 @@ static int mlx5e_build_shampo_hd_umr(struct mlx5e_rq *rq,
720
719
static int mlx5e_alloc_rx_hd_mpwqe (struct mlx5e_rq * rq )
721
720
{
722
721
struct mlx5e_shampo_hd * shampo = rq -> mpwqe .shampo ;
723
- u16 klm_entries , num_wqe , index , entries_before ;
722
+ u16 ksm_entries , num_wqe , index , entries_before ;
724
723
struct mlx5e_icosq * sq = rq -> icosq ;
725
- int i , err , max_klm_entries , len ;
724
+ int i , err , max_ksm_entries , len ;
726
725
727
- max_klm_entries = MLX5E_MAX_KLM_PER_WQE (rq -> mdev );
728
- klm_entries = bitmap_find_window (shampo -> bitmap ,
726
+ max_ksm_entries = MLX5E_MAX_KSM_PER_WQE (rq -> mdev );
727
+ ksm_entries = bitmap_find_window (shampo -> bitmap ,
729
728
shampo -> hd_per_wqe ,
730
729
shampo -> hd_per_wq , shampo -> pi );
731
- if (!klm_entries )
730
+ if (!ksm_entries )
732
731
return 0 ;
733
732
734
- klm_entries += (shampo -> pi & (MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT - 1 ));
735
- index = ALIGN_DOWN (shampo -> pi , MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT );
733
+ ksm_entries += (shampo -> pi & (MLX5_UMR_KSM_NUM_ENTRIES_ALIGNMENT - 1 ));
734
+ index = ALIGN_DOWN (shampo -> pi , MLX5_UMR_KSM_NUM_ENTRIES_ALIGNMENT );
736
735
entries_before = shampo -> hd_per_wq - index ;
737
736
738
- if (unlikely (entries_before < klm_entries ))
739
- num_wqe = DIV_ROUND_UP (entries_before , max_klm_entries ) +
740
- DIV_ROUND_UP (klm_entries - entries_before , max_klm_entries );
737
+ if (unlikely (entries_before < ksm_entries ))
738
+ num_wqe = DIV_ROUND_UP (entries_before , max_ksm_entries ) +
739
+ DIV_ROUND_UP (ksm_entries - entries_before , max_ksm_entries );
741
740
else
742
- num_wqe = DIV_ROUND_UP (klm_entries , max_klm_entries );
741
+ num_wqe = DIV_ROUND_UP (ksm_entries , max_ksm_entries );
743
742
744
743
for (i = 0 ; i < num_wqe ; i ++ ) {
745
- len = (klm_entries > max_klm_entries ) ? max_klm_entries :
746
- klm_entries ;
744
+ len = (ksm_entries > max_ksm_entries ) ? max_ksm_entries :
745
+ ksm_entries ;
747
746
if (unlikely (index + len > shampo -> hd_per_wq ))
748
747
len = shampo -> hd_per_wq - index ;
749
748
err = mlx5e_build_shampo_hd_umr (rq , sq , len , index );
750
749
if (unlikely (err ))
751
750
return err ;
752
751
index = (index + len ) & (rq -> mpwqe .shampo -> hd_per_wq - 1 );
753
- klm_entries -= len ;
752
+ ksm_entries -= len ;
754
753
}
755
754
756
755
return 0 ;
0 commit comments