~gma500/+junk/emgd152-natty

« back to all changes in this revision

Viewing changes to emgd-dkms-1.5.15.3082/pvr/services4/include/pvr_bridge.h

  • Committer: Luca Forina
  • Date: 2011-02-06 15:11:54 UTC
  • Revision ID: luca.forina@gmail.com-20110206151154-9dzn5ugxjub9qenb
Upload Emgd 1.5.2 for Natty (override Maverick)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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 __PVR_BRIDGE_H__
 
28
#define __PVR_BRIDGE_H__
 
29
 
 
30
#if defined (__cplusplus)
 
31
extern "C" {
 
32
#endif
 
33
 
 
34
#include "servicesint.h"
 
35
 
 
36
#ifdef __linux__
 
37
 
 
38
                #include <linux/ioctl.h>
 
39
    
 
40
    #define PVRSRV_IOC_GID      'g'
 
41
    #define PVRSRV_IO(INDEX)    _IO(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
 
42
    #define PVRSRV_IOW(INDEX)   _IOW(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
 
43
    #define PVRSRV_IOR(INDEX)   _IOR(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
 
44
    #define PVRSRV_IOWR(INDEX)  _IOWR(PVRSRV_IOC_GID, INDEX, PVRSRV_BRIDGE_PACKAGE)
 
45
 
 
46
#else 
 
47
 
 
48
                        #error Unknown platform: Cannot define ioctls
 
49
 
 
50
        #define PVRSRV_IO(INDEX)    (PVRSRV_IOC_GID + INDEX)
 
51
        #define PVRSRV_IOW(INDEX)   (PVRSRV_IOC_GID + INDEX)
 
52
        #define PVRSRV_IOR(INDEX)   (PVRSRV_IOC_GID + INDEX)
 
53
        #define PVRSRV_IOWR(INDEX)  (PVRSRV_IOC_GID + INDEX)
 
54
 
 
55
        #define PVRSRV_BRIDGE_BASE                  PVRSRV_IOC_GID
 
56
#endif 
 
57
 
 
58
 
 
59
#define PVRSRV_BRIDGE_CORE_CMD_FIRST                    0UL
 
60
#define PVRSRV_BRIDGE_ENUM_DEVICES                              PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+0)     
 
61
#define PVRSRV_BRIDGE_ACQUIRE_DEVICEINFO                PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+1)     
 
62
#define PVRSRV_BRIDGE_RELEASE_DEVICEINFO                PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+2)     
 
63
#define PVRSRV_BRIDGE_CREATE_DEVMEMCONTEXT              PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+3)     
 
64
#define PVRSRV_BRIDGE_DESTROY_DEVMEMCONTEXT             PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+4)     
 
65
#define PVRSRV_BRIDGE_GET_DEVMEM_HEAPINFO               PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+5)     
 
66
#define PVRSRV_BRIDGE_ALLOC_DEVICEMEM                   PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+6)     
 
67
#define PVRSRV_BRIDGE_FREE_DEVICEMEM                    PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+7)     
 
68
#define PVRSRV_BRIDGE_GETFREE_DEVICEMEM                 PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+8)     
 
69
#define PVRSRV_BRIDGE_CREATE_COMMANDQUEUE               PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+9)     
 
70
#define PVRSRV_BRIDGE_DESTROY_COMMANDQUEUE              PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+10)    
 
71
#define PVRSRV_BRIDGE_MHANDLE_TO_MMAP_DATA           PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+11)   
 
72
#define PVRSRV_BRIDGE_CONNECT_SERVICES                  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+12)    
 
73
#define PVRSRV_BRIDGE_DISCONNECT_SERVICES               PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+13)    
 
74
#define PVRSRV_BRIDGE_WRAP_DEVICE_MEM                   PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+14)    
 
75
#define PVRSRV_BRIDGE_GET_DEVICEMEMINFO                 PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+15)    
 
76
#define PVRSRV_BRIDGE_RESERVE_DEV_VIRTMEM               PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+16)
 
77
#define PVRSRV_BRIDGE_FREE_DEV_VIRTMEM                  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+17)
 
78
#define PVRSRV_BRIDGE_MAP_EXT_MEMORY                    PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+18)
 
79
#define PVRSRV_BRIDGE_UNMAP_EXT_MEMORY                  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+19)
 
80
#define PVRSRV_BRIDGE_MAP_DEV_MEMORY                    PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+20)
 
81
#define PVRSRV_BRIDGE_UNMAP_DEV_MEMORY                  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+21)
 
82
#define PVRSRV_BRIDGE_MAP_DEVICECLASS_MEMORY    PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+22)
 
83
#define PVRSRV_BRIDGE_UNMAP_DEVICECLASS_MEMORY  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+23)
 
84
#define PVRSRV_BRIDGE_MAP_MEM_INFO_TO_USER              PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+24)
 
85
#define PVRSRV_BRIDGE_UNMAP_MEM_INFO_FROM_USER  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+25)
 
86
#define PVRSRV_BRIDGE_EXPORT_DEVICEMEM                  PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+26)
 
87
#define PVRSRV_BRIDGE_RELEASE_MMAP_DATA                 PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+27)
 
88
#define PVRSRV_BRIDGE_CORE_CMD_LAST                             (PVRSRV_BRIDGE_CORE_CMD_FIRST+27)
 
89
 
 
90
#define PVRSRV_BRIDGE_SIM_CMD_FIRST                             (PVRSRV_BRIDGE_CORE_CMD_LAST+1)
 
91
#define PVRSRV_BRIDGE_PROCESS_SIMISR_EVENT              PVRSRV_IOWR(PVRSRV_BRIDGE_SIM_CMD_FIRST+0)      
 
92
#define PVRSRV_BRIDGE_REGISTER_SIM_PROCESS              PVRSRV_IOWR(PVRSRV_BRIDGE_SIM_CMD_FIRST+1)      
 
93
#define PVRSRV_BRIDGE_UNREGISTER_SIM_PROCESS    PVRSRV_IOWR(PVRSRV_BRIDGE_SIM_CMD_FIRST+2)      
 
94
#define PVRSRV_BRIDGE_SIM_CMD_LAST                              (PVRSRV_BRIDGE_SIM_CMD_FIRST+2)
 
95
 
 
96
#define PVRSRV_BRIDGE_MAPPING_CMD_FIRST                 (PVRSRV_BRIDGE_SIM_CMD_LAST+1)
 
97
#define PVRSRV_BRIDGE_MAPPHYSTOUSERSPACE                PVRSRV_IOWR(PVRSRV_BRIDGE_MAPPING_CMD_FIRST+0)  
 
98
#define PVRSRV_BRIDGE_UNMAPPHYSTOUSERSPACE              PVRSRV_IOWR(PVRSRV_BRIDGE_MAPPING_CMD_FIRST+1)  
 
99
#define PVRSRV_BRIDGE_GETPHYSTOUSERSPACEMAP             PVRSRV_IOWR(PVRSRV_BRIDGE_MAPPING_CMD_FIRST+2)  
 
100
#define PVRSRV_BRIDGE_MAPPING_CMD_LAST                  (PVRSRV_BRIDGE_MAPPING_CMD_FIRST+2)
 
101
 
 
102
#define PVRSRV_BRIDGE_STATS_CMD_FIRST                   (PVRSRV_BRIDGE_MAPPING_CMD_LAST+1)
 
103
#define PVRSRV_BRIDGE_GET_FB_STATS                              PVRSRV_IOWR(PVRSRV_BRIDGE_STATS_CMD_FIRST+0)    
 
104
#define PVRSRV_BRIDGE_STATS_CMD_LAST                    (PVRSRV_BRIDGE_STATS_CMD_FIRST+0)
 
105
 
 
106
#define PVRSRV_BRIDGE_MISC_CMD_FIRST                    (PVRSRV_BRIDGE_STATS_CMD_LAST+1)
 
107
#define PVRSRV_BRIDGE_GET_MISC_INFO                             PVRSRV_IOWR(PVRSRV_BRIDGE_MISC_CMD_FIRST+0)     
 
108
#define PVRSRV_BRIDGE_RELEASE_MISC_INFO                 PVRSRV_IOWR(PVRSRV_BRIDGE_MISC_CMD_FIRST+1)     
 
109
#define PVRSRV_BRIDGE_MISC_CMD_LAST                             (PVRSRV_BRIDGE_MISC_CMD_FIRST+1)
 
110
 
 
111
#define PVRSRV_BRIDGE_OVERLAY_CMD_FIRST                 (PVRSRV_BRIDGE_MISC_CMD_LAST+1)
 
112
#if defined (SUPPORT_OVERLAY_ROTATE_BLIT)
 
113
#define PVRSRV_BRIDGE_INIT_3D_OVL_BLT_RES               PVRSRV_IOWR(PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+0)  
 
114
#define PVRSRV_BRIDGE_DEINIT_3D_OVL_BLT_RES             PVRSRV_IOWR(PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)  
 
115
#endif
 
116
#define PVRSRV_BRIDGE_OVERLAY_CMD_LAST                  (PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)
 
117
 
 
118
#if defined(PDUMP)
 
119
#define PVRSRV_BRIDGE_PDUMP_CMD_FIRST                   (PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)
 
120
#define PVRSRV_BRIDGE_PDUMP_INIT                        PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+0)    
 
121
#define PVRSRV_BRIDGE_PDUMP_MEMPOL                      PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+1)    
 
122
#define PVRSRV_BRIDGE_PDUMP_DUMPMEM                     PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+2)    
 
123
#define PVRSRV_BRIDGE_PDUMP_REG                         PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+3)    
 
124
#define PVRSRV_BRIDGE_PDUMP_REGPOL                      PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+4)    
 
125
#define PVRSRV_BRIDGE_PDUMP_COMMENT                     PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+5)    
 
126
#define PVRSRV_BRIDGE_PDUMP_SETFRAME                    PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+6)    
 
127
#define PVRSRV_BRIDGE_PDUMP_ISCAPTURING                 PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+7)    
 
128
#define PVRSRV_BRIDGE_PDUMP_DUMPBITMAP                  PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+8)    
 
129
#define PVRSRV_BRIDGE_PDUMP_DUMPREADREG                 PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+9)    
 
130
#define PVRSRV_BRIDGE_PDUMP_SYNCPOL                     PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+10)   
 
131
#define PVRSRV_BRIDGE_PDUMP_DUMPSYNC                    PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+11)   
 
132
#define PVRSRV_BRIDGE_PDUMP_MEMPAGES                    PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+12)   
 
133
#define PVRSRV_BRIDGE_PDUMP_DRIVERINFO                  PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+13)   
 
134
#define PVRSRV_BRIDGE_PDUMP_PDREG                       PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+14)   
 
135
#define PVRSRV_BRIDGE_PDUMP_DUMPPDDEVPADDR              PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+15)   
 
136
#define PVRSRV_BRIDGE_PDUMP_CYCLE_COUNT_REG_READ        PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+16)
 
137
#define PVRSRV_BRIDGE_PDUMP_STARTINITPHASE                      PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+17)
 
138
#define PVRSRV_BRIDGE_PDUMP_STOPINITPHASE                       PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
 
139
#define PVRSRV_BRIDGE_PDUMP_CMD_LAST                    (PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
 
140
#else
 
141
#define PVRSRV_BRIDGE_PDUMP_CMD_LAST                    PVRSRV_BRIDGE_OVERLAY_CMD_LAST
 
142
#endif
 
143
 
 
144
#define PVRSRV_BRIDGE_OEM_CMD_FIRST                             (PVRSRV_BRIDGE_PDUMP_CMD_LAST+1)
 
145
#define PVRSRV_BRIDGE_GET_OEMJTABLE                             PVRSRV_IOWR(PVRSRV_BRIDGE_OEM_CMD_FIRST+0)      
 
146
#define PVRSRV_BRIDGE_OEM_CMD_LAST                              (PVRSRV_BRIDGE_OEM_CMD_FIRST+0)
 
147
 
 
148
#define PVRSRV_BRIDGE_DEVCLASS_CMD_FIRST                (PVRSRV_BRIDGE_OEM_CMD_LAST+1)
 
149
#define PVRSRV_BRIDGE_ENUM_CLASS                                PVRSRV_IOWR(PVRSRV_BRIDGE_DEVCLASS_CMD_FIRST+0)
 
150
#define PVRSRV_BRIDGE_DEVCLASS_CMD_LAST                 (PVRSRV_BRIDGE_DEVCLASS_CMD_FIRST+0)
 
151
 
 
152
#define PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST               (PVRSRV_BRIDGE_DEVCLASS_CMD_LAST+1)
 
153
#define PVRSRV_BRIDGE_OPEN_DISPCLASS_DEVICE             PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+0)
 
154
#define PVRSRV_BRIDGE_CLOSE_DISPCLASS_DEVICE    PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+1)
 
155
#define PVRSRV_BRIDGE_ENUM_DISPCLASS_FORMATS    PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+2)
 
156
#define PVRSRV_BRIDGE_ENUM_DISPCLASS_DIMS               PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+3)
 
157
#define PVRSRV_BRIDGE_GET_DISPCLASS_SYSBUFFER   PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+4)
 
158
#define PVRSRV_BRIDGE_GET_DISPCLASS_INFO                PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+5)
 
159
#define PVRSRV_BRIDGE_CREATE_DISPCLASS_SWAPCHAIN                PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+6)
 
160
#define PVRSRV_BRIDGE_DESTROY_DISPCLASS_SWAPCHAIN               PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+7)
 
161
#define PVRSRV_BRIDGE_SET_DISPCLASS_DSTRECT             PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+8)
 
162
#define PVRSRV_BRIDGE_SET_DISPCLASS_SRCRECT             PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+9)
 
163
#define PVRSRV_BRIDGE_SET_DISPCLASS_DSTCOLOURKEY                PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+10)
 
164
#define PVRSRV_BRIDGE_SET_DISPCLASS_SRCCOLOURKEY                PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+11)
 
165
#define PVRSRV_BRIDGE_GET_DISPCLASS_BUFFERS             PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+12)
 
166
#define PVRSRV_BRIDGE_SWAP_DISPCLASS_TO_BUFFER  PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+13)
 
167
#define PVRSRV_BRIDGE_SWAP_DISPCLASS_TO_SYSTEM  PVRSRV_IOWR(PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+14)
 
168
#define PVRSRV_BRIDGE_DISPCLASS_CMD_LAST                (PVRSRV_BRIDGE_DISPCLASS_CMD_FIRST+14)
 
169
 
 
170
 
 
171
#define PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST                (PVRSRV_BRIDGE_DISPCLASS_CMD_LAST+1)
 
172
#define PVRSRV_BRIDGE_OPEN_BUFFERCLASS_DEVICE   PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+0)
 
173
#define PVRSRV_BRIDGE_CLOSE_BUFFERCLASS_DEVICE  PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+1)
 
174
#define PVRSRV_BRIDGE_GET_BUFFERCLASS_INFO              PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+2)
 
175
#define PVRSRV_BRIDGE_GET_BUFFERCLASS_BUFFER    PVRSRV_IOWR(PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+3)
 
176
#define PVRSRV_BRIDGE_BUFCLASS_CMD_LAST                 (PVRSRV_BRIDGE_BUFCLASS_CMD_FIRST+3)
 
177
 
 
178
#define PVRSRV_BRIDGE_WRAP_CMD_FIRST                    (PVRSRV_BRIDGE_BUFCLASS_CMD_LAST+1)
 
179
#define PVRSRV_BRIDGE_WRAP_EXT_MEMORY                   PVRSRV_IOWR(PVRSRV_BRIDGE_WRAP_CMD_FIRST+0)
 
180
#define PVRSRV_BRIDGE_UNWRAP_EXT_MEMORY                 PVRSRV_IOWR(PVRSRV_BRIDGE_WRAP_CMD_FIRST+1)
 
181
#define PVRSRV_BRIDGE_WRAP_CMD_LAST                             (PVRSRV_BRIDGE_WRAP_CMD_FIRST+1)
 
182
 
 
183
#define PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST               (PVRSRV_BRIDGE_WRAP_CMD_LAST+1)
 
184
#define PVRSRV_BRIDGE_ALLOC_SHARED_SYS_MEM              PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+0)
 
185
#define PVRSRV_BRIDGE_FREE_SHARED_SYS_MEM               PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+1)
 
186
#define PVRSRV_BRIDGE_MAP_MEMINFO_MEM                   PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+2)
 
187
#define PVRSRV_BRIDGE_UNMAP_MEMINFO_MEM                 PVRSRV_IOWR(PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+3)
 
188
#define PVRSRV_BRIDGE_SHAREDMEM_CMD_LAST                (PVRSRV_BRIDGE_SHAREDMEM_CMD_FIRST+3)
 
189
 
 
190
#define PVRSRV_BRIDGE_SERVICES4_TMP_CMD_FIRST   (PVRSRV_BRIDGE_SHAREDMEM_CMD_LAST+1)
 
191
#define PVRSRV_BRIDGE_GETMMU_PD_DEVPADDR        PVRSRV_IOWR(PVRSRV_BRIDGE_SERVICES4_TMP_CMD_FIRST+0)
 
192
#define PVRSRV_BRIDGE_SERVICES4_TMP_CMD_LAST    (PVRSRV_BRIDGE_SERVICES4_TMP_CMD_FIRST+0)
 
193
 
 
194
#define PVRSRV_BRIDGE_INITSRV_CMD_FIRST                 (PVRSRV_BRIDGE_SERVICES4_TMP_CMD_LAST+1)
 
195
#define PVRSRV_BRIDGE_INITSRV_CONNECT                   PVRSRV_IOWR(PVRSRV_BRIDGE_INITSRV_CMD_FIRST+0)
 
196
#define PVRSRV_BRIDGE_INITSRV_DISCONNECT                PVRSRV_IOWR(PVRSRV_BRIDGE_INITSRV_CMD_FIRST+1)
 
197
#define PVRSRV_BRIDGE_INITSRV_CMD_LAST                  (PVRSRV_BRIDGE_INITSRV_CMD_FIRST+1)
 
198
 
 
199
#define PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST    (PVRSRV_BRIDGE_INITSRV_CMD_LAST+1)      
 
200
#define PVRSRV_BRIDGE_EVENT_OBJECT_WAIT                 PVRSRV_IOWR(PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+0)
 
201
#define PVRSRV_BRIDGE_EVENT_OBJECT_OPEN                 PVRSRV_IOWR(PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+1)
 
202
#define PVRSRV_BRIDGE_EVENT_OBJECT_CLOSE                PVRSRV_IOWR(PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+2)
 
203
#define PVRSRV_BRIDGE_EVENT_OBJECT_CMD_LAST             (PVRSRV_BRIDGE_EVENT_OBJECT_CMD_FIRST+2)
 
204
 
 
205
#define PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST                (PVRSRV_BRIDGE_EVENT_OBJECT_CMD_LAST+1)
 
206
#define PVRSRV_BRIDGE_MODIFY_PENDING_SYNC_OPS   PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+0)
 
207
#define PVRSRV_BRIDGE_MODIFY_COMPLETE_SYNC_OPS  PVRSRV_IOWR(PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+1)
 
208
#define PVRSRV_BRIDGE_SYNC_OPS_CMD_LAST                 (PVRSRV_BRIDGE_SYNC_OPS_CMD_FIRST+1)
 
209
        
 
210
#define PVRSRV_BRIDGE_LAST_NON_DEVICE_CMD               (PVRSRV_BRIDGE_SYNC_OPS_CMD_LAST+1)
 
211
 
 
212
 
 
213
#define PVRSRV_KERNEL_MODE_CLIENT                               1
 
214
 
 
215
typedef struct PVRSRV_BRIDGE_RETURN_TAG
 
216
{
 
217
        PVRSRV_ERROR eError;
 
218
        IMG_VOID *pvData;
 
219
 
 
220
}PVRSRV_BRIDGE_RETURN;
 
221
 
 
222
 
 
223
typedef struct PVRSRV_BRIDGE_PACKAGE_TAG
 
224
{
 
225
        IMG_UINT32                              ui32BridgeID;                   
 
226
        IMG_UINT32                              ui32Size;                               
 
227
        IMG_VOID                                *pvParamIn;                              
 
228
        IMG_UINT32                              ui32InBufferSize;               
 
229
        IMG_VOID                                *pvParamOut;                    
 
230
        IMG_UINT32                              ui32OutBufferSize;              
 
231
 
 
232
        IMG_HANDLE                              hKernelServices;                
 
233
}PVRSRV_BRIDGE_PACKAGE;
 
234
 
 
235
 
 
236
 
 
237
 
 
238
 
 
239
typedef struct PVRSRV_BRIDGE_IN_ACQUIRE_DEVICEINFO_TAG
 
240
{
 
241
        IMG_UINT32                      ui32BridgeFlags; 
 
242
        IMG_UINT32                      uiDevIndex;
 
243
        PVRSRV_DEVICE_TYPE      eDeviceType;
 
244
 
 
245
} PVRSRV_BRIDGE_IN_ACQUIRE_DEVICEINFO;
 
246
 
 
247
 
 
248
typedef struct PVRSRV_BRIDGE_IN_ENUMCLASS_TAG
 
249
{
 
250
        IMG_UINT32                      ui32BridgeFlags; 
 
251
        PVRSRV_DEVICE_CLASS sDeviceClass;
 
252
} PVRSRV_BRIDGE_IN_ENUMCLASS;
 
253
 
 
254
 
 
255
typedef struct PVRSRV_BRIDGE_IN_CLOSE_DISPCLASS_DEVICE_TAG
 
256
{
 
257
        IMG_UINT32                      ui32BridgeFlags; 
 
258
        IMG_HANDLE                      hDeviceKM;
 
259
} PVRSRV_BRIDGE_IN_CLOSE_DISPCLASS_DEVICE;
 
260
 
 
261
 
 
262
typedef struct PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_FORMATS_TAG
 
263
{
 
264
        IMG_UINT32                      ui32BridgeFlags; 
 
265
        IMG_HANDLE                      hDeviceKM;
 
266
} PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_FORMATS;
 
267
 
 
268
 
 
269
typedef struct PVRSRV_BRIDGE_IN_GET_DISPCLASS_SYSBUFFER_TAG
 
270
{
 
271
        IMG_UINT32                      ui32BridgeFlags; 
 
272
        IMG_HANDLE                      hDeviceKM;
 
273
} PVRSRV_BRIDGE_IN_GET_DISPCLASS_SYSBUFFER;
 
274
 
 
275
 
 
276
typedef struct PVRSRV_BRIDGE_IN_GET_DISPCLASS_INFO_TAG
 
277
{
 
278
        IMG_UINT32                      ui32BridgeFlags; 
 
279
        IMG_HANDLE                      hDeviceKM;
 
280
} PVRSRV_BRIDGE_IN_GET_DISPCLASS_INFO;
 
281
 
 
282
 
 
283
typedef struct PVRSRV_BRIDGE_IN_CLOSE_BUFFERCLASS_DEVICE_TAG
 
284
{
 
285
        IMG_UINT32                      ui32BridgeFlags; 
 
286
        IMG_HANDLE                      hDeviceKM;
 
287
} PVRSRV_BRIDGE_IN_CLOSE_BUFFERCLASS_DEVICE;
 
288
 
 
289
 
 
290
typedef struct PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_INFO_TAG
 
291
{
 
292
        IMG_UINT32                      ui32BridgeFlags; 
 
293
        IMG_HANDLE                      hDeviceKM;
 
294
} PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_INFO;
 
295
 
 
296
 
 
297
 
 
298
typedef struct PVRSRV_BRIDGE_IN_RELEASE_DEVICEINFO_TAG
 
299
{
 
300
        IMG_UINT32                      ui32BridgeFlags; 
 
301
        IMG_HANDLE                      hDevCookie;
 
302
 
 
303
} PVRSRV_BRIDGE_IN_RELEASE_DEVICEINFO;
 
304
 
 
305
 
 
306
 
 
307
typedef struct PVRSRV_BRIDGE_IN_FREE_CLASSDEVICEINFO_TAG
 
308
{
 
309
        IMG_UINT32                      ui32BridgeFlags; 
 
310
        PVRSRV_DEVICE_CLASS DeviceClass;
 
311
        IMG_VOID*                       pvDevInfo;
 
312
 
 
313
}PVRSRV_BRIDGE_IN_FREE_CLASSDEVICEINFO;
 
314
 
 
315
 
 
316
 
 
317
typedef struct PVRSRV_BRIDGE_IN_GET_DEVMEM_HEAPINFO_TAG
 
318
{
 
319
        IMG_UINT32                      ui32BridgeFlags; 
 
320
        IMG_HANDLE                      hDevCookie;
 
321
        IMG_HANDLE                      hDevMemContext;
 
322
 
 
323
}PVRSRV_BRIDGE_IN_GET_DEVMEM_HEAPINFO;
 
324
 
 
325
 
 
326
 
 
327
typedef struct PVRSRV_BRIDGE_IN_CREATE_DEVMEMCONTEXT_TAG
 
328
{
 
329
        IMG_UINT32                      ui32BridgeFlags; 
 
330
        IMG_HANDLE                      hDevCookie;
 
331
 
 
332
}PVRSRV_BRIDGE_IN_CREATE_DEVMEMCONTEXT;
 
333
 
 
334
 
 
335
 
 
336
typedef struct PVRSRV_BRIDGE_IN_DESTROY_DEVMEMCONTEXT_TAG
 
337
{
 
338
        IMG_UINT32                      ui32BridgeFlags; 
 
339
        IMG_HANDLE                      hDevCookie;
 
340
        IMG_HANDLE                      hDevMemContext;
 
341
 
 
342
}PVRSRV_BRIDGE_IN_DESTROY_DEVMEMCONTEXT;
 
343
 
 
344
 
 
345
 
 
346
typedef struct PVRSRV_BRIDGE_IN_ALLOCDEVICEMEM_TAG
 
347
{
 
348
        IMG_UINT32                      ui32BridgeFlags; 
 
349
        IMG_HANDLE                      hDevCookie;
 
350
        IMG_HANDLE                      hDevMemHeap;
 
351
        IMG_UINT32                      ui32Attribs;
 
352
        IMG_SIZE_T                      ui32Size;
 
353
        IMG_SIZE_T                      ui32Alignment;
 
354
 
 
355
}PVRSRV_BRIDGE_IN_ALLOCDEVICEMEM;
 
356
 
 
357
 
 
358
typedef struct PVRSRV_BRIDGE_IN_MAPMEMINFOTOUSER_TAG
 
359
{
 
360
        IMG_UINT32                              ui32BridgeFlags; 
 
361
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
362
 
 
363
}PVRSRV_BRIDGE_IN_MAPMEMINFOTOUSER;
 
364
 
 
365
 
 
366
typedef struct PVRSRV_BRIDGE_IN_UNMAPMEMINFOFROMUSER_TAG
 
367
{
 
368
        IMG_UINT32                              ui32BridgeFlags; 
 
369
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
370
        IMG_PVOID                                pvLinAddr;
 
371
        IMG_HANDLE                               hMappingInfo;
 
372
 
 
373
}PVRSRV_BRIDGE_IN_UNMAPMEMINFOFROMUSER;
 
374
 
 
375
 
 
376
typedef struct PVRSRV_BRIDGE_IN_FREEDEVICEMEM_TAG
 
377
{
 
378
        IMG_UINT32                              ui32BridgeFlags; 
 
379
        IMG_HANDLE                              hDevCookie;
 
380
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
381
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
382
 
 
383
}PVRSRV_BRIDGE_IN_FREEDEVICEMEM;
 
384
 
 
385
 
 
386
typedef struct PVRSRV_BRIDGE_IN_EXPORTDEVICEMEM_TAG
 
387
{
 
388
        IMG_UINT32                              ui32BridgeFlags; 
 
389
        IMG_HANDLE                              hDevCookie;
 
390
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
391
 
 
392
}PVRSRV_BRIDGE_IN_EXPORTDEVICEMEM;
 
393
 
 
394
 
 
395
typedef struct PVRSRV_BRIDGE_IN_GETFREEDEVICEMEM_TAG
 
396
{
 
397
        IMG_UINT32                      ui32BridgeFlags; 
 
398
        IMG_UINT32                      ui32Flags;
 
399
 
 
400
} PVRSRV_BRIDGE_IN_GETFREEDEVICEMEM;
 
401
 
 
402
 
 
403
typedef struct PVRSRV_BRIDGE_IN_CREATECOMMANDQUEUE_TAG
 
404
{
 
405
        IMG_UINT32                      ui32BridgeFlags; 
 
406
        IMG_HANDLE                      hDevCookie;
 
407
        IMG_SIZE_T                      ui32QueueSize;
 
408
 
 
409
}PVRSRV_BRIDGE_IN_CREATECOMMANDQUEUE;
 
410
 
 
411
 
 
412
 
 
413
typedef struct PVRSRV_BRIDGE_IN_DESTROYCOMMANDQUEUE_TAG
 
414
{
 
415
        IMG_UINT32                      ui32BridgeFlags; 
 
416
        IMG_HANDLE                      hDevCookie;
 
417
        PVRSRV_QUEUE_INFO       *psQueueInfo;
 
418
 
 
419
}PVRSRV_BRIDGE_IN_DESTROYCOMMANDQUEUE;
 
420
 
 
421
 
 
422
 
 
423
typedef struct PVRSRV_BRIDGE_IN_MHANDLE_TO_MMAP_DATA_TAG
 
424
{
 
425
        IMG_UINT32                      ui32BridgeFlags; 
 
426
        IMG_HANDLE                      hMHandle;        
 
427
} PVRSRV_BRIDGE_IN_MHANDLE_TO_MMAP_DATA;
 
428
 
 
429
 
 
430
 
 
431
typedef struct PVRSRV_BRIDGE_IN_RELEASE_MMAP_DATA_TAG
 
432
{
 
433
        IMG_UINT32                      ui32BridgeFlags; 
 
434
        IMG_HANDLE                      hMHandle;        
 
435
} PVRSRV_BRIDGE_IN_RELEASE_MMAP_DATA;
 
436
 
 
437
 
 
438
 
 
439
typedef struct PVRSRV_BRIDGE_IN_RESERVE_DEV_VIRTMEM_TAG
 
440
{
 
441
        IMG_UINT32                      ui32BridgeFlags; 
 
442
        IMG_HANDLE                      hDevMemHeap;
 
443
        IMG_DEV_VIRTADDR        *psDevVAddr;
 
444
        IMG_SIZE_T                      ui32Size;
 
445
        IMG_SIZE_T                      ui32Alignment;
 
446
 
 
447
}PVRSRV_BRIDGE_IN_RESERVE_DEV_VIRTMEM;
 
448
 
 
449
 
 
450
typedef struct PVRSRV_BRIDGE_OUT_CONNECT_SERVICES_TAG
 
451
{
 
452
        PVRSRV_ERROR                    eError;
 
453
        IMG_HANDLE              hKernelServices;
 
454
}PVRSRV_BRIDGE_OUT_CONNECT_SERVICES;
 
455
 
 
456
 
 
457
typedef struct PVRSRV_BRIDGE_OUT_RESERVE_DEV_VIRTMEM_TAG
 
458
{
 
459
        PVRSRV_ERROR                    eError;
 
460
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
461
        PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
 
462
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
463
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
464
 
 
465
}PVRSRV_BRIDGE_OUT_RESERVE_DEV_VIRTMEM;
 
466
 
 
467
 
 
468
 
 
469
typedef struct PVRSRV_BRIDGE_IN_FREE_DEV_VIRTMEM_TAG
 
470
{
 
471
        IMG_UINT32                              ui32BridgeFlags; 
 
472
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
473
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
474
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
475
 
 
476
}PVRSRV_BRIDGE_IN_FREE_DEV_VIRTMEM;
 
477
 
 
478
 
 
479
 
 
480
typedef struct PVRSRV_BRIDGE_IN_MAP_DEV_MEMORY_TAG
 
481
{
 
482
        IMG_UINT32                              ui32BridgeFlags; 
 
483
        IMG_HANDLE                              hKernelMemInfo;
 
484
        IMG_HANDLE                              hDstDevMemHeap;
 
485
 
 
486
}PVRSRV_BRIDGE_IN_MAP_DEV_MEMORY;
 
487
 
 
488
 
 
489
 
 
490
typedef struct PVRSRV_BRIDGE_OUT_MAP_DEV_MEMORY_TAG
 
491
{
 
492
        PVRSRV_ERROR                    eError;
 
493
        PVRSRV_KERNEL_MEM_INFO  *psDstKernelMemInfo;
 
494
        PVRSRV_KERNEL_SYNC_INFO *psDstKernelSyncInfo;   
 
495
        PVRSRV_CLIENT_MEM_INFO  sDstClientMemInfo;
 
496
        PVRSRV_CLIENT_SYNC_INFO sDstClientSyncInfo;
 
497
 
 
498
}PVRSRV_BRIDGE_OUT_MAP_DEV_MEMORY;
 
499
 
 
500
 
 
501
 
 
502
typedef struct PVRSRV_BRIDGE_IN_UNMAP_DEV_MEMORY_TAG
 
503
{
 
504
        IMG_UINT32                                      ui32BridgeFlags; 
 
505
        PVRSRV_KERNEL_MEM_INFO          *psKernelMemInfo;
 
506
        PVRSRV_CLIENT_MEM_INFO          sClientMemInfo;
 
507
        PVRSRV_CLIENT_SYNC_INFO         sClientSyncInfo;        
 
508
 
 
509
}PVRSRV_BRIDGE_IN_UNMAP_DEV_MEMORY;
 
510
 
 
511
 
 
512
 
 
513
typedef struct PVRSRV_BRIDGE_IN_MAP_EXT_MEMORY_TAG
 
514
{
 
515
        IMG_UINT32                              ui32BridgeFlags; 
 
516
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
517
        IMG_SYS_PHYADDR                 *psSysPAddr;
 
518
        IMG_UINT32                              ui32Flags;
 
519
 
 
520
}PVRSRV_BRIDGE_IN_MAP_EXT_MEMORY;
 
521
 
 
522
 
 
523
typedef struct PVRSRV_BRIDGE_IN_UNMAP_EXT_MEMORY_TAG
 
524
{
 
525
        IMG_UINT32                                      ui32BridgeFlags; 
 
526
        PVRSRV_CLIENT_MEM_INFO          sClientMemInfo;
 
527
        PVRSRV_CLIENT_SYNC_INFO         sClientSyncInfo;
 
528
        IMG_UINT32                                      ui32Flags;
 
529
 
 
530
}PVRSRV_BRIDGE_IN_UNMAP_EXT_MEMORY;
 
531
 
 
532
 
 
533
typedef struct PVRSRV_BRIDGE_IN_MAP_DEVICECLASS_MEMORY_TAG
 
534
{
 
535
        IMG_UINT32                                      ui32BridgeFlags; 
 
536
        IMG_HANDLE              hDeviceClassBuffer;
 
537
        IMG_HANDLE              hDevMemContext;
 
538
 
 
539
}PVRSRV_BRIDGE_IN_MAP_DEVICECLASS_MEMORY;
 
540
 
 
541
 
 
542
 
 
543
typedef struct PVRSRV_BRIDGE_OUT_MAP_DEVICECLASS_MEMORY_TAG
 
544
{
 
545
        PVRSRV_ERROR                    eError;
 
546
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
547
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
548
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
549
        PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;      
 
550
        IMG_HANDLE                              hMappingInfo;
 
551
 
 
552
}PVRSRV_BRIDGE_OUT_MAP_DEVICECLASS_MEMORY;
 
553
 
 
554
 
 
555
 
 
556
typedef struct PVRSRV_BRIDGE_IN_UNMAP_DEVICECLASS_MEMORY_TAG
 
557
{
 
558
        IMG_UINT32                              ui32BridgeFlags; 
 
559
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
560
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
561
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
562
 
 
563
}PVRSRV_BRIDGE_IN_UNMAP_DEVICECLASS_MEMORY;
 
564
 
 
565
 
 
566
 
 
567
typedef struct PVRSRV_BRIDGE_IN_PDUMP_MEMPOL_TAG
 
568
{
 
569
        IMG_UINT32 ui32BridgeFlags; 
 
570
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
571
        IMG_UINT32 ui32Offset;
 
572
        IMG_UINT32 ui32Value;
 
573
        IMG_UINT32 ui32Mask;
 
574
        IMG_UINT32 ui32Flags;
 
575
 
 
576
}PVRSRV_BRIDGE_IN_PDUMP_MEMPOL;
 
577
 
 
578
 
 
579
typedef struct PVRSRV_BRIDGE_IN_PDUMP_SYNCPOL_TAG
 
580
{
 
581
        IMG_UINT32 ui32BridgeFlags; 
 
582
        PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
 
583
        IMG_BOOL bIsRead;
 
584
        IMG_UINT32 ui32Value;
 
585
        IMG_UINT32 ui32Mask;
 
586
 
 
587
}PVRSRV_BRIDGE_IN_PDUMP_SYNCPOL;
 
588
 
 
589
 
 
590
 
 
591
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPMEM_TAG
 
592
{
 
593
        IMG_UINT32 ui32BridgeFlags; 
 
594
        IMG_PVOID pvLinAddr;
 
595
        IMG_PVOID pvAltLinAddr;
 
596
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
597
        IMG_UINT32 ui32Offset;
 
598
        IMG_UINT32 ui32Bytes;
 
599
        IMG_UINT32 ui32Flags;
 
600
 
 
601
}PVRSRV_BRIDGE_IN_PDUMP_DUMPMEM;
 
602
 
 
603
 
 
604
 
 
605
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPSYNC_TAG
 
606
{
 
607
        IMG_UINT32 ui32BridgeFlags; 
 
608
        IMG_PVOID pvAltLinAddr;
 
609
        PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
 
610
        IMG_UINT32 ui32Offset;
 
611
        IMG_UINT32 ui32Bytes;
 
612
 
 
613
}PVRSRV_BRIDGE_IN_PDUMP_DUMPSYNC;
 
614
 
 
615
 
 
616
 
 
617
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPREG_TAG
 
618
{
 
619
        IMG_UINT32 ui32BridgeFlags; 
 
620
        PVRSRV_HWREG sHWReg;
 
621
        IMG_UINT32 ui32Flags;
 
622
 
 
623
}PVRSRV_BRIDGE_IN_PDUMP_DUMPREG;
 
624
 
 
625
 
 
626
typedef struct PVRSRV_BRIDGE_IN_PDUMP_REGPOL_TAG
 
627
{
 
628
        IMG_UINT32 ui32BridgeFlags; 
 
629
        PVRSRV_HWREG sHWReg;
 
630
        IMG_UINT32 ui32Mask;
 
631
        IMG_UINT32 ui32Flags;
 
632
}PVRSRV_BRIDGE_IN_PDUMP_REGPOL;
 
633
 
 
634
 
 
635
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPPDREG_TAG
 
636
{
 
637
        IMG_UINT32 ui32BridgeFlags; 
 
638
        PVRSRV_HWREG sHWReg;
 
639
        IMG_UINT32 ui32Flags;
 
640
 
 
641
}PVRSRV_BRIDGE_IN_PDUMP_DUMPPDREG;
 
642
 
 
643
 
 
644
typedef struct PVRSRV_BRIDGE_IN_PDUMP_MEMPAGES_TAG
 
645
{
 
646
        IMG_UINT32                      ui32BridgeFlags; 
 
647
        IMG_HANDLE                      hKernelMemInfo;
 
648
        IMG_DEV_PHYADDR         *pPages;
 
649
        IMG_UINT32                      ui32NumPages;
 
650
        IMG_DEV_VIRTADDR        sDevAddr;
 
651
        IMG_UINT32                      ui32Start;
 
652
        IMG_UINT32                      ui32Length;
 
653
        IMG_BOOL                        bContinuous;
 
654
 
 
655
}PVRSRV_BRIDGE_IN_PDUMP_MEMPAGES;
 
656
 
 
657
 
 
658
typedef struct PVRSRV_BRIDGE_IN_PDUMP_COMMENT_TAG
 
659
{
 
660
        IMG_UINT32 ui32BridgeFlags; 
 
661
        IMG_CHAR szComment[PVRSRV_PDUMP_MAX_COMMENT_SIZE];
 
662
        IMG_UINT32 ui32Flags;
 
663
 
 
664
}PVRSRV_BRIDGE_IN_PDUMP_COMMENT;
 
665
 
 
666
 
 
667
 
 
668
typedef struct PVRSRV_BRIDGE_IN_PDUMP_SETFRAME_TAG
 
669
{
 
670
        IMG_UINT32 ui32BridgeFlags; 
 
671
        IMG_UINT32 ui32Frame;
 
672
 
 
673
}PVRSRV_BRIDGE_IN_PDUMP_SETFRAME;
 
674
 
 
675
 
 
676
 
 
677
 
 
678
typedef struct PVRSRV_BRIDGE_IN_PDUMP_BITMAP_TAG
 
679
{
 
680
        IMG_UINT32 ui32BridgeFlags; 
 
681
        IMG_CHAR szFileName[PVRSRV_PDUMP_MAX_FILENAME_SIZE];
 
682
        IMG_UINT32 ui32FileOffset;
 
683
        IMG_UINT32 ui32Width;
 
684
        IMG_UINT32 ui32Height;
 
685
        IMG_UINT32 ui32StrideInBytes;
 
686
        IMG_DEV_VIRTADDR sDevBaseAddr;
 
687
        IMG_UINT32 ui32Size;
 
688
        PDUMP_PIXEL_FORMAT ePixelFormat;
 
689
        PDUMP_MEM_FORMAT eMemFormat;
 
690
        IMG_UINT32 ui32Flags;
 
691
 
 
692
}PVRSRV_BRIDGE_IN_PDUMP_BITMAP;
 
693
 
 
694
 
 
695
 
 
696
typedef struct PVRSRV_BRIDGE_IN_PDUMP_READREG_TAG
 
697
{
 
698
        IMG_UINT32 ui32BridgeFlags; 
 
699
        IMG_CHAR szFileName[PVRSRV_PDUMP_MAX_FILENAME_SIZE];
 
700
        IMG_UINT32 ui32FileOffset;
 
701
        IMG_UINT32 ui32Address;
 
702
        IMG_UINT32 ui32Size;
 
703
        IMG_UINT32 ui32Flags;
 
704
 
 
705
}PVRSRV_BRIDGE_IN_PDUMP_READREG;
 
706
 
 
707
 
 
708
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DRIVERINFO_TAG
 
709
{
 
710
        IMG_UINT32 ui32BridgeFlags; 
 
711
        IMG_CHAR szString[PVRSRV_PDUMP_MAX_COMMENT_SIZE];
 
712
        IMG_BOOL bContinuous;
 
713
 
 
714
}PVRSRV_BRIDGE_IN_PDUMP_DRIVERINFO;
 
715
 
 
716
typedef struct PVRSRV_BRIDGE_IN_PDUMP_DUMPPDDEVPADDR_TAG
 
717
{
 
718
        IMG_UINT32 ui32BridgeFlags; 
 
719
        IMG_HANDLE hKernelMemInfo;
 
720
        IMG_UINT32 ui32Offset;
 
721
        IMG_DEV_PHYADDR sPDDevPAddr;
 
722
}PVRSRV_BRIDGE_IN_PDUMP_DUMPPDDEVPADDR;
 
723
 
 
724
 
 
725
typedef struct PVRSRV_BRIDGE_PDUM_IN_CYCLE_COUNT_REG_READ_TAG
 
726
{
 
727
        IMG_UINT32 ui32BridgeFlags; 
 
728
        IMG_UINT32 ui32RegOffset;
 
729
        IMG_BOOL bLastFrame;
 
730
}PVRSRV_BRIDGE_IN_PDUMP_CYCLE_COUNT_REG_READ;
 
731
 
 
732
 
 
733
typedef struct PVRSRV_BRIDGE_OUT_ENUMDEVICE_TAG
 
734
{
 
735
        PVRSRV_ERROR eError;
 
736
        IMG_UINT32 ui32NumDevices;
 
737
        PVRSRV_DEVICE_IDENTIFIER asDeviceIdentifier[PVRSRV_MAX_DEVICES];
 
738
 
 
739
}PVRSRV_BRIDGE_OUT_ENUMDEVICE;
 
740
 
 
741
 
 
742
 
 
743
typedef struct PVRSRV_BRIDGE_OUT_ACQUIRE_DEVICEINFO_TAG
 
744
{
 
745
 
 
746
        PVRSRV_ERROR            eError;
 
747
        IMG_HANDLE                      hDevCookie;
 
748
 
 
749
} PVRSRV_BRIDGE_OUT_ACQUIRE_DEVICEINFO;
 
750
 
 
751
 
 
752
 
 
753
typedef struct PVRSRV_BRIDGE_OUT_ENUMCLASS_TAG
 
754
{
 
755
        PVRSRV_ERROR eError;
 
756
        IMG_UINT32 ui32NumDevices;
 
757
        IMG_UINT32 ui32DevID[PVRSRV_MAX_DEVICES];
 
758
 
 
759
}PVRSRV_BRIDGE_OUT_ENUMCLASS;
 
760
 
 
761
 
 
762
 
 
763
typedef struct PVRSRV_BRIDGE_IN_OPEN_DISPCLASS_DEVICE_TAG
 
764
{
 
765
        IMG_UINT32              ui32BridgeFlags; 
 
766
        IMG_UINT32              ui32DeviceID;
 
767
        IMG_HANDLE              hDevCookie;
 
768
        
 
769
}PVRSRV_BRIDGE_IN_OPEN_DISPCLASS_DEVICE;
 
770
 
 
771
 
 
772
typedef struct PVRSRV_BRIDGE_OUT_OPEN_DISPCLASS_DEVICE_TAG
 
773
{
 
774
        PVRSRV_ERROR    eError;
 
775
        IMG_HANDLE              hDeviceKM;
 
776
 
 
777
}PVRSRV_BRIDGE_OUT_OPEN_DISPCLASS_DEVICE;
 
778
 
 
779
 
 
780
 
 
781
typedef struct PVRSRV_BRIDGE_IN_WRAP_EXT_MEMORY_TAG
 
782
{
 
783
        IMG_UINT32                              ui32BridgeFlags; 
 
784
        IMG_HANDLE              hDevCookie;
 
785
        IMG_HANDLE                              hDevMemContext;
 
786
        IMG_VOID                                *pvLinAddr;
 
787
        IMG_SIZE_T              ui32ByteSize;
 
788
        IMG_SIZE_T              ui32PageOffset;
 
789
        IMG_BOOL                bPhysContig;
 
790
        IMG_UINT32                              ui32NumPageTableEntries;
 
791
        IMG_SYS_PHYADDR         *psSysPAddr;
 
792
        IMG_UINT32                              ui32Flags;
 
793
 
 
794
}PVRSRV_BRIDGE_IN_WRAP_EXT_MEMORY;
 
795
 
 
796
 
 
797
typedef struct PVRSRV_BRIDGE_OUT_WRAP_EXT_MEMORY_TAG
 
798
{
 
799
        PVRSRV_ERROR    eError;
 
800
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
801
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
802
 
 
803
}PVRSRV_BRIDGE_OUT_WRAP_EXT_MEMORY;
 
804
 
 
805
 
 
806
typedef struct PVRSRV_BRIDGE_IN_UNWRAP_EXT_MEMORY_TAG
 
807
{
 
808
        IMG_UINT32 ui32BridgeFlags; 
 
809
        IMG_HANDLE hKernelMemInfo;
 
810
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
811
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
812
 
 
813
}PVRSRV_BRIDGE_IN_UNWRAP_EXT_MEMORY;
 
814
 
 
815
 
 
816
#define PVRSRV_MAX_DC_DISPLAY_FORMATS                   10
 
817
#define PVRSRV_MAX_DC_DISPLAY_DIMENSIONS                10
 
818
#define PVRSRV_MAX_DC_SWAPCHAIN_BUFFERS                 4
 
819
#define PVRSRV_MAX_DC_CLIP_RECTS                                32
 
820
 
 
821
 
 
822
typedef struct PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_FORMATS_TAG
 
823
{
 
824
        PVRSRV_ERROR    eError;
 
825
        IMG_UINT32              ui32Count;
 
826
        DISPLAY_FORMAT  asFormat[PVRSRV_MAX_DC_DISPLAY_FORMATS];
 
827
 
 
828
}PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_FORMATS;
 
829
 
 
830
 
 
831
 
 
832
typedef struct PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_DIMS_TAG
 
833
{
 
834
        IMG_UINT32              ui32BridgeFlags; 
 
835
        IMG_HANDLE              hDeviceKM;
 
836
        DISPLAY_FORMAT  sFormat;
 
837
 
 
838
}PVRSRV_BRIDGE_IN_ENUM_DISPCLASS_DIMS;
 
839
 
 
840
 
 
841
 
 
842
typedef struct PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_DIMS_TAG
 
843
{
 
844
        PVRSRV_ERROR    eError;
 
845
        IMG_UINT32              ui32Count;
 
846
        DISPLAY_DIMS    asDim[PVRSRV_MAX_DC_DISPLAY_DIMENSIONS];
 
847
 
 
848
}PVRSRV_BRIDGE_OUT_ENUM_DISPCLASS_DIMS;
 
849
 
 
850
 
 
851
 
 
852
typedef struct PVRSRV_BRIDGE_OUT_GET_DISPCLASS_INFO_TAG
 
853
{
 
854
        PVRSRV_ERROR    eError;
 
855
        DISPLAY_INFO    sDisplayInfo;
 
856
 
 
857
}PVRSRV_BRIDGE_OUT_GET_DISPCLASS_INFO;
 
858
 
 
859
 
 
860
 
 
861
typedef struct PVRSRV_BRIDGE_OUT_GET_DISPCLASS_SYSBUFFER_TAG
 
862
{
 
863
        PVRSRV_ERROR    eError;
 
864
        IMG_HANDLE              hBuffer;
 
865
 
 
866
}PVRSRV_BRIDGE_OUT_GET_DISPCLASS_SYSBUFFER;
 
867
 
 
868
 
 
869
 
 
870
typedef struct PVRSRV_BRIDGE_IN_CREATE_DISPCLASS_SWAPCHAIN_TAG
 
871
{
 
872
        IMG_UINT32                              ui32BridgeFlags; 
 
873
        IMG_HANDLE                              hDeviceKM;
 
874
        IMG_UINT32                              ui32Flags;
 
875
        DISPLAY_SURF_ATTRIBUTES sDstSurfAttrib;
 
876
        DISPLAY_SURF_ATTRIBUTES sSrcSurfAttrib;
 
877
        IMG_UINT32                              ui32BufferCount;
 
878
        IMG_UINT32                              ui32OEMFlags;
 
879
        IMG_UINT32                              ui32SwapChainID;
 
880
 
 
881
} PVRSRV_BRIDGE_IN_CREATE_DISPCLASS_SWAPCHAIN;
 
882
 
 
883
 
 
884
 
 
885
typedef struct PVRSRV_BRIDGE_OUT_CREATE_DISPCLASS_SWAPCHAIN_TAG
 
886
{
 
887
        PVRSRV_ERROR            eError;
 
888
        IMG_HANDLE                      hSwapChain;
 
889
        IMG_UINT32                      ui32SwapChainID;
 
890
 
 
891
} PVRSRV_BRIDGE_OUT_CREATE_DISPCLASS_SWAPCHAIN;
 
892
 
 
893
 
 
894
 
 
895
typedef struct PVRSRV_BRIDGE_IN_DESTROY_DISPCLASS_SWAPCHAIN_TAG
 
896
{
 
897
        IMG_UINT32                      ui32BridgeFlags; 
 
898
        IMG_HANDLE                      hDeviceKM;
 
899
        IMG_HANDLE                      hSwapChain;
 
900
 
 
901
} PVRSRV_BRIDGE_IN_DESTROY_DISPCLASS_SWAPCHAIN;
 
902
 
 
903
 
 
904
 
 
905
typedef struct PVRSRV_BRIDGE_IN_SET_DISPCLASS_RECT_TAG
 
906
{
 
907
        IMG_UINT32                      ui32BridgeFlags; 
 
908
        IMG_HANDLE                      hDeviceKM;
 
909
        IMG_HANDLE                      hSwapChain;
 
910
        IMG_RECT                        sRect;
 
911
 
 
912
} PVRSRV_BRIDGE_IN_SET_DISPCLASS_RECT;
 
913
 
 
914
 
 
915
 
 
916
typedef struct PVRSRV_BRIDGE_IN_SET_DISPCLASS_COLOURKEY_TAG
 
917
{
 
918
        IMG_UINT32                      ui32BridgeFlags; 
 
919
        IMG_HANDLE                      hDeviceKM;
 
920
        IMG_HANDLE                      hSwapChain;
 
921
        IMG_UINT32                      ui32CKColour;
 
922
 
 
923
} PVRSRV_BRIDGE_IN_SET_DISPCLASS_COLOURKEY;
 
924
 
 
925
 
 
926
 
 
927
typedef struct PVRSRV_BRIDGE_IN_GET_DISPCLASS_BUFFERS_TAG
 
928
{
 
929
        IMG_UINT32                      ui32BridgeFlags; 
 
930
        IMG_HANDLE                      hDeviceKM;
 
931
        IMG_HANDLE                      hSwapChain;
 
932
 
 
933
} PVRSRV_BRIDGE_IN_GET_DISPCLASS_BUFFERS;
 
934
 
 
935
 
 
936
 
 
937
typedef struct PVRSRV_BRIDGE_OUT_GET_DISPCLASS_BUFFERS_TAG
 
938
{
 
939
        PVRSRV_ERROR            eError;
 
940
        IMG_UINT32                      ui32BufferCount;
 
941
        IMG_HANDLE                      ahBuffer[PVRSRV_MAX_DC_SWAPCHAIN_BUFFERS];
 
942
 
 
943
} PVRSRV_BRIDGE_OUT_GET_DISPCLASS_BUFFERS;
 
944
 
 
945
 
 
946
 
 
947
typedef struct PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_BUFFER_TAG
 
948
{
 
949
        IMG_UINT32                      ui32BridgeFlags; 
 
950
        IMG_HANDLE                      hDeviceKM;
 
951
        IMG_HANDLE                      hBuffer;
 
952
        IMG_UINT32                      ui32SwapInterval;
 
953
        IMG_HANDLE                      hPrivateTag;
 
954
        IMG_UINT32                      ui32ClipRectCount;
 
955
        IMG_RECT                        sClipRect[PVRSRV_MAX_DC_CLIP_RECTS];
 
956
 
 
957
} PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_BUFFER;
 
958
 
 
959
 
 
960
 
 
961
typedef struct PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_SYSTEM_TAG
 
962
{
 
963
        IMG_UINT32                      ui32BridgeFlags; 
 
964
        IMG_HANDLE                      hDeviceKM;
 
965
        IMG_HANDLE                      hSwapChain;
 
966
 
 
967
} PVRSRV_BRIDGE_IN_SWAP_DISPCLASS_TO_SYSTEM;
 
968
 
 
969
 
 
970
 
 
971
typedef struct PVRSRV_BRIDGE_IN_OPEN_BUFFERCLASS_DEVICE_TAG
 
972
{
 
973
        IMG_UINT32                      ui32BridgeFlags; 
 
974
        IMG_UINT32                      ui32DeviceID;
 
975
        IMG_HANDLE                      hDevCookie;
 
976
        
 
977
} PVRSRV_BRIDGE_IN_OPEN_BUFFERCLASS_DEVICE;
 
978
 
 
979
 
 
980
 
 
981
typedef struct PVRSRV_BRIDGE_OUT_OPEN_BUFFERCLASS_DEVICE_TAG
 
982
{
 
983
        PVRSRV_ERROR            eError;
 
984
        IMG_HANDLE                      hDeviceKM;
 
985
 
 
986
} PVRSRV_BRIDGE_OUT_OPEN_BUFFERCLASS_DEVICE;
 
987
 
 
988
 
 
989
 
 
990
typedef struct PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_INFO_TAG
 
991
{
 
992
        PVRSRV_ERROR            eError;
 
993
        BUFFER_INFO                     sBufferInfo;
 
994
 
 
995
} PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_INFO;
 
996
 
 
997
 
 
998
 
 
999
typedef struct PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_BUFFER_TAG
 
1000
{
 
1001
        IMG_UINT32                      ui32BridgeFlags; 
 
1002
        IMG_HANDLE                      hDeviceKM;
 
1003
        IMG_UINT32                      ui32BufferIndex;
 
1004
 
 
1005
} PVRSRV_BRIDGE_IN_GET_BUFFERCLASS_BUFFER;
 
1006
 
 
1007
 
 
1008
 
 
1009
typedef struct PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_BUFFER_TAG
 
1010
{
 
1011
        PVRSRV_ERROR            eError;
 
1012
        IMG_HANDLE                      hBuffer;
 
1013
 
 
1014
} PVRSRV_BRIDGE_OUT_GET_BUFFERCLASS_BUFFER;
 
1015
 
 
1016
 
 
1017
 
 
1018
typedef struct PVRSRV_BRIDGE_OUT_GET_DEVMEM_HEAPINFO_TAG
 
1019
{
 
1020
        PVRSRV_ERROR            eError;
 
1021
        IMG_UINT32                      ui32ClientHeapCount;
 
1022
        PVRSRV_HEAP_INFO        sHeapInfo[PVRSRV_MAX_CLIENT_HEAPS];
 
1023
 
 
1024
} PVRSRV_BRIDGE_OUT_GET_DEVMEM_HEAPINFO;
 
1025
 
 
1026
 
 
1027
 
 
1028
typedef struct PVRSRV_BRIDGE_OUT_CREATE_DEVMEMCONTEXT_TAG
 
1029
{
 
1030
        PVRSRV_ERROR            eError;
 
1031
        IMG_HANDLE                      hDevMemContext;
 
1032
        IMG_UINT32                      ui32ClientHeapCount;
 
1033
        PVRSRV_HEAP_INFO        sHeapInfo[PVRSRV_MAX_CLIENT_HEAPS];
 
1034
 
 
1035
} PVRSRV_BRIDGE_OUT_CREATE_DEVMEMCONTEXT;
 
1036
 
 
1037
 
 
1038
 
 
1039
typedef struct PVRSRV_BRIDGE_OUT_CREATE_DEVMEMHEAP_TAG
 
1040
{
 
1041
        PVRSRV_ERROR            eError;
 
1042
        IMG_HANDLE                      hDevMemHeap;
 
1043
 
 
1044
} PVRSRV_BRIDGE_OUT_CREATE_DEVMEMHEAP;
 
1045
 
 
1046
 
 
1047
 
 
1048
typedef struct PVRSRV_BRIDGE_OUT_ALLOCDEVICEMEM_TAG
 
1049
{
 
1050
        PVRSRV_ERROR                    eError;
 
1051
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
1052
        PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
 
1053
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
1054
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
1055
 
 
1056
} PVRSRV_BRIDGE_OUT_ALLOCDEVICEMEM;
 
1057
 
 
1058
 
 
1059
 
 
1060
typedef struct PVRSRV_BRIDGE_OUT_EXPORTDEVICEMEM_TAG
 
1061
{
 
1062
        PVRSRV_ERROR                    eError;
 
1063
        IMG_HANDLE                              hMemInfo;
 
1064
#if defined(SUPPORT_MEMINFO_IDS)
 
1065
        IMG_UINT64                              ui64Stamp;
 
1066
#endif
 
1067
 
 
1068
} PVRSRV_BRIDGE_OUT_EXPORTDEVICEMEM;
 
1069
 
 
1070
 
 
1071
typedef struct PVRSRV_BRIDGE_OUT_MAPMEMINFOTOUSER_TAG
 
1072
{
 
1073
        PVRSRV_ERROR                    eError;
 
1074
        IMG_PVOID                               pvLinAddr;
 
1075
        IMG_HANDLE                              hMappingInfo;
 
1076
 
 
1077
}PVRSRV_BRIDGE_OUT_MAPMEMINFOTOUSER;
 
1078
 
 
1079
 
 
1080
 
 
1081
typedef struct PVRSRV_BRIDGE_OUT_GETFREEDEVICEMEM_TAG
 
1082
{
 
1083
        PVRSRV_ERROR eError;
 
1084
        IMG_SIZE_T ui32Total;
 
1085
        IMG_SIZE_T ui32Free;
 
1086
        IMG_SIZE_T ui32LargestBlock;
 
1087
 
 
1088
} PVRSRV_BRIDGE_OUT_GETFREEDEVICEMEM;
 
1089
 
 
1090
 
 
1091
#include "pvrmmap.h"
 
1092
typedef struct PVRSRV_BRIDGE_OUT_MHANDLE_TO_MMAP_DATA_TAG
 
1093
{
 
1094
    PVRSRV_ERROR                eError;
 
1095
    
 
1096
    
 
1097
     IMG_UINT32                 ui32MMapOffset;
 
1098
 
 
1099
    
 
1100
    IMG_UINT32                  ui32ByteOffset;
 
1101
 
 
1102
    
 
1103
    IMG_UINT32                  ui32RealByteSize;
 
1104
 
 
1105
    
 
1106
    IMG_UINT32                  ui32UserVAddr;
 
1107
 
 
1108
} PVRSRV_BRIDGE_OUT_MHANDLE_TO_MMAP_DATA;
 
1109
 
 
1110
typedef struct PVRSRV_BRIDGE_OUT_RELEASE_MMAP_DATA_TAG
 
1111
{
 
1112
    PVRSRV_ERROR                eError;
 
1113
    
 
1114
    
 
1115
    IMG_BOOL                    bMUnmap;
 
1116
 
 
1117
    
 
1118
    IMG_UINT32                  ui32UserVAddr;
 
1119
 
 
1120
    
 
1121
    IMG_UINT32                  ui32RealByteSize;
 
1122
} PVRSRV_BRIDGE_OUT_RELEASE_MMAP_DATA;
 
1123
 
 
1124
typedef struct PVRSRV_BRIDGE_IN_GET_MISC_INFO_TAG
 
1125
{
 
1126
        IMG_UINT32                      ui32BridgeFlags; 
 
1127
        PVRSRV_MISC_INFO        sMiscInfo;
 
1128
 
 
1129
}PVRSRV_BRIDGE_IN_GET_MISC_INFO;
 
1130
 
 
1131
 
 
1132
 
 
1133
typedef struct PVRSRV_BRIDGE_OUT_GET_MISC_INFO_TAG
 
1134
{
 
1135
        PVRSRV_ERROR            eError;
 
1136
        PVRSRV_MISC_INFO        sMiscInfo;
 
1137
 
 
1138
}PVRSRV_BRIDGE_OUT_GET_MISC_INFO;
 
1139
 
 
1140
 
 
1141
 
 
1142
typedef struct PVRSRV_BRIDGE_IN_RELEASE_MISC_INFO_TAG
 
1143
{
 
1144
        IMG_UINT32                      ui32BridgeFlags; 
 
1145
        PVRSRV_MISC_INFO        sMiscInfo;
 
1146
 
 
1147
}PVRSRV_BRIDGE_IN_RELEASE_MISC_INFO;
 
1148
 
 
1149
 
 
1150
 
 
1151
typedef struct PVRSRV_BRIDGE_OUT_RELEASE_MISC_INFO_TAG
 
1152
{
 
1153
        PVRSRV_ERROR            eError;
 
1154
        PVRSRV_MISC_INFO        sMiscInfo;
 
1155
 
 
1156
}PVRSRV_BRIDGE_OUT_RELEASE_MISC_INFO;
 
1157
 
 
1158
 
 
1159
 
 
1160
 
 
1161
typedef struct PVRSRV_BRIDGE_OUT_PDUMP_ISCAPTURING_TAG
 
1162
{
 
1163
        PVRSRV_ERROR eError;
 
1164
        IMG_BOOL bIsCapturing;
 
1165
 
 
1166
} PVRSRV_BRIDGE_OUT_PDUMP_ISCAPTURING;
 
1167
 
 
1168
 
 
1169
typedef struct PVRSRV_BRIDGE_IN_GET_FB_STATS_TAG 
 
1170
{
 
1171
        IMG_UINT32 ui32BridgeFlags; 
 
1172
        IMG_SIZE_T ui32Total;
 
1173
        IMG_SIZE_T ui32Available;
 
1174
 
 
1175
} PVRSRV_BRIDGE_IN_GET_FB_STATS;
 
1176
 
 
1177
 
 
1178
 
 
1179
typedef struct PVRSRV_BRIDGE_IN_MAPPHYSTOUSERSPACE_TAG
 
1180
{
 
1181
        IMG_UINT32                      ui32BridgeFlags; 
 
1182
        IMG_HANDLE                      hDevCookie;
 
1183
        IMG_SYS_PHYADDR         sSysPhysAddr;
 
1184
        IMG_UINT32                      uiSizeInBytes;
 
1185
 
 
1186
} PVRSRV_BRIDGE_IN_MAPPHYSTOUSERSPACE;
 
1187
 
 
1188
 
 
1189
 
 
1190
typedef struct PVRSRV_BRIDGE_OUT_MAPPHYSTOUSERSPACE_TAG
 
1191
{
 
1192
        IMG_PVOID                       pvUserAddr;
 
1193
        IMG_UINT32                      uiActualSize;
 
1194
        IMG_PVOID                       pvProcess;
 
1195
 
 
1196
} PVRSRV_BRIDGE_OUT_MAPPHYSTOUSERSPACE;
 
1197
 
 
1198
 
 
1199
 
 
1200
typedef struct PVRSRV_BRIDGE_IN_UNMAPPHYSTOUSERSPACE_TAG
 
1201
{
 
1202
        IMG_UINT32                      ui32BridgeFlags; 
 
1203
        IMG_HANDLE                      hDevCookie;
 
1204
        IMG_PVOID                       pvUserAddr;
 
1205
        IMG_PVOID                       pvProcess;
 
1206
 
 
1207
} PVRSRV_BRIDGE_IN_UNMAPPHYSTOUSERSPACE;
 
1208
 
 
1209
 
 
1210
 
 
1211
typedef struct PVRSRV_BRIDGE_OUT_GETPHYSTOUSERSPACEMAP_TAG
 
1212
{
 
1213
        IMG_PVOID                       *ppvTbl;
 
1214
        IMG_UINT32                      uiTblSize;
 
1215
 
 
1216
} PVRSRV_BRIDGE_OUT_GETPHYSTOUSERSPACEMAP;
 
1217
 
 
1218
 
 
1219
 
 
1220
typedef struct PVRSRV_BRIDGE_IN_REGISTER_SIM_PROCESS_TAG
 
1221
{
 
1222
        IMG_UINT32                      ui32BridgeFlags; 
 
1223
        IMG_HANDLE                      hDevCookie;
 
1224
        IMG_PVOID                       pvProcess;
 
1225
 
 
1226
} PVRSRV_BRIDGE_IN_REGISTER_SIM_PROCESS;
 
1227
 
 
1228
 
 
1229
typedef struct PVRSRV_BRIDGE_OUT_REGISTER_SIM_PROCESS_TAG
 
1230
{
 
1231
        IMG_SYS_PHYADDR         sRegsPhysBase;                  
 
1232
        IMG_VOID                        *pvRegsBase;                    
 
1233
        IMG_PVOID                       pvProcess;
 
1234
        IMG_UINT32                      ulNoOfEntries;
 
1235
        IMG_PVOID                       pvTblLinAddr;
 
1236
 
 
1237
} PVRSRV_BRIDGE_OUT_REGISTER_SIM_PROCESS;
 
1238
 
 
1239
 
 
1240
typedef struct PVRSRV_BRIDGE_IN_UNREGISTER_SIM_PROCESS_TAG
 
1241
{
 
1242
        IMG_UINT32                      ui32BridgeFlags; 
 
1243
        IMG_HANDLE                      hDevCookie;
 
1244
        IMG_PVOID                       pvProcess;
 
1245
        IMG_VOID                        *pvRegsBase;                    
 
1246
 
 
1247
} PVRSRV_BRIDGE_IN_UNREGISTER_SIM_PROCESS;
 
1248
 
 
1249
typedef struct PVRSRV_BRIDGE_IN_PROCESS_SIMISR_EVENT_TAG
 
1250
{
 
1251
        IMG_UINT32                      ui32BridgeFlags; 
 
1252
        IMG_HANDLE                      hDevCookie;
 
1253
        IMG_UINT32                      ui32StatusAndMask;
 
1254
        PVRSRV_ERROR            eError;
 
1255
 
 
1256
} PVRSRV_BRIDGE_IN_PROCESS_SIMISR_EVENT;
 
1257
 
 
1258
typedef struct PVRSRV_BRIDGE_IN_INITSRV_DISCONNECT_TAG
 
1259
{
 
1260
        IMG_UINT32                      ui32BridgeFlags; 
 
1261
        IMG_BOOL                        bInitSuccesful;
 
1262
} PVRSRV_BRIDGE_IN_INITSRV_DISCONNECT;
 
1263
 
 
1264
 
 
1265
typedef struct PVRSRV_BRIDGE_IN_ALLOC_SHARED_SYS_MEM_TAG
 
1266
{
 
1267
        IMG_UINT32 ui32BridgeFlags; 
 
1268
    IMG_UINT32 ui32Flags;
 
1269
    IMG_SIZE_T ui32Size;
 
1270
}PVRSRV_BRIDGE_IN_ALLOC_SHARED_SYS_MEM;
 
1271
 
 
1272
typedef struct PVRSRV_BRIDGE_OUT_ALLOC_SHARED_SYS_MEM_TAG
 
1273
{
 
1274
        PVRSRV_ERROR                    eError;
 
1275
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
1276
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
1277
}PVRSRV_BRIDGE_OUT_ALLOC_SHARED_SYS_MEM;
 
1278
 
 
1279
typedef struct PVRSRV_BRIDGE_IN_FREE_SHARED_SYS_MEM_TAG
 
1280
{
 
1281
        IMG_UINT32                              ui32BridgeFlags; 
 
1282
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
1283
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
1284
}PVRSRV_BRIDGE_IN_FREE_SHARED_SYS_MEM;
 
1285
 
 
1286
typedef struct PVRSRV_BRIDGE_OUT_FREE_SHARED_SYS_MEM_TAG
 
1287
{
 
1288
        PVRSRV_ERROR eError;
 
1289
}PVRSRV_BRIDGE_OUT_FREE_SHARED_SYS_MEM;
 
1290
 
 
1291
typedef struct PVRSRV_BRIDGE_IN_MAP_MEMINFO_MEM_TAG
 
1292
{
 
1293
        IMG_UINT32 ui32BridgeFlags; 
 
1294
        IMG_HANDLE hKernelMemInfo;
 
1295
}PVRSRV_BRIDGE_IN_MAP_MEMINFO_MEM;
 
1296
 
 
1297
typedef struct PVRSRV_BRIDGE_OUT_MAP_MEMINFO_MEM_TAG
 
1298
{
 
1299
        PVRSRV_CLIENT_MEM_INFO  sClientMemInfo;
 
1300
        PVRSRV_CLIENT_SYNC_INFO sClientSyncInfo;
 
1301
        PVRSRV_KERNEL_MEM_INFO  *psKernelMemInfo;
 
1302
        PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo;
 
1303
        PVRSRV_ERROR eError;
 
1304
}PVRSRV_BRIDGE_OUT_MAP_MEMINFO_MEM;
 
1305
 
 
1306
typedef struct PVRSRV_BRIDGE_IN_UNMAP_MEMINFO_MEM_TAG
 
1307
{
 
1308
        IMG_UINT32 ui32BridgeFlags; 
 
1309
        PVRSRV_CLIENT_MEM_INFO sClientMemInfo;
 
1310
}PVRSRV_BRIDGE_IN_UNMAP_MEMINFO_MEM;
 
1311
 
 
1312
typedef struct PVRSRV_BRIDGE_OUT_UNMAP_MEMINFO_MEM_TAG
 
1313
{
 
1314
        PVRSRV_ERROR eError;
 
1315
}PVRSRV_BRIDGE_OUT_UNMAP_MEMINFO_MEM;
 
1316
 
 
1317
typedef struct PVRSRV_BRIDGE_IN_GETMMU_PD_DEVPADDR_TAG
 
1318
{
 
1319
        IMG_UINT32 ui32BridgeFlags; 
 
1320
    IMG_HANDLE hDevMemContext;
 
1321
}PVRSRV_BRIDGE_IN_GETMMU_PD_DEVPADDR;
 
1322
 
 
1323
typedef struct PVRSRV_BRIDGE_OUT_GETMMU_PD_DEVPADDR_TAG
 
1324
{
 
1325
    IMG_DEV_PHYADDR sPDDevPAddr;
 
1326
        PVRSRV_ERROR eError;
 
1327
}PVRSRV_BRIDGE_OUT_GETMMU_PD_DEVPADDR;
 
1328
 
 
1329
typedef struct PVRSRV_BRIDGE_IN_EVENT_OBJECT_WAI_TAG
 
1330
{
 
1331
        IMG_UINT32 ui32BridgeFlags; 
 
1332
        IMG_HANDLE      hOSEventKM;
 
1333
} PVRSRV_BRIDGE_IN_EVENT_OBJECT_WAIT;
 
1334
 
 
1335
typedef struct PVRSRV_BRIDGE_IN_EVENT_OBJECT_OPEN_TAG
 
1336
{
 
1337
        PVRSRV_EVENTOBJECT sEventObject;
 
1338
} PVRSRV_BRIDGE_IN_EVENT_OBJECT_OPEN;
 
1339
 
 
1340
typedef struct  PVRSRV_BRIDGE_OUT_EVENT_OBJECT_OPEN_TAG
 
1341
{
 
1342
        IMG_HANDLE hOSEvent;
 
1343
        PVRSRV_ERROR eError;
 
1344
} PVRSRV_BRIDGE_OUT_EVENT_OBJECT_OPEN;
 
1345
 
 
1346
typedef struct PVRSRV_BRIDGE_IN_EVENT_OBJECT_CLOSE_TAG
 
1347
{
 
1348
        PVRSRV_EVENTOBJECT sEventObject;
 
1349
        IMG_HANDLE hOSEventKM;
 
1350
} PVRSRV_BRIDGE_IN_EVENT_OBJECT_CLOSE;
 
1351
 
 
1352
typedef struct PVRSRV_BRIDGE_IN_MODIFY_PENDING_SYNC_OPS_TAG
 
1353
{
 
1354
        IMG_UINT32 ui32BridgeFlags; 
 
1355
        IMG_HANDLE hKernelSyncInfo;
 
1356
        IMG_UINT32 ui32ModifyFlags;
 
1357
 
 
1358
} PVRSRV_BRIDGE_IN_MODIFY_PENDING_SYNC_OPS;
 
1359
 
 
1360
typedef struct PVRSRV_BRIDGE_IN_MODIFY_COMPLETE_SYNC_OPS_TAG
 
1361
{
 
1362
        IMG_UINT32 ui32BridgeFlags; 
 
1363
        IMG_HANDLE hKernelSyncInfo;
 
1364
        IMG_UINT32 ui32ModifyFlags;
 
1365
 
 
1366
} PVRSRV_BRIDGE_IN_MODIFY_COMPLETE_SYNC_OPS;
 
1367
 
 
1368
typedef struct PVRSRV_BRIDGE_OUT_MODIFY_PENDING_SYNC_OPS_TAG
 
1369
{
 
1370
        PVRSRV_ERROR eError;
 
1371
 
 
1372
        
 
1373
        IMG_UINT32 ui32ReadOpsPending;
 
1374
        IMG_UINT32 ui32WriteOpsPending;
 
1375
 
 
1376
} PVRSRV_BRIDGE_OUT_MODIFY_PENDING_SYNC_OPS;
 
1377
 
 
1378
#if defined (__cplusplus)
 
1379
}
 
1380
#endif
 
1381
 
 
1382
#endif 
 
1383