Lines Matching refs:fbc
925 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc_offset() argument
927 fbc->frags = frags; in mlx5_init_fbc_offset()
928 fbc->log_stride = log_stride; in mlx5_init_fbc_offset()
929 fbc->log_sz = log_sz; in mlx5_init_fbc_offset()
930 fbc->sz_m1 = (1 << fbc->log_sz) - 1; in mlx5_init_fbc_offset()
931 fbc->log_frag_strides = PAGE_SHIFT - fbc->log_stride; in mlx5_init_fbc_offset()
932 fbc->frag_sz_m1 = (1 << fbc->log_frag_strides) - 1; in mlx5_init_fbc_offset()
933 fbc->strides_offset = strides_offset; in mlx5_init_fbc_offset()
938 struct mlx5_frag_buf_ctrl *fbc) in mlx5_init_fbc() argument
940 mlx5_init_fbc_offset(frags, log_stride, log_sz, 0, fbc); in mlx5_init_fbc()
943 static inline void *mlx5_frag_buf_get_wqe(struct mlx5_frag_buf_ctrl *fbc, in mlx5_frag_buf_get_wqe() argument
948 ix += fbc->strides_offset; in mlx5_frag_buf_get_wqe()
949 frag = ix >> fbc->log_frag_strides; in mlx5_frag_buf_get_wqe()
951 return fbc->frags[frag].buf + ((fbc->frag_sz_m1 & ix) << fbc->log_stride); in mlx5_frag_buf_get_wqe()
955 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
957 u32 last_frag_stride_idx = (ix + fbc->strides_offset) | fbc->frag_sz_m1; in mlx5_frag_buf_get_idx_last_contig_stride()
959 return min_t(u32, last_frag_stride_idx - fbc->strides_offset, fbc->sz_m1); in mlx5_frag_buf_get_idx_last_contig_stride()