Lines Matching full:unmap

71  * calculate a sequence of operations to satisfy a given map or unmap request.
80 * containing map, unmap and remap operations for a given newly requested
87 * amount of unmap operations, a maximum of two remap operations and a single
95 * &drm_gpuva to unmap is physically contiguous with the original mapping
102 * one unmap operation and one or two map operations, such that drivers can
110 * to call back into the driver in order to unmap a range of GPU VA space. The
112 * enclosed by the given range unmap operations are created. For mappings which
410 * &drm_gpuva_op in order to satisfy a given map or unmap request and how to
458 * va = op->remap.unmap->va;
488 * va = op->unmap->va;
492 * drm_gpuva_unmap(&op->unmap);
574 * drm_gpuva_unlink(op->remap.unmap->va);
575 * kfree(op->remap.unmap->va);
592 * drm_gpuva_unlink(op->unmap.va);
593 * drm_gpuva_unmap(&op->unmap);
594 * kfree(op->unmap.va);
995 struct drm_gpuva *curr = op->unmap->va; in drm_gpuva_remap()
1046 struct drm_gpuva_op_unmap *unmap) in op_remap_cb() argument
1055 r->unmap = unmap; in op_remap_cb()
1067 op.unmap.va = va; in op_unmap_cb()
1068 op.unmap.keep = merge; in op_unmap_cb()
1255 struct drm_gpuva_op_unmap unmap = { .va = va }; in __drm_gpuva_sm_unmap() local
1260 &unmap); in __drm_gpuva_sm_unmap()
1295 * A sequence of callbacks can contain map, unmap and remap operations, but
1299 * There can be an arbitrary amount of unmap operations, a maximum of two remap
1324 * drm_gpuva_sm_unmap() - creates the &drm_gpuva_ops to split on unmap
1327 * @req_addr: the start address of the range to unmap
1328 * @req_range: the range of the mappings to unmap
1332 * unmap and, if required, split existent mappings.
1342 * A sequence of callbacks can contain unmap and remap operations, depending on
1345 * There can be an arbitrary amount of unmap operations and a maximum of two
1416 r->unmap = kmemdup(__r->unmap, sizeof(*r->unmap), in drm_gpuva_sm_step()
1418 if (unlikely(!r->unmap)) in drm_gpuva_sm_step()
1441 kfree(op->remap.unmap); in drm_gpuva_sm_step()
1468 * in the given order. It can contain map, unmap and remap operations, but it
1472 * There can be an arbitrary amount of unmap operations, a maximum of two remap
1525 * unmap
1527 * @req_addr: the start address of the range to unmap
1528 * @req_range: the range of the mappings to unmap
1531 * required, splitting of the mappings overlapping the unmap range.
1534 * in the given order. It can contain unmap and remap operations, depending on
1537 * There can be an arbitrary amount of unmap operations and a maximum of two
1540 * Note that before calling this function again with another range to unmap it
1640 * drm_gpuva_gem_unmap_ops_create() - creates the &drm_gpuva_ops to unmap a GEM
1642 * @obj: the &drm_gem_object to unmap
1648 * arbitrary amount of unmap operations.
1683 op->unmap.va = va; in drm_gpuva_gem_unmap_ops_create()
1715 kfree(op->remap.unmap); in drm_gpuva_ops_free()