Lines Matching refs:STbp

1554 	struct st_buffer *STbp = STp->buffer;
1563 i = sgl_map_user_pages(STbp, STbp->use_sg, (unsigned long)buf,
1566 STbp->do_dio = i;
1567 STbp->buffer_bytes = 0; /* can be used as transfer counter */
1570 STbp->do_dio = 0; /* fall back to buffering with any error */
1571 STbp->sg_segs = STbp->do_dio;
1573 if (STbp->do_dio) {
1575 STp->nbr_pages += STbp->do_dio;
1579 STbp->do_dio = 0;
1582 if (!STbp->do_dio) {
1590 if (is_read && STp->sili && !STbp->cleared)
1591 clear_buffer(STbp);
1594 if (bufsize > STbp->buffer_size &&
1595 !enlarge_buffer(STbp, bufsize, STp->restr_dma)) {
1603 STbp->buffer_blocks = bufsize / STp->block_size;
1614 struct st_buffer *STbp;
1616 STbp = STp->buffer;
1617 if (STbp->do_dio) {
1618 sgl_unmap_user_pages(STbp, STbp->do_dio, is_read);
1619 STbp->do_dio = 0;
1620 STbp->sg_segs = 0;
1640 struct st_buffer *STbp;
1688 STbp = STp->buffer;
1710 !STbp->do_dio &&
1732 if (STbp->do_dio) {
1739 do_count = STbp->buffer_blocks * STp->block_size -
1740 STbp->buffer_bytes;
1745 i = append_to_buffer(b_point, STbp, do_count);
1754 async_write = STp->block_size == 0 && !STbp->do_dio &&
1759 STbp->buffer_bytes < STbp->buffer_size) {
1770 if (!STbp->do_dio)
1771 blks = STbp->buffer_bytes;
1785 retval = STbp->syscall_result;
1788 if (async_write && !STbp->syscall_result) {
1789 STbp->writing = transfer;
1790 STp->dirty = !(STbp->writing ==
1791 STbp->buffer_bytes);
1797 if (STbp->syscall_result != 0) {
1863 retval = STbp->syscall_result;
1875 STbp->buffer_bytes = 0;
1915 struct st_buffer *STbp;
1925 STbp = STp->buffer;
1935 if (!STbp->do_dio && bytes > (STp->buffer)->buffer_size)
1958 return STbp->syscall_result;
1960 STbp->read_pointer = 0;
1964 if (STbp->syscall_result) {
2003 STbp->buffer_bytes = 0;
2006 STbp->buffer_bytes = bytes - transfer;
2020 STbp->buffer_bytes = (blks - transfer) *
2026 STbp->buffer_bytes);
2038 STbp->buffer_bytes = 0;
2040 STbp->buffer_bytes =
2044 STbp->buffer_bytes);
2051 STbp->buffer_bytes = bytes - transfer;
2053 STbp->buffer_bytes =
2058 STbp->buffer_bytes);
2075 if (STbp->buffer_bytes < 0) /* Caused by bogus sense data */
2076 STbp->buffer_bytes = 0;
2080 retval = STbp->syscall_result;
2086 STbp->buffer_bytes = bytes;
2088 STbp->buffer_bytes -= STp->buffer->cmdstat.residual;
2095 STps->drv_block += STbp->buffer_bytes / STp->block_size;
2114 struct st_buffer *STbp = STp->buffer;
2143 STps->eof, STbp->buffer_bytes);
2149 do_dio = STbp->do_dio;
2151 if (STbp->buffer_bytes == 0 &&
2181 if (STbp->buffer_bytes == 0) {
2190 if (STbp->buffer_bytes > 0) {
2195 STps->eof, STbp->buffer_bytes,
2198 transfer = STbp->buffer_bytes < count - total ?
2199 STbp->buffer_bytes : count - total;
2201 i = from_buffer(STbp, buf, transfer);
2242 STbp->buffer_bytes = 0;
4932 static int sgl_map_user_pages(struct st_buffer *STbp,
4941 struct rq_map_data *mdata = &STbp->map_data;
4976 STbp->mapped_pages = pages;
4990 static int sgl_unmap_user_pages(struct st_buffer *STbp,
4994 unpin_user_pages_dirty_lock(STbp->mapped_pages, nr_pages, dirtied);
4996 kfree(STbp->mapped_pages);
4997 STbp->mapped_pages = NULL;