Lines Matching refs:STbuffer
664 struct st_buffer *STbuffer; in write_behind_check() local
669 STbuffer = STp->buffer; in write_behind_check()
670 if (!STbuffer->writing) in write_behind_check()
681 SRpnt = STbuffer->last_SRpnt; in write_behind_check()
682 STbuffer->last_SRpnt = NULL; in write_behind_check()
688 STbuffer->buffer_bytes -= STbuffer->writing; in write_behind_check()
694 STps->drv_block += STbuffer->writing / STp->block_size; in write_behind_check()
697 cmdstatp = &STbuffer->cmdstat; in write_behind_check()
698 if (STbuffer->syscall_result) { in write_behind_check()
712 STbuffer->writing = 0; in write_behind_check()
717 STbuffer->cmdstat.midlevel_result, retval);) /* end DEB */ in write_behind_check()
3902 static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dma) in enlarge_buffer() argument
3907 if (new_size <= STbuffer->buffer_size) in enlarge_buffer()
3910 if (STbuffer->buffer_size <= PAGE_SIZE) in enlarge_buffer()
3911 normalize_buffer(STbuffer); /* Avoid extra segment */ in enlarge_buffer()
3913 max_segs = STbuffer->use_sg; in enlarge_buffer()
3919 if (STbuffer->cleared) in enlarge_buffer()
3922 if (STbuffer->frp_segs) { in enlarge_buffer()
3923 order = STbuffer->reserved_page_order; in enlarge_buffer()
3931 STbuffer->reserved_page_order = order; in enlarge_buffer()
3936 normalize_buffer(STbuffer); in enlarge_buffer()
3937 return enlarge_buffer(STbuffer, new_size, need_dma); in enlarge_buffer()
3940 for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size; in enlarge_buffer()
3946 DEB(STbuffer->buffer_size = got); in enlarge_buffer()
3947 normalize_buffer(STbuffer); in enlarge_buffer()
3951 STbuffer->frp_segs += 1; in enlarge_buffer()
3953 STbuffer->buffer_size = got; in enlarge_buffer()
3954 STbuffer->reserved_pages[segs] = page; in enlarge_buffer()
3957 STbuffer->b_data = page_address(STbuffer->reserved_pages[0]); in enlarge_buffer()
3976 static void normalize_buffer(struct st_buffer * STbuffer) in normalize_buffer() argument
3978 int i, order = STbuffer->reserved_page_order; in normalize_buffer()
3980 for (i = 0; i < STbuffer->frp_segs; i++) { in normalize_buffer()
3981 __free_pages(STbuffer->reserved_pages[i], order); in normalize_buffer()
3982 STbuffer->buffer_size -= (PAGE_SIZE << order); in normalize_buffer()
3984 STbuffer->frp_segs = 0; in normalize_buffer()
3985 STbuffer->sg_segs = 0; in normalize_buffer()
3986 STbuffer->reserved_page_order = 0; in normalize_buffer()
3987 STbuffer->map_data.offset = 0; in normalize_buffer()