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