Lines Matching defs:setup
597 struct setup_rw_req *setup = data;
602 unsigned int grant_idx = setup->grant_idx;
603 struct blkif_request *ring_req = setup->ring_req;
604 struct blkfront_ring_info *rinfo = setup->rinfo;
611 struct blk_shadow *shadow = &rinfo->shadow[setup->id];
613 if (unlikely(setup->require_extra_req &&
616 * We are using the second request, setup grant_idx
620 ring_req = setup->extra_ring_req;
625 if (setup->segments)
626 kunmap_atomic(setup->segments);
629 gnt_list_entry = get_indirect_grant(&setup->gref_head, rinfo);
631 setup->segments = kmap_atomic(gnt_list_entry->page);
635 gnt_list_entry = get_grant(&setup->gref_head, gfn, rinfo);
641 shadow->grants_used[setup->grant_idx] = gnt_list_entry;
643 if (setup->need_copy) {
657 setup->bvec_data + setup->bvec_off,
661 setup->bvec_off += len;
673 setup->segments[grant_idx % GRANTS_PER_INDIRECT_FRAME] =
680 (setup->grant_idx)++;
710 struct setup_rw_req setup = {
740 &setup.gref_head) < 0) {
821 setup.ring_req = ring_req;
822 setup.id = id;
824 setup.require_extra_req = require_extra_req;
826 setup.extra_ring_req = extra_ring_req;
831 if (setup.need_copy) {
832 setup.bvec_off = sg->offset;
833 setup.bvec_data = kmap_atomic(sg_page(sg));
840 &setup);
842 if (setup.need_copy)
843 kunmap_atomic(setup.bvec_data);
845 if (setup.segments)
846 kunmap_atomic(setup.segments);
857 gnttab_free_grant_references(setup.gref_head);