mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
drm/lima: save task info dump when task fail
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
This commit is contained in:
parent
c67a3d4f68
commit
b78edd46f6
5 changed files with 235 additions and 0 deletions
77
drivers/gpu/drm/lima/lima_dump.h
Normal file
77
drivers/gpu/drm/lima/lima_dump.h
Normal file
|
@ -0,0 +1,77 @@
|
|||
/* 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
|
Loading…
Add table
Add a link
Reference in a new issue