diff options
Diffstat (limited to 'drivers/video/tegra/host/gr3d/gr3d.h')
-rw-r--r-- | drivers/video/tegra/host/gr3d/gr3d.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/drivers/video/tegra/host/gr3d/gr3d.h b/drivers/video/tegra/host/gr3d/gr3d.h new file mode 100644 index 00000000000..3855b237b70 --- /dev/null +++ b/drivers/video/tegra/host/gr3d/gr3d.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* | ||
2 | * drivers/video/tegra/host/gr3d/gr3d.h | ||
3 | * | ||
4 | * Tegra Graphics Host 3D | ||
5 | * | ||
6 | * Copyright (c) 2011-2012, NVIDIA Corporation. | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms and conditions of the GNU General Public License, | ||
10 | * version 2, as published by the Free Software Foundation. | ||
11 | * | ||
12 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
13 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
14 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
15 | * more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
19 | */ | ||
20 | |||
21 | #ifndef __NVHOST_GR3D_GR3D_H | ||
22 | #define __NVHOST_GR3D_GR3D_H | ||
23 | |||
24 | #include "host1x/host1x_hwctx.h" | ||
25 | #include <linux/types.h> | ||
26 | |||
27 | /* Registers of 3D unit */ | ||
28 | |||
29 | #define AR3D_PSEQ_QUAD_ID 0x545 | ||
30 | #define AR3D_DW_MEMORY_OUTPUT_ADDRESS 0x904 | ||
31 | #define AR3D_DW_MEMORY_OUTPUT_DATA 0x905 | ||
32 | #define AR3D_GSHIM_WRITE_MASK 0xb00 | ||
33 | #define AR3D_GSHIM_READ_SELECT 0xb01 | ||
34 | #define AR3D_GLOBAL_MEMORY_OUTPUT_READS 0xe40 | ||
35 | |||
36 | struct nvhost_hwctx; | ||
37 | struct nvhost_channel; | ||
38 | struct kref; | ||
39 | |||
40 | /* Functions used commonly by all 3D context switch modules */ | ||
41 | void nvhost_3dctx_restore_begin(struct host1x_hwctx_handler *h, u32 *ptr); | ||
42 | void nvhost_3dctx_restore_direct(u32 *ptr, u32 start_reg, u32 count); | ||
43 | void nvhost_3dctx_restore_indirect(u32 *ptr, u32 offset_reg, | ||
44 | u32 offset, u32 data_reg, u32 count); | ||
45 | void nvhost_3dctx_restore_end(struct host1x_hwctx_handler *h, u32 *ptr); | ||
46 | struct host1x_hwctx *nvhost_3dctx_alloc_common( | ||
47 | struct host1x_hwctx_handler *p, | ||
48 | struct nvhost_channel *ch, bool map_restore); | ||
49 | void nvhost_3dctx_get(struct nvhost_hwctx *ctx); | ||
50 | void nvhost_3dctx_free(struct kref *ref); | ||
51 | void nvhost_3dctx_put(struct nvhost_hwctx *ctx); | ||
52 | int nvhost_gr3d_prepare_power_off(struct nvhost_device *dev); | ||
53 | |||
54 | #endif | ||