1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (C) 2015 Etnaviv Project 4 */ 5 6 #ifndef ETNAVIV_DUMP_H 7 #define ETNAVIV_DUMP_H 8 9 #include <linux/types.h> 10 11 enum { 12 ETDUMP_MAGIC = 0x414e5445, 13 ETDUMP_BUF_REG = 0, 14 ETDUMP_BUF_MMU, 15 ETDUMP_BUF_RING, 16 ETDUMP_BUF_CMD, 17 ETDUMP_BUF_BOMAP, 18 ETDUMP_BUF_BO, 19 ETDUMP_BUF_END, 20 }; 21 22 struct etnaviv_dump_object_header { 23 __le32 magic; 24 __le32 type; 25 __le32 file_offset; 26 __le32 file_size; 27 __le64 iova; 28 __le32 data[2]; 29 }; 30 31 /* Registers object, an array of these */ 32 struct etnaviv_dump_registers { 33 __le32 reg; 34 __le32 value; 35 }; 36 37 #ifdef __KERNEL__ 38 struct etnaviv_gpu; 39 void etnaviv_core_dump(struct etnaviv_gpu *gpu); 40 #endif 41 42 #endif 43