Lines Matching defs:iter_io

518 	struct ttm_kmap_iter_iomap *iter_io =
519 container_of(iter, typeof(*iter_io), base);
523 while (i >= iter_io->cache.end) {
524 iter_io->cache.sg = iter_io->cache.sg ?
525 sg_next(iter_io->cache.sg) : iter_io->st->sgl;
526 iter_io->cache.i = iter_io->cache.end;
527 iter_io->cache.end += sg_dma_len(iter_io->cache.sg) >>
529 iter_io->cache.offs = sg_dma_address(iter_io->cache.sg) -
530 iter_io->start;
533 if (i < iter_io->cache.i) {
534 iter_io->cache.end = 0;
535 iter_io->cache.sg = NULL;
539 addr = io_mapping_map_local_wc(iter_io->iomap, iter_io->cache.offs +
540 (((resource_size_t)i - iter_io->cache.i)
559 * @iter_io: The struct ttm_kmap_iter_iomap to initialize.
569 ttm_kmap_iter_iomap_init(struct ttm_kmap_iter_iomap *iter_io,
574 iter_io->base.ops = &ttm_kmap_iter_io_ops;
575 iter_io->iomap = iomap;
576 iter_io->st = st;
577 iter_io->start = start;
578 memset(&iter_io->cache, 0, sizeof(iter_io->cache));
580 return &iter_io->base;
600 struct ttm_kmap_iter_linear_io *iter_io =
601 container_of(iter, typeof(*iter_io), base);
603 *dmap = iter_io->dmap;
614 * @iter_io: The iterator to initialize
625 ttm_kmap_iter_linear_io_init(struct ttm_kmap_iter_linear_io *iter_io,
640 iosys_map_set_vaddr(&iter_io->dmap, mem->bus.addr);
641 iter_io->needs_unmap = false;
643 iter_io->needs_unmap = true;
644 memset(&iter_io->dmap, 0, sizeof(iter_io->dmap));
646 iosys_map_set_vaddr_iomem(&iter_io->dmap,
650 iosys_map_set_vaddr(&iter_io->dmap,
657 if (iosys_map_is_null(&iter_io->dmap))
658 iosys_map_set_vaddr_iomem(&iter_io->dmap,
662 if (iosys_map_is_null(&iter_io->dmap)) {
668 iter_io->base.ops = &ttm_kmap_iter_linear_io_ops;
669 return &iter_io->base;
679 * @iter_io: The iterator to initialize
687 ttm_kmap_iter_linear_io_fini(struct ttm_kmap_iter_linear_io *iter_io,
691 if (iter_io->needs_unmap && iosys_map_is_set(&iter_io->dmap)) {
692 if (iter_io->dmap.is_iomem)
693 iounmap(iter_io->dmap.vaddr_iomem);
695 memunmap(iter_io->dmap.vaddr);