Lines Matching refs:iter

67 static void etnaviv_core_dump_header(struct core_dump_iterator *iter,
70 struct etnaviv_dump_object_header *hdr = iter->hdr;
74 hdr->file_offset = cpu_to_le32(iter->data - iter->start);
75 hdr->file_size = cpu_to_le32(data_end - iter->data);
77 iter->hdr++;
78 iter->data += hdr->file_size;
81 static void etnaviv_core_dump_registers(struct core_dump_iterator *iter,
84 struct etnaviv_dump_registers *reg = iter->data;
92 etnaviv_core_dump_header(iter, ETDUMP_BUF_REG, reg);
95 static void etnaviv_core_dump_mmu(struct core_dump_iterator *iter,
98 etnaviv_iommu_dump(mmu, iter->data);
100 etnaviv_core_dump_header(iter, ETDUMP_BUF_MMU, iter->data + mmu_size);
103 static void etnaviv_core_dump_mem(struct core_dump_iterator *iter, u32 type,
106 memcpy(iter->data, ptr, size);
108 iter->hdr->iova = cpu_to_le64(iova);
110 etnaviv_core_dump_header(iter, type, iter->data + size);
116 struct core_dump_iterator iter;
154 file_size += sizeof(*iter.hdr) * n_obj;
157 iter.start = __vmalloc(file_size, GFP_KERNEL | __GFP_NOWARN |
159 if (!iter.start) {
166 iter.hdr = iter.start;
167 iter.data = &iter.hdr[n_obj];
169 memset(iter.hdr, 0, iter.data - iter.start);
171 etnaviv_core_dump_registers(&iter, gpu);
172 etnaviv_core_dump_mmu(&iter, submit->mmu_context, mmu_size);
173 etnaviv_core_dump_mem(&iter, ETDUMP_BUF_RING, gpu->buffer.vaddr,
178 etnaviv_core_dump_mem(&iter, ETDUMP_BUF_CMD,
187 bomap_start = bomap = iter.data;
189 etnaviv_core_dump_header(&iter, ETDUMP_BUF_BOMAP,
210 iter.hdr->data[0] = bomap - bomap_start;
216 iter.hdr->iova = cpu_to_le64(vram->iova);
220 memcpy(iter.data, vaddr, obj->base.size);
222 etnaviv_core_dump_header(&iter, ETDUMP_BUF_BO, iter.data +
226 etnaviv_core_dump_header(&iter, ETDUMP_BUF_END, iter.data);
228 dev_coredumpv(gpu->dev, iter.start, iter.data - iter.start, GFP_KERNEL);