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