Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
[linux-2.6-block.git] / drivers / gpu / drm / etnaviv / etnaviv_dump.h
CommitLineData
a8c21a54
T
1/*
2 * Copyright (C) 2015 Etnaviv Project
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License version 2 as published by
6 * the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful, but WITHOUT
9 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
11 * more details.
12 *
13 * You should have received a copy of the GNU General Public License along with
14 * this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Etnaviv devcoredump file definitions
17 */
18#ifndef ETNAVIV_DUMP_H
19#define ETNAVIV_DUMP_H
20
21#include <linux/types.h>
22
23enum {
24 ETDUMP_MAGIC = 0x414e5445,
25 ETDUMP_BUF_REG = 0,
26 ETDUMP_BUF_MMU,
27 ETDUMP_BUF_RING,
28 ETDUMP_BUF_CMD,
29 ETDUMP_BUF_BOMAP,
30 ETDUMP_BUF_BO,
31 ETDUMP_BUF_END,
32};
33
34struct etnaviv_dump_object_header {
35 __le32 magic;
36 __le32 type;
37 __le32 file_offset;
38 __le32 file_size;
39 __le64 iova;
40 __le32 data[2];
41};
42
43/* Registers object, an array of these */
44struct etnaviv_dump_registers {
45 __le32 reg;
46 __le32 value;
47};
48
49#ifdef __KERNEL__
50struct etnaviv_gpu;
51void etnaviv_core_dump(struct etnaviv_gpu *gpu);
52#endif
53
54#endif