Lines Matching refs:STbuffer
667 struct st_buffer *STbuffer; in write_behind_check() local
672 STbuffer = STp->buffer; in write_behind_check()
673 if (!STbuffer->writing) in write_behind_check()
684 SRpnt = STbuffer->last_SRpnt; in write_behind_check()
685 STbuffer->last_SRpnt = NULL; in write_behind_check()
691 STbuffer->buffer_bytes -= STbuffer->writing; in write_behind_check()
697 STps->drv_block += STbuffer->writing / STp->block_size; in write_behind_check()
700 cmdstatp = &STbuffer->cmdstat; in write_behind_check()
701 if (STbuffer->syscall_result) { in write_behind_check()
715 STbuffer->writing = 0; in write_behind_check()
720 STbuffer->cmdstat.midlevel_result, retval);) /* end DEB */ in write_behind_check()
3896 static int enlarge_buffer(struct st_buffer * STbuffer, int new_size) in enlarge_buffer() argument
3901 if (new_size <= STbuffer->buffer_size) in enlarge_buffer()
3904 if (STbuffer->buffer_size <= PAGE_SIZE) in enlarge_buffer()
3905 normalize_buffer(STbuffer); /* Avoid extra segment */ in enlarge_buffer()
3907 max_segs = STbuffer->use_sg; in enlarge_buffer()
3911 if (STbuffer->cleared) in enlarge_buffer()
3914 if (STbuffer->frp_segs) { in enlarge_buffer()
3915 order = STbuffer->reserved_page_order; in enlarge_buffer()
3923 STbuffer->reserved_page_order = order; in enlarge_buffer()
3928 normalize_buffer(STbuffer); in enlarge_buffer()
3929 return enlarge_buffer(STbuffer, new_size); in enlarge_buffer()
3932 for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size; in enlarge_buffer()
3938 DEB(STbuffer->buffer_size = got); in enlarge_buffer()
3939 normalize_buffer(STbuffer); in enlarge_buffer()
3943 STbuffer->frp_segs += 1; in enlarge_buffer()
3945 STbuffer->buffer_size = got; in enlarge_buffer()
3946 STbuffer->reserved_pages[segs] = page; in enlarge_buffer()
3949 STbuffer->b_data = page_address(STbuffer->reserved_pages[0]); in enlarge_buffer()
3968 static void normalize_buffer(struct st_buffer * STbuffer) in normalize_buffer() argument
3970 int i, order = STbuffer->reserved_page_order; in normalize_buffer()
3972 for (i = 0; i < STbuffer->frp_segs; i++) { in normalize_buffer()
3973 __free_pages(STbuffer->reserved_pages[i], order); in normalize_buffer()
3974 STbuffer->buffer_size -= (PAGE_SIZE << order); in normalize_buffer()
3976 STbuffer->frp_segs = 0; in normalize_buffer()
3977 STbuffer->sg_segs = 0; in normalize_buffer()
3978 STbuffer->reserved_page_order = 0; in normalize_buffer()
3979 STbuffer->map_data.offset = 0; in normalize_buffer()