Lines Matching refs:STbuffer

671 	struct st_buffer *STbuffer;
676 STbuffer = STp->buffer;
677 if (!STbuffer->writing)
688 SRpnt = STbuffer->last_SRpnt;
689 STbuffer->last_SRpnt = NULL;
695 STbuffer->buffer_bytes -= STbuffer->writing;
701 STps->drv_block += STbuffer->writing / STp->block_size;
704 cmdstatp = &STbuffer->cmdstat;
705 if (STbuffer->syscall_result) {
719 STbuffer->writing = 0;
724 STbuffer->cmdstat.midlevel_result, retval);) /* end DEB */
3913 static int enlarge_buffer(struct st_buffer * STbuffer, int new_size)
3918 if (new_size <= STbuffer->buffer_size)
3921 if (STbuffer->buffer_size <= PAGE_SIZE)
3922 normalize_buffer(STbuffer); /* Avoid extra segment */
3924 max_segs = STbuffer->use_sg;
3928 if (STbuffer->cleared)
3931 if (STbuffer->frp_segs) {
3932 order = STbuffer->reserved_page_order;
3940 STbuffer->reserved_page_order = order;
3945 normalize_buffer(STbuffer);
3946 return enlarge_buffer(STbuffer, new_size);
3949 for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size;
3955 DEB(STbuffer->buffer_size = got);
3956 normalize_buffer(STbuffer);
3960 STbuffer->frp_segs += 1;
3962 STbuffer->buffer_size = got;
3963 STbuffer->reserved_pages[segs] = page;
3966 STbuffer->b_data = page_address(STbuffer->reserved_pages[0]);
3985 static void normalize_buffer(struct st_buffer * STbuffer)
3987 int i, order = STbuffer->reserved_page_order;
3989 for (i = 0; i < STbuffer->frp_segs; i++) {
3990 __free_pages(STbuffer->reserved_pages[i], order);
3991 STbuffer->buffer_size -= (PAGE_SIZE << order);
3993 STbuffer->frp_segs = 0;
3994 STbuffer->sg_segs = 0;
3995 STbuffer->reserved_page_order = 0;
3996 STbuffer->map_data.offset = 0;