Lines Matching defs:STbuffer
682 struct st_buffer *STbuffer;
687 STbuffer = STp->buffer;
688 if (!STbuffer->writing)
699 SRpnt = STbuffer->last_SRpnt;
700 STbuffer->last_SRpnt = NULL;
706 STbuffer->buffer_bytes -= STbuffer->writing;
712 STps->drv_block += STbuffer->writing / STp->block_size;
715 cmdstatp = &STbuffer->cmdstat;
716 if (STbuffer->syscall_result) {
730 STbuffer->writing = 0;
735 STbuffer->cmdstat.midlevel_result, retval);) /* end DEB */
4012 static int enlarge_buffer(struct st_buffer * STbuffer, int new_size)
4017 if (new_size <= STbuffer->buffer_size)
4020 if (STbuffer->buffer_size <= PAGE_SIZE)
4021 normalize_buffer(STbuffer); /* Avoid extra segment */
4023 max_segs = STbuffer->use_sg;
4027 if (STbuffer->cleared)
4030 if (STbuffer->frp_segs) {
4031 order = STbuffer->reserved_page_order;
4039 STbuffer->reserved_page_order = order;
4044 normalize_buffer(STbuffer);
4045 return enlarge_buffer(STbuffer, new_size);
4048 for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size;
4054 DEB(STbuffer->buffer_size = got);
4055 normalize_buffer(STbuffer);
4059 STbuffer->frp_segs += 1;
4061 STbuffer->buffer_size = got;
4062 STbuffer->reserved_pages[segs] = page;
4065 STbuffer->b_data = page_address(STbuffer->reserved_pages[0]);
4084 static void normalize_buffer(struct st_buffer * STbuffer)
4086 int i, order = STbuffer->reserved_page_order;
4088 for (i = 0; i < STbuffer->frp_segs; i++) {
4089 __free_pages(STbuffer->reserved_pages[i], order);
4090 STbuffer->buffer_size -= (PAGE_SIZE << order);
4092 STbuffer->frp_segs = 0;
4093 STbuffer->sg_segs = 0;
4094 STbuffer->reserved_page_order = 0;
4095 STbuffer->map_data.offset = 0;