| /* SPDX-License-Identifier: GPL-2.0 OR MIT */ | |
| /* Copyright 2020 Qiang Yu <yuq825@gmail.com> */ | |
| #ifndef __LIMA_DUMP_H__ | |
| #define __LIMA_DUMP_H__ | |
| #include <linux/types.h> | |
| /** | |
| * dump file format for all the information to start a lima task | |
| * | |
| * top level format | |
| * | magic code "LIMA" | format version | num tasks | data size | | |
| * | reserved | reserved | reserved | reserved | | |
| * | task 1 ID | task 1 size | num chunks | reserved | task 1 data | | |
| * | task 2 ID | task 2 size | num chunks | reserved | task 2 data | | |
| * ... | |
| * | |
| * task data format | |
| * | chunk 1 ID | chunk 1 size | reserved | reserved | chunk 1 data | | |
| * | chunk 2 ID | chunk 2 size | reserved | reserved | chunk 2 data | | |
| * ... | |
| * | |
| */ | |
| #define LIMA_DUMP_MAJOR 1 | |
| #define LIMA_DUMP_MINOR 0 | |
| #define LIMA_DUMP_MAGIC 0x414d494c | |
| struct lima_dump_head { | |
| __u32 magic; | |
| __u16 version_major; | |
| __u16 version_minor; | |
| __u32 num_tasks; | |
| __u32 size; | |
| __u32 reserved[4]; | |
| }; | |
| #define LIMA_DUMP_TASK_GP 0 | |
| #define LIMA_DUMP_TASK_PP 1 | |
| #define LIMA_DUMP_TASK_NUM 2 | |
| struct lima_dump_task { | |
| __u32 id; | |
| __u32 size; | |
| __u32 num_chunks; | |
| __u32 reserved; | |
| }; | |
| #define LIMA_DUMP_CHUNK_FRAME 0 | |
| #define LIMA_DUMP_CHUNK_BUFFER 1 | |
| #define LIMA_DUMP_CHUNK_PROCESS_NAME 2 | |
| #define LIMA_DUMP_CHUNK_PROCESS_ID 3 | |
| #define LIMA_DUMP_CHUNK_NUM 4 | |
| struct lima_dump_chunk { | |
| __u32 id; | |
| __u32 size; | |
| __u32 reserved[2]; | |
| }; | |
| struct lima_dump_chunk_buffer { | |
| __u32 id; | |
| __u32 size; | |
| __u32 va; | |
| __u32 reserved; | |
| }; | |
| struct lima_dump_chunk_pid { | |
| __u32 id; | |
| __u32 size; | |
| __u32 pid; | |
| __u32 reserved; | |
| }; | |
| #endif |