Lines Matching refs:iter

61 static void panfrost_core_dump_header(struct panfrost_dump_iterator *iter,
64 struct panfrost_dump_object_header *hdr = iter->hdr;
68 hdr->file_offset = iter->data - iter->start;
69 hdr->file_size = data_end - iter->data;
71 iter->hdr++;
72 iter->data += hdr->file_size;
76 panfrost_core_dump_registers(struct panfrost_dump_iterator *iter,
80 struct panfrost_dump_registers *dumpreg = iter->data;
100 panfrost_core_dump_header(iter, PANFROSTDUMP_BUF_REG, dumpreg);
106 struct panfrost_dump_iterator iter;
153 file_size += sizeof(*iter.hdr) * n_obj;
163 iter.start = __vmalloc(file_size, GFP_KERNEL | __GFP_NOWARN |
165 if (!iter.start) {
171 iter.hdr = iter.start;
172 iter.data = &iter.hdr[n_obj];
174 memset(iter.hdr, 0, iter.data - iter.start);
180 iter.hdr->reghdr.jc = job->jc;
181 iter.hdr->reghdr.major = PANFROSTDUMP_MAJOR;
182 iter.hdr->reghdr.minor = PANFROSTDUMP_MINOR;
183 iter.hdr->reghdr.gpu_id = pfdev->features.id;
184 iter.hdr->reghdr.nbos = job->bo_count;
186 panfrost_core_dump_registers(&iter, pfdev, as_nr, slot);
190 bomap_start = bomap = iter.data;
192 panfrost_core_dump_header(&iter, PANFROSTDUMP_BUF_BOMAP,
208 iter.hdr->bomap.valid = 0;
215 iter.hdr->bomap.valid = 0;
221 iter.hdr->bomap.data[0] = bomap - bomap_start;
234 iter.hdr->bomap.iova = mapping->mmnode.start << PAGE_SHIFT;
237 memcpy(iter.data, vaddr, bo->base.base.size);
241 iter.hdr->bomap.valid = 1;
243 dump_header: panfrost_core_dump_header(&iter, PANFROSTDUMP_BUF_BO, iter.data +
246 panfrost_core_dump_header(&iter, PANFROSTDUMP_BUF_TRAILER, iter.data);
248 dev_coredumpv(pfdev->dev, iter.start, iter.data - iter.start, GFP_KERNEL);