ENGR00156850 gpu-viv: add gpu-viv driver source
[wandboard.git] / drivers / mxc / gpu-viv / arch / XAQ2 / hal / kernel / gc_hal_kernel_hardware.h
blob1f6beec65fe50bd118cac51097a218888a689b96
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 *****************************************************************************/
24 #ifndef __gc_hal_kernel_hardware_h_
25 #define __gc_hal_kernel_hardware_h_
27 #if gcdENABLE_VG
28 #include "gc_hal_kernel_hardware_vg.h"
29 #endif
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
35 /* gckHARDWARE object. */
36 struct _gckHARDWARE
38 /* Object. */
39 gcsOBJECT object;
41 /* Pointer to gctKERNEL object. */
42 gckKERNEL kernel;
44 /* Pointer to gctOS object. */
45 gckOS os;
47 /* Core */
48 gceCORE core;
50 /* Chip characteristics. */
51 gceCHIPMODEL chipModel;
52 gctUINT32 chipRevision;
53 gctUINT32 chipFeatures;
54 gctUINT32 chipMinorFeatures0;
55 gctUINT32 chipMinorFeatures1;
56 gctUINT32 chipMinorFeatures2;
57 gctUINT32 chipMinorFeatures3;
58 gctBOOL allowFastClear;
59 gctBOOL allowCompression;
60 gctUINT32 powerBaseAddress;
61 gctBOOL extraEventStates;
63 gctUINT32 pixelPipes;
64 gctUINT32 streamCount;
65 gctUINT32 registerMax;
66 gctUINT32 threadCount;
67 gctUINT32 shaderCoreCount;
68 gctUINT32 vertexCacheSize;
69 gctUINT32 vertexOutputBufferSize;
70 gctUINT32 instructionCount;
71 gctUINT32 numConstants;
72 gctUINT32 bufferSize;
74 /* Big endian */
75 gctBOOL bigEndian;
77 /* Chip status */
78 gctPOINTER powerMutex;
79 gctUINT32 powerProcess;
80 gctUINT32 powerThread;
81 gceCHIPPOWERSTATE chipPowerState;
82 gctUINT32 lastWaitLink;
83 gctBOOL clockState;
84 gctBOOL powerState;
85 gctPOINTER globalSemaphore;
87 gctISRMANAGERFUNC startIsr;
88 gctISRMANAGERFUNC stopIsr;
89 gctPOINTER isrContext;
91 gctUINT32 mmuVersion;
93 /* Type */
94 gceHARDWARE_TYPE type;
96 #if gcdPOWEROFF_TIMEOUT
97 gctUINT32 powerOffTime;
98 gctPOINTER powerOffSema;
99 #endif
102 gceSTATUS
103 gckHARDWARE_GetBaseAddress(
104 IN gckHARDWARE Hardware,
105 OUT gctUINT32_PTR BaseAddress
108 gceSTATUS
109 gckHARDWARE_NeedBaseAddress(
110 IN gckHARDWARE Hardware,
111 IN gctUINT32 State,
112 OUT gctBOOL_PTR NeedBase
115 gceSTATUS
116 gckHARDWARE_GetFrameInfo(
117 IN gckHARDWARE Hardware,
118 OUT gcsHAL_FRAME_INFO * FrameInfo
121 #ifdef __cplusplus
123 #endif
125 #endif /* __gc_hal_kernel_hardware_h_ */