Lines Matching refs:fbc
936 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc_offset() argument
938 fbc->frags = frags; in mlx5_init_fbc_offset()
939 fbc->log_stride = log_stride; in mlx5_init_fbc_offset()
940 fbc->log_sz = log_sz; in mlx5_init_fbc_offset()
941 fbc->sz_m1 = (1 << fbc->log_sz) - 1; in mlx5_init_fbc_offset()
942 fbc->log_frag_strides = PAGE_SHIFT - fbc->log_stride; in mlx5_init_fbc_offset()
943 fbc->frag_sz_m1 = (1 << fbc->log_frag_strides) - 1; in mlx5_init_fbc_offset()
944 fbc->strides_offset = strides_offset; in mlx5_init_fbc_offset()
949 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc() argument
951 mlx5_init_fbc_offset(frags, log_stride, log_sz, 0, fbc); in mlx5_init_fbc()
954 static inline void *mlx5_frag_buf_get_wqe(struct mlx5_frag_buf_ctrl *fbc, in mlx5_frag_buf_get_wqe() argument
959 ix += fbc->strides_offset; in mlx5_frag_buf_get_wqe()
960 frag = ix >> fbc->log_frag_strides; in mlx5_frag_buf_get_wqe()
962 return fbc->frags[frag].buf + ((fbc->frag_sz_m1 & ix) << fbc->log_stride); in mlx5_frag_buf_get_wqe()
966 mlx5_frag_buf_get_idx_last_contig_stride(struct mlx5_frag_buf_ctrl *fbc, u32 ix) in mlx5_frag_buf_get_idx_last_contig_stride() argument
968 u32 last_frag_stride_idx = (ix + fbc->strides_offset) | fbc->frag_sz_m1; in mlx5_frag_buf_get_idx_last_contig_stride()
970 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1); in mlx5_frag_buf_get_idx_last_contig_stride()