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