Lines Matching refs:tiop

41 int register_trapped_io(struct trapped_io *tiop)  in register_trapped_io()  argument
52 if ((unsigned long)tiop & (PAGE_SIZE - 1)) in register_trapped_io()
55 for (k = 0; k < tiop->num_resources; k++) { in register_trapped_io()
56 res = tiop->resource + k; in register_trapped_io()
71 pages[k] = virt_to_page(tiop); in register_trapped_io()
73 tiop->virt_base = vmap(pages, n, VM_MAP, PAGE_NONE); in register_trapped_io()
74 if (!tiop->virt_base) in register_trapped_io()
78 for (k = 0; k < tiop->num_resources; k++) { in register_trapped_io()
79 res = tiop->resource + k; in register_trapped_io()
81 (unsigned long)(tiop->virt_base + len), in register_trapped_io()
87 tiop->magic = IO_TRAPPED_MAGIC; in register_trapped_io()
88 INIT_LIST_HEAD(&tiop->list); in register_trapped_io()
92 list_add(&tiop->list, &trapped_io); in register_trapped_io()
96 list_add(&tiop->list, &trapped_mem); in register_trapped_io()
111 struct trapped_io *tiop; in match_trapped_io_handler() local
117 list_for_each_entry(tiop, list, list) { in match_trapped_io_handler()
119 for (k = 0; k < tiop->num_resources; k++) { in match_trapped_io_handler()
120 res = tiop->resource + k; in match_trapped_io_handler()
123 return tiop->virt_base + voffs; in match_trapped_io_handler()
165 static unsigned long lookup_address(struct trapped_io *tiop, in lookup_address() argument
169 unsigned long vaddr = (unsigned long)tiop->virt_base; in lookup_address()
173 for (k = 0; k < tiop->num_resources; k++) { in lookup_address()
174 res = tiop->resource + k; in lookup_address()
223 struct trapped_io *tiop; in from_device() local
228 tiop = lookup_tiop(src_addr); in from_device()
229 WARN_ON(!tiop || (tiop->magic != IO_TRAPPED_MAGIC)); in from_device()
231 src_addr = lookup_address(tiop, src_addr); in from_device()
237 (tiop->minimum_bus_width / 8)), in from_device()
246 struct trapped_io *tiop; in to_device() local
251 tiop = lookup_tiop(dst_addr); in to_device()
252 WARN_ON(!tiop || (tiop->magic != IO_TRAPPED_MAGIC)); in to_device()
254 dst_addr = lookup_address(tiop, dst_addr); in to_device()
260 (tiop->minimum_bus_width / 8))); in to_device()