Lines Matching refs:fbc
962 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc_offset() argument
964 fbc->frags = frags; in mlx5_init_fbc_offset()
965 fbc->log_stride = log_stride; in mlx5_init_fbc_offset()
966 fbc->log_sz = log_sz; in mlx5_init_fbc_offset()
967 fbc->sz_m1 = (1 << fbc->log_sz) - 1; in mlx5_init_fbc_offset()
968 fbc->log_frag_strides = PAGE_SHIFT - fbc->log_stride; in mlx5_init_fbc_offset()
969 fbc->frag_sz_m1 = (1 << fbc->log_frag_strides) - 1; in mlx5_init_fbc_offset()
970 fbc->strides_offset = strides_offset; in mlx5_init_fbc_offset()
975 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc() argument
977 mlx5_init_fbc_offset(frags, log_stride, log_sz, 0, fbc); in mlx5_init_fbc()
980 static inline void *mlx5_frag_buf_get_wqe(struct mlx5_frag_buf_ctrl *fbc, in mlx5_frag_buf_get_wqe() argument
985 ix += fbc->strides_offset; in mlx5_frag_buf_get_wqe()
986 frag = ix >> fbc->log_frag_strides; in mlx5_frag_buf_get_wqe()
988 return fbc->frags[frag].buf + ((fbc->frag_sz_m1 & ix) << fbc->log_stride); in mlx5_frag_buf_get_wqe()
992 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
994 u32 last_frag_stride_idx = (ix + fbc->strides_offset) | fbc->frag_sz_m1; in mlx5_frag_buf_get_idx_last_contig_stride()
996 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1); in mlx5_frag_buf_get_idx_last_contig_stride()