Lines Matching refs:STbuffer
669 struct st_buffer *STbuffer; in write_behind_check() local
674 STbuffer = STp->buffer; in write_behind_check()
675 if (!STbuffer->writing) in write_behind_check()
686 SRpnt = STbuffer->last_SRpnt; in write_behind_check()
687 STbuffer->last_SRpnt = NULL; in write_behind_check()
693 STbuffer->buffer_bytes -= STbuffer->writing; in write_behind_check()
699 STps->drv_block += STbuffer->writing / STp->block_size; in write_behind_check()
702 cmdstatp = &STbuffer->cmdstat; in write_behind_check()
703 if (STbuffer->syscall_result) { in write_behind_check()
717 STbuffer->writing = 0; in write_behind_check()
722 STbuffer->cmdstat.midlevel_result, retval);) /* end DEB */ in write_behind_check()
3898 static int enlarge_buffer(struct st_buffer * STbuffer, int new_size) in enlarge_buffer() argument
3903 if (new_size <= STbuffer->buffer_size) in enlarge_buffer()
3906 if (STbuffer->buffer_size <= PAGE_SIZE) in enlarge_buffer()
3907 normalize_buffer(STbuffer); /* Avoid extra segment */ in enlarge_buffer()
3909 max_segs = STbuffer->use_sg; in enlarge_buffer()
3913 if (STbuffer->cleared) in enlarge_buffer()
3916 if (STbuffer->frp_segs) { in enlarge_buffer()
3917 order = STbuffer->reserved_page_order; in enlarge_buffer()
3925 STbuffer->reserved_page_order = order; in enlarge_buffer()
3930 normalize_buffer(STbuffer); in enlarge_buffer()
3931 return enlarge_buffer(STbuffer, new_size); in enlarge_buffer()
3934 for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size; in enlarge_buffer()
3940 DEB(STbuffer->buffer_size = got); in enlarge_buffer()
3941 normalize_buffer(STbuffer); in enlarge_buffer()
3945 STbuffer->frp_segs += 1; in enlarge_buffer()
3947 STbuffer->buffer_size = got; in enlarge_buffer()
3948 STbuffer->reserved_pages[segs] = page; in enlarge_buffer()
3951 STbuffer->b_data = page_address(STbuffer->reserved_pages[0]); in enlarge_buffer()
3970 static void normalize_buffer(struct st_buffer * STbuffer) in normalize_buffer() argument
3972 int i, order = STbuffer->reserved_page_order; in normalize_buffer()
3974 for (i = 0; i < STbuffer->frp_segs; i++) { in normalize_buffer()
3975 __free_pages(STbuffer->reserved_pages[i], order); in normalize_buffer()
3976 STbuffer->buffer_size -= (PAGE_SIZE << order); in normalize_buffer()
3978 STbuffer->frp_segs = 0; in normalize_buffer()
3979 STbuffer->sg_segs = 0; in normalize_buffer()
3980 STbuffer->reserved_page_order = 0; in normalize_buffer()
3981 STbuffer->map_data.offset = 0; in normalize_buffer()