mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Save all information to start a task which can be exported to user for debug usage. Dump file data format is specified in lima_dump.h v2: Add include header to address build robot complain. Tested-by: Andreas Baierl <ichgeh@imkreisrum.de> Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200307134423.24329-1-yuq825@gmail.com
		
			
				
	
	
		
			77 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* 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
 |