fixes for bc_cat
[sgx.git] / pvr / sgxscript.h
1 /**********************************************************************
2  *
3  * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful but, except
10  * as otherwise stated in writing, without any warranty; without even the
11  * implied warranty of merchantability or fitness for a particular purpose.
12  * See the GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17  *
18  * The full GNU General Public License is included in this distribution in
19  * the file called "COPYING".
20  *
21  * Contact Information:
22  * Imagination Technologies Ltd. <gpl-support@imgtec.com>
23  * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK
24  *
25  ******************************************************************************/
26
27 #ifndef __SGXSCRIPT_H__
28 #define __SGXSCRIPT_H__
29
30
31 #define SGX_MAX_INIT_COMMANDS   64
32 #define SGX_MAX_DEINIT_COMMANDS 16
33
34 enum SGX_INIT_OPERATION {
35         SGX_INIT_OP_ILLEGAL = 0,
36         SGX_INIT_OP_WRITE_HW_REG,
37         /* Do not move this halt, especially not for something like PDUMP. */
38         SGX_INIT_OP_HALT,
39         SGX_INIT_OP_PDUMP_HW_REG,
40 };
41
42 union SGX_INIT_COMMAND {
43         enum SGX_INIT_OPERATION eOp;
44         struct {
45                 enum SGX_INIT_OPERATION eOp;
46                 u32 ui32Offset;
47                 u32 ui32Value;
48         } sWriteHWReg;
49 #if defined(PDUMP)
50         struct {
51                 enum SGX_INIT_OPERATION eOp;
52                 u32 ui32Offset;
53                 u32 ui32Value;
54         } sPDumpHWReg;
55 #endif
56 };
57
58 struct SGX_INIT_SCRIPTS {
59         union SGX_INIT_COMMAND asInitCommandsPart1[SGX_MAX_INIT_COMMANDS];
60         union SGX_INIT_COMMAND asInitCommandsPart2[SGX_MAX_INIT_COMMANDS];
61         union SGX_INIT_COMMAND asDeinitCommands[SGX_MAX_DEINIT_COMMANDS];
62 };
63
64 #endif