~gma500/+junk/emgd160

« back to all changes in this revision

Viewing changes to emgd-dkms-kernel39/pvr/services4/srvkm/devices/sgx/sgx_bridge_km.h

  • Committer: Luca Forina
  • Date: 2011-05-10 07:28:19 UTC
  • Revision ID: luca.forina@gmail.com-20110510072819-pgj21l6igboa9dsx
emgd-dkms for kernel .39

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**********************************************************************
 
2
 Copyright (c) Imagination Technologies Ltd.
 
3
 
 
4
 Permission is hereby granted, free of charge, to any person obtaining a copy
 
5
 of this software and associated documentation files (the "Software"), to deal
 
6
 in the Software without restriction, including without limitation the rights
 
7
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 
8
 copies of the Software, and to permit persons to whom the Software is
 
9
 furnished to do so, subject to the following conditions:
 
10
 
 
11
 The above copyright notice and this permission notice shall be included in
 
12
 all copies or substantial portions of the Software.
 
13
 
 
14
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
15
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
16
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 
17
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
18
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 
19
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 
20
 THE SOFTWARE.
 
21
 ******************************************************************************/
 
22
 
 
23
#if !defined(__SGX_BRIDGE_KM_H__)
 
24
#define __SGX_BRIDGE_KM_H__
 
25
 
 
26
#include "sgxapi_km.h"
 
27
#include "sgxinfo.h"
 
28
#include "sgxinfokm.h"
 
29
#include "sgx_bridge.h"
 
30
#include "pvr_bridge.h"
 
31
#include "perproc.h"
 
32
 
 
33
#if defined (__cplusplus)
 
34
extern "C" {
 
35
#endif
 
36
 
 
37
IMG_IMPORT
 
38
PVRSRV_ERROR SGXSubmitTransferKM(IMG_HANDLE hDevHandle, PVRSRV_TRANSFER_SGX_KICK *psKick);
 
39
 
 
40
#if defined(SGX_FEATURE_2D_HARDWARE)
 
41
IMG_IMPORT
 
42
PVRSRV_ERROR SGXSubmit2DKM(IMG_HANDLE hDevHandle, PVRSRV_2D_SGX_KICK *psKick);
 
43
#endif
 
44
 
 
45
IMG_IMPORT
 
46
PVRSRV_ERROR SGXDoKickKM(IMG_HANDLE hDevHandle,
 
47
                                                 SGX_CCB_KICK *psCCBKick);
 
48
 
 
49
IMG_IMPORT
 
50
PVRSRV_ERROR SGXGetPhysPageAddrKM(IMG_HANDLE hDevMemHeap,
 
51
                                                                  IMG_DEV_VIRTADDR sDevVAddr,
 
52
                                                                  IMG_DEV_PHYADDR *pDevPAddr,
 
53
                                                                  IMG_CPU_PHYADDR *pCpuPAddr);
 
54
 
 
55
IMG_IMPORT
 
56
PVRSRV_ERROR IMG_CALLCONV SGXGetMMUPDAddrKM(IMG_HANDLE          hDevCookie,
 
57
                                                                                        IMG_HANDLE              hDevMemContext,
 
58
                                                                                        IMG_DEV_PHYADDR *psPDDevPAddr);
 
59
 
 
60
IMG_IMPORT
 
61
PVRSRV_ERROR SGXGetClientInfoKM(IMG_HANDLE                              hDevCookie,
 
62
                                                                SGX_CLIENT_INFO*        psClientInfo);
 
63
 
 
64
IMG_IMPORT
 
65
PVRSRV_ERROR SGXGetMiscInfoKM(PVRSRV_SGXDEV_INFO        *psDevInfo,
 
66
                                                          SGX_MISC_INFO                 *psMiscInfo,
 
67
                                                          PVRSRV_DEVICE_NODE    *psDeviceNode,
 
68
                                                          IMG_HANDLE                     hDevMemContext);
 
69
 
 
70
#if defined(SUPPORT_SGX_HWPERF)
 
71
IMG_IMPORT
 
72
PVRSRV_ERROR SGXReadDiffCountersKM(IMG_HANDLE                           hDevHandle,
 
73
                                                                   IMG_UINT32                           ui32Reg,
 
74
                                                                   IMG_UINT32                           *pui32Old,
 
75
                                                                   IMG_BOOL                                     bNew,
 
76
                                                                   IMG_UINT32                           ui32New,
 
77
                                                                   IMG_UINT32                           ui32NewReset,
 
78
                                                                   IMG_UINT32                           ui32CountersReg,
 
79
                                                                   IMG_UINT32                           ui32Reg2,
 
80
                                                                   IMG_BOOL                                     *pbActive,
 
81
                                                                   PVRSRV_SGXDEV_DIFF_INFO      *psDiffs);
 
82
IMG_IMPORT
 
83
PVRSRV_ERROR SGXReadHWPerfCBKM(IMG_HANDLE                                       hDevHandle,
 
84
                                                           IMG_UINT32                                   ui32ArraySize,
 
85
                                                           PVRSRV_SGX_HWPERF_CB_ENTRY   *psHWPerfCBData,
 
86
                                                           IMG_UINT32                                   *pui32DataCount,
 
87
                                                           IMG_UINT32                                   *pui32ClockSpeed,
 
88
                                                           IMG_UINT32                                   *pui32HostTimeStamp);
 
89
#endif
 
90
 
 
91
IMG_IMPORT
 
92
PVRSRV_ERROR SGX2DQueryBlitsCompleteKM(PVRSRV_SGXDEV_INFO               *psDevInfo,
 
93
                                                                           PVRSRV_KERNEL_SYNC_INFO      *psSyncInfo,
 
94
                                                                           IMG_BOOL bWaitForComplete);
 
95
 
 
96
IMG_IMPORT
 
97
PVRSRV_ERROR SGXGetInfoForSrvinitKM(IMG_HANDLE hDevHandle,
 
98
                                                                        SGX_BRIDGE_INFO_FOR_SRVINIT *psInitInfo);
 
99
 
 
100
IMG_IMPORT
 
101
PVRSRV_ERROR DevInitSGXPart2KM(PVRSRV_PER_PROCESS_DATA *psPerProc,
 
102
                                                           IMG_HANDLE hDevHandle,
 
103
                                                           SGX_BRIDGE_INIT_INFO *psInitInfo);
 
104
 
 
105
IMG_IMPORT PVRSRV_ERROR
 
106
SGXFindSharedPBDescKM(PVRSRV_PER_PROCESS_DATA   *psPerProc,
 
107
                                          IMG_HANDLE                            hDevCookie,
 
108
                                          IMG_BOOL                              bLockOnFailure,
 
109
                                          IMG_UINT32                            ui32TotalPBSize,
 
110
                                          IMG_HANDLE                            *phSharedPBDesc,
 
111
                                          PVRSRV_KERNEL_MEM_INFO        **ppsSharedPBDescKernelMemInfo,
 
112
                                          PVRSRV_KERNEL_MEM_INFO        **ppsHWPBDescKernelMemInfo,
 
113
                                          PVRSRV_KERNEL_MEM_INFO        **ppsBlockKernelMemInfo,
 
114
                                          PVRSRV_KERNEL_MEM_INFO        **ppsHWBlockKernelMemInfo,
 
115
                                          PVRSRV_KERNEL_MEM_INFO        ***pppsSharedPBDescSubKernelMemInfos,
 
116
                                          IMG_UINT32                            *ui32SharedPBDescSubKernelMemInfosCount);
 
117
 
 
118
IMG_IMPORT PVRSRV_ERROR
 
119
SGXUnrefSharedPBDescKM(IMG_HANDLE hSharedPBDesc);
 
120
 
 
121
IMG_IMPORT PVRSRV_ERROR
 
122
SGXAddSharedPBDescKM(PVRSRV_PER_PROCESS_DATA    *psPerProc,
 
123
                                         IMG_HANDLE                             hDevCookie,
 
124
                                         PVRSRV_KERNEL_MEM_INFO         *psSharedPBDescKernelMemInfo,
 
125
                                         PVRSRV_KERNEL_MEM_INFO         *psHWPBDescKernelMemInfo,
 
126
                                         PVRSRV_KERNEL_MEM_INFO         *psBlockKernelMemInfo,
 
127
                                         PVRSRV_KERNEL_MEM_INFO         *psHWBlockKernelMemInfo,
 
128
                                         IMG_UINT32                                     ui32TotalPBSize,
 
129
                                         IMG_HANDLE                                     *phSharedPBDesc,
 
130
                                         PVRSRV_KERNEL_MEM_INFO         **psSharedPBDescSubKernelMemInfos,
 
131
                                         IMG_UINT32                                     ui32SharedPBDescSubKernelMemInfosCount);
 
132
 
 
133
 
 
134
IMG_IMPORT PVRSRV_ERROR
 
135
SGXGetInternalDevInfoKM(IMG_HANDLE hDevCookie,
 
136
                                                SGX_INTERNAL_DEVINFO *psSGXInternalDevInfo);
 
137
 
 
138
#if defined (__cplusplus)
 
139
}
 
140
#endif
 
141
 
 
142
#endif