lima_dump.h (1561B)
1/* SPDX-License-Identifier: GPL-2.0 OR MIT */ 2/* Copyright 2020 Qiang Yu <yuq825@gmail.com> */ 3 4#ifndef __LIMA_DUMP_H__ 5#define __LIMA_DUMP_H__ 6 7#include <linux/types.h> 8 9/** 10 * dump file format for all the information to start a lima task 11 * 12 * top level format 13 * | magic code "LIMA" | format version | num tasks | data size | 14 * | reserved | reserved | reserved | reserved | 15 * | task 1 ID | task 1 size | num chunks | reserved | task 1 data | 16 * | task 2 ID | task 2 size | num chunks | reserved | task 2 data | 17 * ... 18 * 19 * task data format 20 * | chunk 1 ID | chunk 1 size | reserved | reserved | chunk 1 data | 21 * | chunk 2 ID | chunk 2 size | reserved | reserved | chunk 2 data | 22 * ... 23 * 24 */ 25 26#define LIMA_DUMP_MAJOR 1 27#define LIMA_DUMP_MINOR 0 28 29#define LIMA_DUMP_MAGIC 0x414d494c 30 31struct lima_dump_head { 32 __u32 magic; 33 __u16 version_major; 34 __u16 version_minor; 35 __u32 num_tasks; 36 __u32 size; 37 __u32 reserved[4]; 38}; 39 40#define LIMA_DUMP_TASK_GP 0 41#define LIMA_DUMP_TASK_PP 1 42#define LIMA_DUMP_TASK_NUM 2 43 44struct lima_dump_task { 45 __u32 id; 46 __u32 size; 47 __u32 num_chunks; 48 __u32 reserved; 49}; 50 51#define LIMA_DUMP_CHUNK_FRAME 0 52#define LIMA_DUMP_CHUNK_BUFFER 1 53#define LIMA_DUMP_CHUNK_PROCESS_NAME 2 54#define LIMA_DUMP_CHUNK_PROCESS_ID 3 55#define LIMA_DUMP_CHUNK_NUM 4 56 57struct lima_dump_chunk { 58 __u32 id; 59 __u32 size; 60 __u32 reserved[2]; 61}; 62 63struct lima_dump_chunk_buffer { 64 __u32 id; 65 __u32 size; 66 __u32 va; 67 __u32 reserved; 68}; 69 70struct lima_dump_chunk_pid { 71 __u32 id; 72 __u32 size; 73 __u32 pid; 74 __u32 reserved; 75}; 76 77#endif