Lines Matching defs:setup
609 struct setup_rw_req *setup = data;
614 unsigned int grant_idx = setup->grant_idx;
615 struct blkif_request *ring_req = setup->ring_req;
616 struct blkfront_ring_info *rinfo = setup->rinfo;
623 struct blk_shadow *shadow = &rinfo->shadow[setup->id];
625 if (unlikely(setup->require_extra_req &&
628 * We are using the second request, setup grant_idx
632 ring_req = setup->extra_ring_req;
637 if (setup->segments)
638 kunmap_atomic(setup->segments);
641 gnt_list_entry = get_indirect_grant(&setup->gref_head, rinfo);
643 setup->segments = kmap_atomic(gnt_list_entry->page);
647 gnt_list_entry = get_grant(&setup->gref_head, gfn, rinfo);
653 shadow->grants_used[setup->grant_idx] = gnt_list_entry;
655 if (setup->need_copy) {
669 setup->bvec_data + setup->bvec_off,
673 setup->bvec_off += len;
685 setup->segments[grant_idx % GRANTS_PER_INDIRECT_FRAME] =
692 (setup->grant_idx)++;
722 struct setup_rw_req setup = {
752 &setup.gref_head) < 0) {
833 setup.ring_req = ring_req;
834 setup.id = id;
836 setup.require_extra_req = require_extra_req;
838 setup.extra_ring_req = extra_ring_req;
843 if (setup.need_copy) {
844 setup.bvec_off = sg->offset;
845 setup.bvec_data = kmap_atomic(sg_page(sg));
852 &setup);
854 if (setup.need_copy)
855 kunmap_atomic(setup.bvec_data);
857 if (setup.segments)
858 kunmap_atomic(setup.segments);
869 gnttab_free_grant_references(setup.gref_head);