Lines Matching refs:shampo

642 	struct mlx5e_shampo_hd *shampo = rq->mpwqe.shampo;
645 u16 page_index = shampo->curr_page_index;
647 u64 addr = shampo->last_addr;
653 new_entries = klm_entries - (shampo->pi & (MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT - 1));
658 build_klm_umr(sq, umr_wqe, shampo->key, index, entries, wqe_bbs);
660 frag_page = &shampo->pages[page_index];
663 dma_info = &shampo->info[index];
664 if (i >= klm_entries || (index < shampo->pi && shampo->pi - index <
670 page_index = (page_index + 1) & (shampo->hd_per_wq - 1);
671 frag_page = &shampo->pages[page_index];
697 .shampo.len = new_entries,
700 shampo->pi = (shampo->pi + new_entries) & (shampo->hd_per_wq - 1);
701 shampo->curr_page_index = page_index;
702 shampo->last_addr = addr;
710 dma_info = &shampo->info[--index];
722 struct mlx5e_shampo_hd *shampo = rq->mpwqe.shampo;
728 klm_entries = bitmap_find_window(shampo->bitmap,
729 shampo->hd_per_wqe,
730 shampo->hd_per_wq, shampo->pi);
734 klm_entries += (shampo->pi & (MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT - 1));
735 index = ALIGN_DOWN(shampo->pi, MLX5_UMR_KLM_NUM_ENTRIES_ALIGNMENT);
736 entries_before = shampo->hd_per_wq - index;
747 if (unlikely(index + len > shampo->hd_per_wq))
748 len = shampo->hd_per_wq - index;
752 index = (index + len) & (rq->mpwqe.shampo->hd_per_wq - 1);
850 struct mlx5e_shampo_hd *shampo = rq->mpwqe.shampo;
852 int hd_per_wq = shampo->hd_per_wq;
860 if (close && !test_bit(index, shampo->bitmap))
863 hd_info = &shampo->info[index];
875 bitmap_clear(shampo->bitmap, start, hd_per_wq - start);
879 bitmap_clear(shampo->bitmap, start, len);
978 struct mlx5e_shampo_hd *shampo;
983 shampo = rq->mpwqe.shampo;
984 end = shampo->hd_per_wq;
985 from = shampo->ci;
986 if (from + len > shampo->hd_per_wq) {
988 bitmap_set(shampo->bitmap, from, end - from);
992 bitmap_set(shampo->bitmap, from, len);
993 shampo->ci = (shampo->ci + umr.len) & (shampo->hd_per_wq - 1);
1053 mlx5e_handle_shampo_hd_umr(wi->shampo, sq);
1218 struct mlx5e_dma_info *last_head = &rq->mpwqe.shampo->info[header_index];
2200 struct mlx5e_dma_info *head = &rq->mpwqe.shampo->info[header_index];
2202 u16 head_size = cqe->shampo.header_size;
2285 struct mlx5e_shampo_hd *shampo = rq->mpwqe.shampo;
2286 u64 addr = shampo->info[header_index].addr;
2289 struct mlx5e_dma_info *dma_info = &shampo->info[header_index];
2294 bitmap_clear(shampo->bitmap, header_index, 1);
2299 u16 data_bcnt = mpwrq_get_cqe_byte_cnt(cqe) - cqe->shampo.header_size;
2301 u32 wqe_offset = be32_to_cpu(cqe->shampo.data_offset);
2307 u16 head_size = cqe->shampo.header_size;
2309 bool flush = cqe->shampo.flush;
2310 bool match = cqe->shampo.match;