Lines Matching refs:fbc
850 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc_offset() argument
852 fbc->frags = frags; in mlx5_init_fbc_offset()
853 fbc->log_stride = log_stride; in mlx5_init_fbc_offset()
854 fbc->log_sz = log_sz; in mlx5_init_fbc_offset()
855 fbc->sz_m1 = (1 << fbc->log_sz) - 1; in mlx5_init_fbc_offset()
856 fbc->log_frag_strides = PAGE_SHIFT - fbc->log_stride; in mlx5_init_fbc_offset()
857 fbc->frag_sz_m1 = (1 << fbc->log_frag_strides) - 1; in mlx5_init_fbc_offset()
858 fbc->strides_offset = strides_offset; in mlx5_init_fbc_offset()
863 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc() argument
865 mlx5_init_fbc_offset(frags, log_stride, log_sz, 0, fbc); in mlx5_init_fbc()
868 static inline void *mlx5_frag_buf_get_wqe(struct mlx5_frag_buf_ctrl *fbc, in mlx5_frag_buf_get_wqe() argument
873 ix += fbc->strides_offset; in mlx5_frag_buf_get_wqe()
874 frag = ix >> fbc->log_frag_strides; in mlx5_frag_buf_get_wqe()
876 return fbc->frags[frag].buf + ((fbc->frag_sz_m1 & ix) << fbc->log_stride); in mlx5_frag_buf_get_wqe()
880 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
882 u32 last_frag_stride_idx = (ix + fbc->strides_offset) | fbc->frag_sz_m1; in mlx5_frag_buf_get_idx_last_contig_stride()
884 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1); in mlx5_frag_buf_get_idx_last_contig_stride()