diff options
Diffstat (limited to 'jacinto6/sgx_src/eurasia_km/services4/srvkm/include/srvkm.h')
-rw-r--r-- | jacinto6/sgx_src/eurasia_km/services4/srvkm/include/srvkm.h | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/jacinto6/sgx_src/eurasia_km/services4/srvkm/include/srvkm.h b/jacinto6/sgx_src/eurasia_km/services4/srvkm/include/srvkm.h new file mode 100644 index 0000000..5d396f8 --- /dev/null +++ b/jacinto6/sgx_src/eurasia_km/services4/srvkm/include/srvkm.h | |||
@@ -0,0 +1,129 @@ | |||
1 | /*************************************************************************/ /*! | ||
2 | @Title Services kernel module internal header file | ||
3 | @Copyright Copyright (c) Imagination Technologies Ltd. All Rights Reserved | ||
4 | @License Dual MIT/GPLv2 | ||
5 | |||
6 | The contents of this file are subject to the MIT license as set out below. | ||
7 | |||
8 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
9 | of this software and associated documentation files (the "Software"), to deal | ||
10 | in the Software without restriction, including without limitation the rights | ||
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
12 | copies of the Software, and to permit persons to whom the Software is | ||
13 | furnished to do so, subject to the following conditions: | ||
14 | |||
15 | The above copyright notice and this permission notice shall be included in | ||
16 | all copies or substantial portions of the Software. | ||
17 | |||
18 | Alternatively, the contents of this file may be used under the terms of | ||
19 | the GNU General Public License Version 2 ("GPL") in which case the provisions | ||
20 | of GPL are applicable instead of those above. | ||
21 | |||
22 | If you wish to allow use of your version of this file only under the terms of | ||
23 | GPL, and not to allow others to use your version of this file under the terms | ||
24 | of the MIT license, indicate your decision by deleting the provisions above | ||
25 | and replace them with the notice and other provisions required by GPL as set | ||
26 | out in the file called "GPL-COPYING" included in this distribution. If you do | ||
27 | not delete the provisions above, a recipient may use your version of this file | ||
28 | under the terms of either the MIT license or GPL. | ||
29 | |||
30 | This License is also included in this distribution in the file called | ||
31 | "MIT-COPYING". | ||
32 | |||
33 | EXCEPT AS OTHERWISE STATED IN A NEGOTIATED AGREEMENT: (A) THE SOFTWARE IS | ||
34 | PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING | ||
35 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR | ||
36 | PURPOSE AND NONINFRINGEMENT; AND (B) IN NO EVENT SHALL THE AUTHORS OR | ||
37 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | ||
38 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
39 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
40 | */ /**************************************************************************/ | ||
41 | |||
42 | #ifndef SRVKM_H | ||
43 | #define SRVKM_H | ||
44 | |||
45 | |||
46 | #if defined(__cplusplus) | ||
47 | extern "C" { | ||
48 | #endif | ||
49 | |||
50 | /** Use PVR_DPF() unless message is necessary in release build | ||
51 | */ | ||
52 | #ifdef PVR_DISABLE_LOGGING | ||
53 | #define PVR_LOG(X) | ||
54 | #else | ||
55 | /* PRQA S 3410 1 */ /* this macro requires no brackets in order to work */ | ||
56 | #define PVR_LOG(X) PVRSRVReleasePrintf X; | ||
57 | #endif | ||
58 | |||
59 | IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVReleasePrintf(const IMG_CHAR *pszFormat, ...) IMG_FORMAT_PRINTF(1, 2); | ||
60 | |||
61 | IMG_IMPORT PVRSRV_ERROR IMG_CALLCONV PVRSRVProcessConnect(IMG_UINT32 ui32PID, IMG_UINT32 ui32Flags); | ||
62 | IMG_IMPORT IMG_VOID IMG_CALLCONV PVRSRVProcessDisconnect(IMG_UINT32 ui32PID); | ||
63 | |||
64 | IMG_IMPORT IMG_VOID PVRSRVScheduleDevicesKM(IMG_VOID); | ||
65 | |||
66 | IMG_VOID IMG_CALLCONV PVRSRVSetDCState(IMG_UINT32 ui32State); | ||
67 | |||
68 | PVRSRV_ERROR IMG_CALLCONV PVRSRVSaveRestoreLiveSegments(IMG_HANDLE hArena, IMG_PBYTE pbyBuffer, IMG_SIZE_T *puiBufSize, IMG_BOOL bSave); | ||
69 | |||
70 | IMG_VOID PVRSRVScheduleDeviceCallbacks(IMG_VOID); | ||
71 | |||
72 | |||
73 | #if defined (__cplusplus) | ||
74 | } | ||
75 | #endif | ||
76 | |||
77 | /****************** | ||
78 | HIGHER LEVEL MACROS | ||
79 | *******************/ | ||
80 | |||
81 | /*---------------------------------------------------------------------------- | ||
82 | Repeats the body of the loop for a certain minimum time, or until the body | ||
83 | exits by its own means (break, return, goto, etc.) | ||
84 | |||
85 | Example of usage: | ||
86 | |||
87 | LOOP_UNTIL_TIMEOUT(MAX_HW_TIME_US) | ||
88 | { | ||
89 | if(psQueueInfo->ui32ReadOffset == psQueueInfo->ui32WriteOffset) | ||
90 | { | ||
91 | bTimeout = IMG_FALSE; | ||
92 | break; | ||
93 | } | ||
94 | |||
95 | OSWaitus(MAX_HW_TIME_US/WAIT_TRY_COUNT); | ||
96 | } END_LOOP_UNTIL_TIMEOUT(); | ||
97 | |||
98 | -----------------------------------------------------------------------------*/ | ||
99 | |||
100 | /* uiNotLastLoop will remain at 1 until the timeout has expired, at which time | ||
101 | * it will be decremented and the loop executed one final time. This is necessary | ||
102 | * when preemption is enabled. | ||
103 | */ | ||
104 | /* PRQA S 3411,3431 12 */ /* critical format, leave alone */ | ||
105 | #define LOOP_UNTIL_TIMEOUT(TIMEOUT) \ | ||
106 | {\ | ||
107 | IMG_UINT32 uiOffset, uiStart, uiCurrent; \ | ||
108 | IMG_INT32 iNotLastLoop; \ | ||
109 | for(uiOffset = 0, uiStart = OSClockus(), uiCurrent = uiStart + 1, iNotLastLoop = 1;\ | ||
110 | ((uiCurrent - uiStart + uiOffset) < (TIMEOUT)) || iNotLastLoop--; \ | ||
111 | uiCurrent = OSClockus(), \ | ||
112 | uiOffset = uiCurrent < uiStart ? IMG_UINT32_MAX - uiStart : uiOffset, \ | ||
113 | uiStart = uiCurrent < uiStart ? 0 : uiStart) | ||
114 | |||
115 | #define END_LOOP_UNTIL_TIMEOUT() \ | ||
116 | } | ||
117 | |||
118 | /*! | ||
119 | ****************************************************************************** | ||
120 | |||
121 | @Function PVRSRVGetErrorStringKM | ||
122 | |||
123 | @Description Returns a text string relating to the PVRSRV_ERROR enum. | ||
124 | |||
125 | ******************************************************************************/ | ||
126 | IMG_IMPORT | ||
127 | const IMG_CHAR *PVRSRVGetErrorStringKM(PVRSRV_ERROR eError); | ||
128 | |||
129 | #endif /* SRVKM_H */ | ||