diff options
Diffstat (limited to 'omap5/sgx_src/eurasia_km/services4/include/pvr_bridge_km.h')
-rw-r--r-- | omap5/sgx_src/eurasia_km/services4/include/pvr_bridge_km.h | 409 |
1 files changed, 0 insertions, 409 deletions
diff --git a/omap5/sgx_src/eurasia_km/services4/include/pvr_bridge_km.h b/omap5/sgx_src/eurasia_km/services4/include/pvr_bridge_km.h deleted file mode 100644 index 1bf5b9c..0000000 --- a/omap5/sgx_src/eurasia_km/services4/include/pvr_bridge_km.h +++ /dev/null | |||
@@ -1,409 +0,0 @@ | |||
1 | /*************************************************************************/ /*! | ||
2 | @Title PVR Bridge Functionality | ||
3 | @Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved | ||
4 | @Description Header for the PVR Bridge code | ||
5 | @License Dual MIT/GPLv2 | ||
6 | |||
7 | The contents of this file are subject to the MIT license as set out below. | ||
8 | |||
9 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
10 | of this software and associated documentation files (the "Software"), to deal | ||
11 | in the Software without restriction, including without limitation the rights | ||
12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
13 | copies of the Software, and to permit persons to whom the Software is | ||
14 | furnished to do so, subject to the following conditions: | ||
15 | |||
16 | The above copyright notice and this permission notice shall be included in | ||
17 | all copies or substantial portions of the Software. | ||
18 | |||
19 | Alternatively, the contents of this file may be used under the terms of | ||
20 | the GNU General Public License Version 2 ("GPL") in which case the provisions | ||
21 | of GPL are applicable instead of those above. | ||
22 | |||
23 | If you wish to allow use of your version of this file only under the terms of | ||
24 | GPL, and not to allow others to use your version of this file under the terms | ||
25 | of the MIT license, indicate your decision by deleting the provisions above | ||
26 | and replace them with the notice and other provisions required by GPL as set | ||
27 | out in the file called "GPL-COPYING" included in this distribution. If you do | ||
28 | not delete the provisions above, a recipient may use your version of this file | ||
29 | under the terms of either the MIT license or GPL. | ||
30 | |||
31 | This License is also included in this distribution in the file called | ||
32 | "MIT-COPYING". | ||
33 | |||
34 | EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS | ||
35 | PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING | ||
36 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR | ||
37 | PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR | ||
38 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||
39 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
40 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
41 | */ /**************************************************************************/ | ||
42 | |||
43 | #ifndef __PVR_BRIDGE_KM_H_ | ||
44 | #define __PVR_BRIDGE_KM_H_ | ||
45 | |||
46 | #if defined (__cplusplus) | ||
47 | extern "C" { | ||
48 | #endif | ||
49 | |||
50 | #include "pvr_bridge.h" | ||
51 | #include "perproc.h" | ||
52 | |||
53 | /****************************************************************************** | ||
54 | * Function prototypes | ||
55 | *****************************************************************************/ | ||
56 | #if defined(__linux__) | ||
57 | PVRSRV_ERROR LinuxBridgeInit(IMG_VOID); | ||
58 | IMG_VOID LinuxBridgeDeInit(IMG_VOID); | ||
59 | #endif | ||
60 | |||
61 | IMG_IMPORT | ||
62 | PVRSRV_ERROR IMG_CALLCONV PVRSRVEnumerateDevicesKM(IMG_UINT32 *pui32NumDevices, | ||
63 | PVRSRV_DEVICE_IDENTIFIER *psDevIdList); | ||
64 | |||
65 | IMG_IMPORT | ||
66 | PVRSRV_ERROR IMG_CALLCONV PVRSRVAcquireDeviceDataKM(IMG_UINT32 uiDevIndex, | ||
67 | PVRSRV_DEVICE_TYPE eDeviceType, | ||
68 | IMG_HANDLE *phDevCookie); | ||
69 | |||
70 | IMG_IMPORT | ||
71 | PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateCommandQueueKM(IMG_SIZE_T ui32QueueSize, | ||
72 | PVRSRV_QUEUE_INFO **ppsQueueInfo); | ||
73 | |||
74 | IMG_IMPORT | ||
75 | PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyCommandQueueKM(PVRSRV_QUEUE_INFO *psQueueInfo); | ||
76 | |||
77 | IMG_IMPORT | ||
78 | PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDeviceMemHeapsKM(IMG_HANDLE hDevCookie, | ||
79 | #if defined (SUPPORT_SID_INTERFACE) | ||
80 | PVRSRV_HEAP_INFO_KM *psHeapInfo); | ||
81 | #else | ||
82 | PVRSRV_HEAP_INFO *psHeapInfo); | ||
83 | #endif | ||
84 | |||
85 | IMG_IMPORT | ||
86 | PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateDeviceMemContextKM(IMG_HANDLE hDevCookie, | ||
87 | PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
88 | IMG_HANDLE *phDevMemContext, | ||
89 | IMG_UINT32 *pui32ClientHeapCount, | ||
90 | #if defined (SUPPORT_SID_INTERFACE) | ||
91 | PVRSRV_HEAP_INFO_KM *psHeapInfo, | ||
92 | #else | ||
93 | PVRSRV_HEAP_INFO *psHeapInfo, | ||
94 | #endif | ||
95 | IMG_BOOL *pbCreated, | ||
96 | IMG_BOOL *pbShared); | ||
97 | |||
98 | |||
99 | IMG_IMPORT | ||
100 | PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyDeviceMemContextKM(IMG_HANDLE hDevCookie, | ||
101 | IMG_HANDLE hDevMemContext, | ||
102 | IMG_BOOL *pbDestroyed); | ||
103 | |||
104 | |||
105 | IMG_IMPORT | ||
106 | PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDeviceMemHeapInfoKM(IMG_HANDLE hDevCookie, | ||
107 | IMG_HANDLE hDevMemContext, | ||
108 | IMG_UINT32 *pui32ClientHeapCount, | ||
109 | #if defined (SUPPORT_SID_INTERFACE) | ||
110 | PVRSRV_HEAP_INFO_KM *psHeapInfo, | ||
111 | #else | ||
112 | PVRSRV_HEAP_INFO *psHeapInfo, | ||
113 | #endif | ||
114 | IMG_BOOL *pbShared | ||
115 | ); | ||
116 | |||
117 | |||
118 | IMG_IMPORT | ||
119 | PVRSRV_ERROR IMG_CALLCONV _PVRSRVAllocDeviceMemKM(IMG_HANDLE hDevCookie, | ||
120 | PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
121 | IMG_HANDLE hDevMemHeap, | ||
122 | IMG_UINT32 ui32Flags, | ||
123 | IMG_SIZE_T ui32Size, | ||
124 | IMG_SIZE_T ui32Alignment, | ||
125 | IMG_PVOID pvPrivData, | ||
126 | IMG_UINT32 ui32PrivDataLength, | ||
127 | IMG_UINT32 ui32ChunkSize, | ||
128 | IMG_UINT32 ui32NumVirtChunks, | ||
129 | IMG_UINT32 ui32NumPhysChunks, | ||
130 | IMG_BOOL *pabMapChunk, | ||
131 | PVRSRV_KERNEL_MEM_INFO **ppsMemInfo); | ||
132 | |||
133 | |||
134 | #if defined(PVRSRV_LOG_MEMORY_ALLOCS) | ||
135 | #define PVRSRVAllocDeviceMemKM(devCookie, perProc, devMemHeap, flags, size, alignment, privdata, privdatalength, \ | ||
136 | chunksize, numvirtchunks, numphyschunks, mapchunk, memInfo, logStr) \ | ||
137 | (PVR_TRACE(("PVRSRVAllocDeviceMemKM(" #devCookie ", " #perProc ", " #devMemHeap ", " #flags ", " #size \ | ||
138 | ", " #alignment "," #memInfo "): " logStr " (size = 0x%x)", size)),\ | ||
139 | _PVRSRVAllocDeviceMemKM(devCookie, perProc, devMemHeap, flags, size, alignment, privdata, privdatalength, \ | ||
140 | chunksize, numvirtchunks, numphyschunks, mapchunk, memInfo)) | ||
141 | #else | ||
142 | #define PVRSRVAllocDeviceMemKM(devCookie, perProc, devMemHeap, flags, size, alignment, privdata, privdatalength, \ | ||
143 | chunksize, numvirtchunks, numphyschunks, mapchunk, memInfo, logStr) \ | ||
144 | _PVRSRVAllocDeviceMemKM(devCookie, perProc, devMemHeap, flags, size, alignment, privdata, privdatalength, \ | ||
145 | chunksize, numvirtchunks, numphyschunks, mapchunk, memInfo) | ||
146 | #endif | ||
147 | |||
148 | |||
149 | IMG_IMPORT | ||
150 | PVRSRV_ERROR IMG_CALLCONV PVRSRVFreeDeviceMemKM(IMG_HANDLE hDevCookie, | ||
151 | PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
152 | |||
153 | IMG_EXPORT | ||
154 | IMG_INT32 IMG_CALLCONV PVRSRVRemapToDevKM(IMG_HANDLE hDevCookie, | ||
155 | PVRSRV_KERNEL_MEM_INFO *psMemInfo, IMG_DEV_VIRTADDR *psDevVAddr); | ||
156 | |||
157 | IMG_EXPORT | ||
158 | IMG_INT32 IMG_CALLCONV PVRSRVUnmapFromDevKM(IMG_HANDLE hDevCookie, | ||
159 | PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
160 | |||
161 | |||
162 | #if defined(SUPPORT_ION) | ||
163 | IMG_IMPORT | ||
164 | PVRSRV_ERROR PVRSRVMapIonHandleKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
165 | IMG_HANDLE hDevCookie, | ||
166 | IMG_HANDLE hDevMemContext, | ||
167 | IMG_HANDLE hIon, | ||
168 | IMG_UINT32 ui32Flags, | ||
169 | IMG_UINT32 ui32Size, | ||
170 | PVRSRV_KERNEL_MEM_INFO **ppsKernelMemInfo); | ||
171 | |||
172 | IMG_IMPORT | ||
173 | PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapIonHandleKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
174 | #endif /* SUPPORT_ION */ | ||
175 | |||
176 | IMG_IMPORT | ||
177 | PVRSRV_ERROR IMG_CALLCONV PVRSRVDissociateDeviceMemKM(IMG_HANDLE hDevCookie, | ||
178 | PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
179 | |||
180 | IMG_IMPORT | ||
181 | PVRSRV_ERROR IMG_CALLCONV PVRSRVReserveDeviceVirtualMemKM(IMG_HANDLE hDevMemHeap, | ||
182 | IMG_DEV_VIRTADDR *psDevVAddr, | ||
183 | IMG_SIZE_T ui32Size, | ||
184 | IMG_SIZE_T ui32Alignment, | ||
185 | PVRSRV_KERNEL_MEM_INFO **ppsMemInfo); | ||
186 | |||
187 | IMG_IMPORT | ||
188 | PVRSRV_ERROR IMG_CALLCONV PVRSRVFreeDeviceVirtualMemKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
189 | |||
190 | IMG_IMPORT | ||
191 | PVRSRV_ERROR IMG_CALLCONV PVRSRVMapDeviceMemoryKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
192 | PVRSRV_KERNEL_MEM_INFO *psSrcMemInfo, | ||
193 | IMG_HANDLE hDstDevMemHeap, | ||
194 | PVRSRV_KERNEL_MEM_INFO **ppsDstMemInfo); | ||
195 | |||
196 | IMG_IMPORT | ||
197 | PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapDeviceMemoryKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
198 | |||
199 | IMG_IMPORT | ||
200 | PVRSRV_ERROR IMG_CALLCONV PVRSRVWrapExtMemoryKM(IMG_HANDLE hDevCookie, | ||
201 | PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
202 | IMG_HANDLE hDevMemContext, | ||
203 | IMG_SIZE_T ui32ByteSize, | ||
204 | IMG_SIZE_T ui32PageOffset, | ||
205 | IMG_BOOL bPhysContig, | ||
206 | IMG_SYS_PHYADDR *psSysAddr, | ||
207 | IMG_VOID *pvLinAddr, | ||
208 | IMG_UINT32 ui32Flags, | ||
209 | PVRSRV_KERNEL_MEM_INFO **ppsMemInfo); | ||
210 | |||
211 | IMG_IMPORT | ||
212 | PVRSRV_ERROR IMG_CALLCONV PVRSRVUnwrapExtMemoryKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
213 | |||
214 | IMG_IMPORT | ||
215 | PVRSRV_ERROR PVRSRVEnumerateDCKM(PVRSRV_DEVICE_CLASS DeviceClass, | ||
216 | IMG_UINT32 *pui32DevCount, | ||
217 | IMG_UINT32 *pui32DevID ); | ||
218 | |||
219 | IMG_IMPORT | ||
220 | PVRSRV_ERROR PVRSRVOpenDCDeviceKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
221 | IMG_UINT32 ui32DeviceID, | ||
222 | IMG_HANDLE hDevCookie, | ||
223 | IMG_HANDLE *phDeviceKM); | ||
224 | |||
225 | IMG_IMPORT | ||
226 | PVRSRV_ERROR PVRSRVCloseDCDeviceKM(IMG_HANDLE hDeviceKM); | ||
227 | |||
228 | IMG_IMPORT | ||
229 | PVRSRV_ERROR PVRSRVEnumDCFormatsKM(IMG_HANDLE hDeviceKM, | ||
230 | IMG_UINT32 *pui32Count, | ||
231 | DISPLAY_FORMAT *psFormat); | ||
232 | |||
233 | IMG_IMPORT | ||
234 | PVRSRV_ERROR PVRSRVEnumDCDimsKM(IMG_HANDLE hDeviceKM, | ||
235 | DISPLAY_FORMAT *psFormat, | ||
236 | IMG_UINT32 *pui32Count, | ||
237 | DISPLAY_DIMS *psDim); | ||
238 | |||
239 | IMG_IMPORT | ||
240 | PVRSRV_ERROR PVRSRVGetDCSystemBufferKM(IMG_HANDLE hDeviceKM, | ||
241 | IMG_HANDLE *phBuffer); | ||
242 | |||
243 | IMG_IMPORT | ||
244 | PVRSRV_ERROR PVRSRVGetDCInfoKM(IMG_HANDLE hDeviceKM, | ||
245 | DISPLAY_INFO *psDisplayInfo); | ||
246 | IMG_IMPORT | ||
247 | PVRSRV_ERROR PVRSRVCreateDCSwapChainKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
248 | IMG_HANDLE hDeviceKM, | ||
249 | IMG_UINT32 ui32Flags, | ||
250 | DISPLAY_SURF_ATTRIBUTES *psDstSurfAttrib, | ||
251 | DISPLAY_SURF_ATTRIBUTES *psSrcSurfAttrib, | ||
252 | IMG_UINT32 ui32BufferCount, | ||
253 | IMG_UINT32 ui32OEMFlags, | ||
254 | IMG_HANDLE *phSwapChain, | ||
255 | IMG_UINT32 *pui32SwapChainID); | ||
256 | IMG_IMPORT | ||
257 | PVRSRV_ERROR PVRSRVDestroyDCSwapChainKM(IMG_HANDLE hSwapChain); | ||
258 | IMG_IMPORT | ||
259 | PVRSRV_ERROR PVRSRVSetDCDstRectKM(IMG_HANDLE hDeviceKM, | ||
260 | IMG_HANDLE hSwapChain, | ||
261 | IMG_RECT *psRect); | ||
262 | IMG_IMPORT | ||
263 | PVRSRV_ERROR PVRSRVSetDCSrcRectKM(IMG_HANDLE hDeviceKM, | ||
264 | IMG_HANDLE hSwapChain, | ||
265 | IMG_RECT *psRect); | ||
266 | IMG_IMPORT | ||
267 | PVRSRV_ERROR PVRSRVSetDCDstColourKeyKM(IMG_HANDLE hDeviceKM, | ||
268 | IMG_HANDLE hSwapChain, | ||
269 | IMG_UINT32 ui32CKColour); | ||
270 | IMG_IMPORT | ||
271 | PVRSRV_ERROR PVRSRVSetDCSrcColourKeyKM(IMG_HANDLE hDeviceKM, | ||
272 | IMG_HANDLE hSwapChain, | ||
273 | IMG_UINT32 ui32CKColour); | ||
274 | IMG_IMPORT | ||
275 | PVRSRV_ERROR PVRSRVGetDCBuffersKM(IMG_HANDLE hDeviceKM, | ||
276 | IMG_HANDLE hSwapChain, | ||
277 | IMG_UINT32 *pui32BufferCount, | ||
278 | IMG_HANDLE *phBuffer, | ||
279 | IMG_SYS_PHYADDR *psPhyAddr); | ||
280 | IMG_IMPORT | ||
281 | PVRSRV_ERROR PVRSRVSwapToDCBufferKM(IMG_HANDLE hDeviceKM, | ||
282 | IMG_HANDLE hBuffer, | ||
283 | IMG_UINT32 ui32SwapInterval, | ||
284 | IMG_HANDLE hPrivateTag, | ||
285 | IMG_UINT32 ui32ClipRectCount, | ||
286 | IMG_RECT *psClipRect); | ||
287 | IMG_IMPORT | ||
288 | PVRSRV_ERROR PVRSRVSwapToDCBuffer2KM(IMG_HANDLE hDeviceKM, | ||
289 | IMG_HANDLE hBuffer, | ||
290 | IMG_UINT32 ui32SwapInterval, | ||
291 | PVRSRV_KERNEL_MEM_INFO **ppsMemInfos, | ||
292 | PVRSRV_KERNEL_SYNC_INFO **ppsSyncInfos, | ||
293 | IMG_UINT32 ui32NumMemSyncInfos, | ||
294 | IMG_PVOID pvPrivData, | ||
295 | IMG_UINT32 ui32PrivDataLength); | ||
296 | IMG_IMPORT | ||
297 | PVRSRV_ERROR PVRSRVSwapToDCSystemKM(IMG_HANDLE hDeviceKM, | ||
298 | IMG_HANDLE hSwapChain); | ||
299 | |||
300 | IMG_IMPORT | ||
301 | PVRSRV_ERROR PVRSRVOpenBCDeviceKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
302 | IMG_UINT32 ui32DeviceID, | ||
303 | IMG_HANDLE hDevCookie, | ||
304 | IMG_HANDLE *phDeviceKM); | ||
305 | IMG_IMPORT | ||
306 | PVRSRV_ERROR PVRSRVCloseBCDeviceKM(IMG_HANDLE hDeviceKM); | ||
307 | |||
308 | IMG_IMPORT | ||
309 | PVRSRV_ERROR PVRSRVGetBCInfoKM(IMG_HANDLE hDeviceKM, | ||
310 | BUFFER_INFO *psBufferInfo); | ||
311 | IMG_IMPORT | ||
312 | PVRSRV_ERROR PVRSRVGetBCBufferKM(IMG_HANDLE hDeviceKM, | ||
313 | IMG_UINT32 ui32BufferIndex, | ||
314 | IMG_HANDLE *phBuffer); | ||
315 | |||
316 | |||
317 | IMG_IMPORT | ||
318 | PVRSRV_ERROR IMG_CALLCONV PVRSRVMapDeviceClassMemoryKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
319 | IMG_HANDLE hDevMemContext, | ||
320 | IMG_HANDLE hDeviceClassBuffer, | ||
321 | PVRSRV_KERNEL_MEM_INFO **ppsMemInfo, | ||
322 | IMG_HANDLE *phOSMapInfo); | ||
323 | |||
324 | IMG_EXPORT | ||
325 | PVRSRV_ERROR IMG_CALLCONV PVRSRVChangeDeviceMemoryAttributesKM(IMG_HANDLE hKernelMemInfo, | ||
326 | IMG_UINT32 ui32Attribs); | ||
327 | |||
328 | IMG_IMPORT | ||
329 | PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapDeviceClassMemoryKM(PVRSRV_KERNEL_MEM_INFO *psMemInfo); | ||
330 | |||
331 | IMG_IMPORT | ||
332 | PVRSRV_ERROR IMG_CALLCONV PVRSRVGetFreeDeviceMemKM(IMG_UINT32 ui32Flags, | ||
333 | IMG_SIZE_T *pui32Total, | ||
334 | IMG_SIZE_T *pui32Free, | ||
335 | IMG_SIZE_T *pui32LargestBlock); | ||
336 | IMG_IMPORT | ||
337 | PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocSyncInfoKM(IMG_HANDLE hDevCookie, | ||
338 | IMG_HANDLE hDevMemContext, | ||
339 | PVRSRV_KERNEL_SYNC_INFO **ppsKernelSyncInfo); | ||
340 | IMG_IMPORT | ||
341 | IMG_VOID IMG_CALLCONV PVRSRVAcquireSyncInfoKM(PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo); | ||
342 | IMG_IMPORT | ||
343 | IMG_VOID IMG_CALLCONV PVRSRVReleaseSyncInfoKM(PVRSRV_KERNEL_SYNC_INFO *psKernelSyncInfo); | ||
344 | |||
345 | IMG_IMPORT | ||
346 | #if defined (SUPPORT_SID_INTERFACE) | ||
347 | PVRSRV_ERROR IMG_CALLCONV PVRSRVGetMiscInfoKM(PVRSRV_MISC_INFO_KM *psMiscInfo); | ||
348 | #else | ||
349 | PVRSRV_ERROR IMG_CALLCONV PVRSRVGetMiscInfoKM(PVRSRV_MISC_INFO *psMiscInfo); | ||
350 | #endif | ||
351 | |||
352 | /*! | ||
353 | * ***************************************************************************** | ||
354 | * @brief Allocates memory on behalf of a userspace process that is addressable | ||
355 | * by ther kernel. The memory is suitable for mapping into | ||
356 | * user space and it is possible to entirely dissociate the memory | ||
357 | * from the userspace process via PVRSRVDissociateSharedSysMemoryKM. | ||
358 | * | ||
359 | * @param psPerProc | ||
360 | * @param ui32Flags | ||
361 | * @param ui32Size | ||
362 | * @param ppsKernelMemInfo | ||
363 | * | ||
364 | * @return PVRSRV_ERROR | ||
365 | ********************************************************************************/ | ||
366 | IMG_IMPORT PVRSRV_ERROR | ||
367 | PVRSRVAllocSharedSysMemoryKM(PVRSRV_PER_PROCESS_DATA *psPerProc, | ||
368 | IMG_UINT32 ui32Flags, | ||
369 | IMG_SIZE_T ui32Size, | ||
370 | PVRSRV_KERNEL_MEM_INFO **ppsKernelMemInfo); | ||
371 | |||
372 | /*! | ||
373 | * ***************************************************************************** | ||
374 | * @brief Frees memory allocated via PVRSRVAllocSharedSysMemoryKM (Note you must | ||
375 | * be sure any additional kernel references you created have been | ||
376 | * removed before freeing the memory) | ||
377 | * | ||
378 | * @param psKernelMemInfo | ||
379 | * | ||
380 | * @return PVRSRV_ERROR | ||
381 | ********************************************************************************/ | ||
382 | IMG_IMPORT PVRSRV_ERROR | ||
383 | PVRSRVFreeSharedSysMemoryKM(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo); | ||
384 | |||
385 | /*! | ||
386 | ****************************************************************************** | ||
387 | |||
388 | @brief Dissociates memory from the process that allocates it. Intended for | ||
389 | transfering the ownership of system memory from a particular process | ||
390 | to the kernel. Unlike PVRSRVDissociateDeviceMemKM, ownership is not | ||
391 | transfered to the kernel context, so the Resource Manager will not | ||
392 | automatically clean up such memory. | ||
393 | |||
394 | @param psKernelMemInfo: | ||
395 | |||
396 | @return PVRSRV_ERROR: | ||
397 | ******************************************************************************/ | ||
398 | IMG_IMPORT PVRSRV_ERROR | ||
399 | PVRSRVDissociateMemFromResmanKM(PVRSRV_KERNEL_MEM_INFO *psKernelMemInfo); | ||
400 | |||
401 | #if defined (__cplusplus) | ||
402 | } | ||
403 | #endif | ||
404 | |||
405 | #endif /* __PVR_BRIDGE_KM_H_ */ | ||
406 | |||
407 | /****************************************************************************** | ||
408 | End of file (pvr_bridge_km.h) | ||
409 | ******************************************************************************/ | ||