Lines Matching refs:ring_req
435 static int scsiback_gnttab_data_map(struct vscsiif_request *ring_req, in scsiback_gnttab_data_map() argument
443 unsigned int nr_segments = (unsigned int)ring_req->nr_segments; in scsiback_gnttab_data_map()
458 ring_req->nr_segments); in scsiback_gnttab_data_map()
462 if (ring_req->nr_segments & VSCSIIF_SG_GRANT) { in scsiback_gnttab_data_map()
463 err = scsiback_gnttab_data_map_list(pending_req, ring_req->seg, in scsiback_gnttab_data_map()
471 n_segs = ring_req->seg[i].length / in scsiback_gnttab_data_map()
473 if ((unsigned)ring_req->seg[i].offset + in scsiback_gnttab_data_map()
474 (unsigned)ring_req->seg[i].length > PAGE_SIZE || in scsiback_gnttab_data_map()
476 ring_req->seg[i].length) in scsiback_gnttab_data_map()
502 seg = ring_req->seg; in scsiback_gnttab_data_map()
510 vaddr(pending_req, i) + ring_req->seg[i].offset); in scsiback_gnttab_data_map()
511 n_segs = ring_req->seg[i].length / in scsiback_gnttab_data_map()
520 end_seg = vaddr(pending_req, 0) + ring_req->seg[0].offset; in scsiback_gnttab_data_map()
522 end_seg += ring_req->seg[0].length; in scsiback_gnttab_data_map()
533 ring_req->seg[i_seg].offset; in scsiback_gnttab_data_map()
535 end_seg += ring_req->seg[i_seg].length; in scsiback_gnttab_data_map()
641 struct vscsiif_request *ring_req) in prepare_pending_reqs() argument
648 if ((ring_req->sc_data_direction != DMA_BIDIRECTIONAL) && in prepare_pending_reqs()
649 (ring_req->sc_data_direction != DMA_TO_DEVICE) && in prepare_pending_reqs()
650 (ring_req->sc_data_direction != DMA_FROM_DEVICE) && in prepare_pending_reqs()
651 (ring_req->sc_data_direction != DMA_NONE)) { in prepare_pending_reqs()
653 ring_req->sc_data_direction); in prepare_pending_reqs()
656 if (ring_req->cmd_len > VSCSIIF_MAX_COMMAND_SIZE) { in prepare_pending_reqs()
658 ring_req->cmd_len); in prepare_pending_reqs()
662 vir.chn = ring_req->channel; in prepare_pending_reqs()
663 vir.tgt = ring_req->id; in prepare_pending_reqs()
664 vir.lun = ring_req->lun; in prepare_pending_reqs()
678 pending_req->rqid = ring_req->rqid; in prepare_pending_reqs()
681 pending_req->sc_data_direction = ring_req->sc_data_direction; in prepare_pending_reqs()
682 pending_req->cmd_len = ring_req->cmd_len; in prepare_pending_reqs()
683 memcpy(pending_req->cmnd, ring_req->cmnd, pending_req->cmd_len); in prepare_pending_reqs()
692 struct vscsiif_request ring_req; in scsiback_do_cmd_fn() local
715 RING_COPY_REQUEST(ring, rc, &ring_req); in scsiback_do_cmd_fn()
718 pending_req = prepare_pending_reqs(info, ring, &ring_req); in scsiback_do_cmd_fn()
729 ring_req.rqid); in scsiback_do_cmd_fn()
733 switch (ring_req.act) { in scsiback_do_cmd_fn()
735 if (scsiback_gnttab_data_map(&ring_req, pending_req)) { in scsiback_do_cmd_fn()
746 ring_req.ref_rqid); in scsiback_do_cmd_fn()