ENGR00156850 gpu-viv: add gpu-viv driver source
[wandboard.git] / drivers / mxc / gpu-viv / hal / kernel / gc_hal_kernel_vg.h
blobbf0f305110974dfb30d27e75bff5550c11b21421
1 /****************************************************************************
3 * Copyright (C) 2005 - 2011 by Vivante Corp.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the license, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not write to the Free Software
17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 *****************************************************************************/
26 #ifndef __gc_hal_kernel_vg_h_
27 #define __gc_hal_kernel_vg_h_
29 #include "gc_hal.h"
30 #include "gc_hal_driver.h"
31 #include "gc_hal_kernel_hardware.h"
33 /******************************************************************************\
34 ********************************** Structures **********************************
35 \******************************************************************************/
38 /* gckKERNEL object. */
39 struct _gckVGKERNEL
41 /* Object. */
42 gcsOBJECT object;
44 /* Pointer to gckOS object. */
45 gckOS os;
47 /* Pointer to gckHARDWARE object. */
48 gckVGHARDWARE hardware;
50 /* Pointer to gckINTERRUPT object. */
51 gckVGINTERRUPT interrupt;
53 /* Pointer to gckCOMMAND object. */
54 gckVGCOMMAND command;
56 /* Pointer to context. */
57 gctPOINTER context;
59 /* Pointer to gckMMU object. */
60 gckVGMMU mmu;
62 gckKERNEL kernel;
65 /* gckMMU object. */
66 struct _gckVGMMU
68 /* The object. */
69 gcsOBJECT object;
71 /* Pointer to gckOS object. */
72 gckOS os;
74 /* Pointer to gckHARDWARE object. */
75 gckVGHARDWARE hardware;
77 /* The page table mutex. */
78 gctPOINTER mutex;
80 /* Page table information. */
81 gctSIZE_T pageTableSize;
82 gctPHYS_ADDR pageTablePhysical;
83 gctPOINTER pageTableLogical;
85 /* Allocation index. */
86 gctUINT32 entryCount;
87 gctUINT32 entry;
90 #endif /* __gc_hal_kernel_h_ */