Lines Matching refs:STbuffer

670 	struct st_buffer *STbuffer;
675 STbuffer = STp->buffer;
676 if (!STbuffer->writing)
687 SRpnt = STbuffer->last_SRpnt;
688 STbuffer->last_SRpnt = NULL;
694 STbuffer->buffer_bytes -= STbuffer->writing;
700 STps->drv_block += STbuffer->writing / STp->block_size;
703 cmdstatp = &STbuffer->cmdstat;
704 if (STbuffer->syscall_result) {
718 STbuffer->writing = 0;
723 STbuffer->cmdstat.midlevel_result, retval);) /* end DEB */
3941 static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dma)
3946 if (new_size <= STbuffer->buffer_size)
3949 if (STbuffer->buffer_size <= PAGE_SIZE)
3950 normalize_buffer(STbuffer); /* Avoid extra segment */
3952 max_segs = STbuffer->use_sg;
3958 if (STbuffer->cleared)
3961 if (STbuffer->frp_segs) {
3962 order = STbuffer->reserved_page_order;
3970 STbuffer->reserved_page_order = order;
3975 normalize_buffer(STbuffer);
3976 return enlarge_buffer(STbuffer, new_size, need_dma);
3979 for (segs = STbuffer->frp_segs, got = STbuffer->buffer_size;
3985 DEB(STbuffer->buffer_size = got);
3986 normalize_buffer(STbuffer);
3990 STbuffer->frp_segs += 1;
3992 STbuffer->buffer_size = got;
3993 STbuffer->reserved_pages[segs] = page;
3996 STbuffer->b_data = page_address(STbuffer->reserved_pages[0]);
4015 static void normalize_buffer(struct st_buffer * STbuffer)
4017 int i, order = STbuffer->reserved_page_order;
4019 for (i = 0; i < STbuffer->frp_segs; i++) {
4020 __free_pages(STbuffer->reserved_pages[i], order);
4021 STbuffer->buffer_size -= (PAGE_SIZE << order);
4023 STbuffer->frp_segs = 0;
4024 STbuffer->sg_segs = 0;
4025 STbuffer->reserved_page_order = 0;
4026 STbuffer->map_data.offset = 0;