diff options
Diffstat (limited to 'drivers/gpu/pvr/include4/services.h')
| -rwxr-xr-x[-rw-r--r--] | drivers/gpu/pvr/include4/services.h | 374 | 
1 files changed, 40 insertions, 334 deletions
diff --git a/drivers/gpu/pvr/include4/services.h b/drivers/gpu/pvr/include4/services.h index bfa7fb05097..8828fa98cf3 100644..100755 --- a/drivers/gpu/pvr/include4/services.h +++ b/drivers/gpu/pvr/include4/services.h @@ -105,17 +105,12 @@ extern "C" {  #define PVRSRV_HAP_SINGLE_PROCESS			(1U<<16)  #define PVRSRV_HAP_MULTI_PROCESS			(1U<<17)  #define PVRSRV_HAP_FROM_EXISTING_PROCESS	(1U<<18) -#define PVRSRV_HAP_NO_CPU_VIRTUAL           (1U<<19) -#define PVRSRV_MAP_GC_MMU                   (1UL<<20) -#define PVRSRV_HAP_GPU_PAGEABLE             (1U<<21) -#define PVRSRV_HAP_NO_GPU_VIRTUAL_ON_ALLOC  (1U<<22) +#define PVRSRV_HAP_NO_CPU_VIRTUAL			(1U<<19)  #define PVRSRV_HAP_MAPTYPE_MASK				(PVRSRV_HAP_KERNEL_ONLY \                                              |PVRSRV_HAP_SINGLE_PROCESS \                                              |PVRSRV_HAP_MULTI_PROCESS \ -                                            |PVRSRV_HAP_FROM_EXISTING_PROCESS) -#define PVRSRV_HAP_MAPPING_CTRL_MASK		(PVRSRV_HAP_NO_CPU_VIRTUAL\ -                                            |PVRSRV_HAP_GPU_PAGEABLE \ -                                            |PVRSRV_HAP_NO_GPU_VIRTUAL_ON_ALLOC) +                                            |PVRSRV_HAP_FROM_EXISTING_PROCESS \ +                                            |PVRSRV_HAP_NO_CPU_VIRTUAL)  /*  	Allows user allocations to override heap attributes @@ -137,7 +132,7 @@ extern "C" {   */  #define PVRSRV_MAP_NOUSERVIRTUAL            (1UL<<27)  #define PVRSRV_MEM_XPROC  					(1U<<28) -#define PVRSRV_MEM_ION						(1U<<29) +/* Bit 29 is unused */  #define PVRSRV_MEM_ALLOCATENONCACHEDMEM		(1UL<<30)  /* @@ -199,9 +194,11 @@ extern "C" {  	Flags for PVRSRVModifySyncOps  	WO_INC		-	Used to increment "WriteOpsPending/complete of sync info"  	RO_INC		-	Used to increment "ReadOpsPending/complete of sync info" +	RO2_INC		-	Used to increment "ReadOps2Pending/complete of sync info"  */ -#define PVRSRV_MODIFYSYNCOPS_FLAGS_WO_INC			0x00000001 -#define PVRSRV_MODIFYSYNCOPS_FLAGS_RO_INC			0x00000002 +#define PVRSRV_MODIFYSYNCOPS_FLAGS_WO_INC				(1U<<0) +#define PVRSRV_MODIFYSYNCOPS_FLAGS_RO_INC				(1U<<1) +#define PVRSRV_MODIFYSYNCOPS_FLAGS_RO2_INC				(1U<<2)  /*  	Flags for Services connection. @@ -215,19 +212,6 @@ extern "C" {  */  #define PVRSRV_PDUMP_FLAGS_CONTINUOUS		0x1 -/* Number of MM planes supported for the meminfo */ -#define PVRSRV_MAX_NUMBER_OF_MM_BUFFER_PLANES  3 - -/* Invalid Device Virtual Address Value */ -#define PVRSRV_BAD_DEVICE_ADDRESS           0 - -/* Maximum array size of the meminfo's when invoking - * PVRSRVMultiManageDevMem() in shared mode */ -#define PVRSRV_MULTI_MANAGE_DEV_MEM_MAX_SIZE 128 - -/* Maximum array size of the meminfo's when invoking - * PVRSRVMultiManageDevMem() in direct (copy) mode */ -#define PVRSRV_MULTI_MANAGE_DEV_MEM_MAX_DIRECT_SIZE 8  /******************************************************************************   * Enums @@ -294,6 +278,7 @@ typedef enum  	IMG_OPENCL			= 0x0000000F,  #endif +	IMG_MODULE_UNDEF	= 0xFFFFFFFF  } IMG_MODULE_ID; @@ -372,11 +357,7 @@ typedef struct _PVRSRV_CONNECTION_  typedef struct _PVRSRV_DEV_DATA_  {  	IMG_CONST PVRSRV_CONNECTION	 *psConnection;	/*!< Services connection info */ -#if defined (SUPPORT_SID_INTERFACE) -	IMG_SID			hDevCookie;				/*!< Dev cookie */ -#else  	IMG_HANDLE			hDevCookie;				/*!< Dev cookie */ -#endif  } PVRSRV_DEV_DATA; @@ -445,16 +426,6 @@ typedef struct _PVRSRV_CLIENT_MEM_INFO_  	/* ptr to associated client sync info - NULL if no sync */  	struct _PVRSRV_CLIENT_SYNC_INFO_	*psClientSyncInfo; -#if defined (SUPPORT_SID_INTERFACE) -	/* handle to client mapping data (OS specific) */ -	IMG_SID								hMappingInfo; - -	/* handle to kernel mem info */ -	IMG_SID								hKernelMemInfo; - -	/* resman handle for UM mapping clean-up */ -	IMG_SID								hResItem; -#else  	/* handle to client mapping data (OS specific) */  	IMG_HANDLE							hMappingInfo; @@ -463,7 +434,6 @@ typedef struct _PVRSRV_CLIENT_MEM_INFO_  	/* resman handle for UM mapping clean-up */  	IMG_HANDLE							hResItem; -#endif  #if defined(SUPPORT_MEMINFO_IDS)  	#if !defined(USE_CODE) @@ -474,9 +444,9 @@ typedef struct _PVRSRV_CLIENT_MEM_INFO_  	IMG_UINT32							dummy2;  	#endif /* !defined(USE_CODE) */  #endif /* defined(SUPPORT_MEMINFO_IDS) */ - -    /* Sub-system ID that allocated the buffer */ -	IMG_UINT64 		uiSubSystem; +#if defined(SUPPORT_ION) +	IMG_SIZE_T							uiIonBufferSize; +#endif /* defined(SUPPORT_ION) */  	/*  		ptr to next mem info @@ -484,68 +454,8 @@ typedef struct _PVRSRV_CLIENT_MEM_INFO_  	*/  	struct _PVRSRV_CLIENT_MEM_INFO_		*psNext; -    /* Device Virtual Addresses for the YUV MM planes */ -	IMG_UINT32 planeOffsets[PVRSRV_MAX_NUMBER_OF_MM_BUFFER_PLANES];  } PVRSRV_CLIENT_MEM_INFO, *PPVRSRV_CLIENT_MEM_INFO; -/* -	Multiple buffer device virtual mapping management -*/ -typedef enum -{ -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_INVALID = 0, -	/* We may not have GPU virtual address */ -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_MAP = 1, -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_LOCK_MAP, -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_SWAP_MAP_FROM_PREV, -	/* We have GPU virtual address */ -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_UNMAP, -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_UNLOCK_MAP, -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_SWAP_MAP_TO_NEXT, -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_LAST = (IMG_UINT32)-1 -} PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_TYPE; - -typedef struct _PVRSRV_MANAGE_DEV_MEM_REQUEST -{ -	PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_TYPE eReqType; -	IMG_UINT32				ui32FieldSize; 	/* valid if equal to the size of the structure */ -	IMG_HANDLE				hKernelMemInfo; -	IMG_HANDLE				hKernelSyncInfo; -	PVRSRV_CLIENT_MEM_INFO  *psClientMemInfo;	/* Client side reference */ -	IMG_UINT32				ui32Hints; -	IMG_UINT32				ui32Attribs; -	IMG_SIZE_T 				uSize; -	IMG_SIZE_T 				uAlignment; -	IMG_PVOID				pvLinAddr; 			/* CPU Virtual Address */ -	IMG_UINT32				ui32CpuMapRefCount; -	IMG_DEV_VIRTADDR		sDevVAddr; 			/* Device Virtual Address */ -	IMG_UINT32				ui32GpuMapRefCount; -	IMG_UINT32  			ui32TransferFromToReqSlotIndx;	/* Transfer GPU virtual mapping from index */ -	IMG_UINT64 				uiSubSystem; -	PVRSRV_ERROR 			eError; -}PVRSRV_MANAGE_DEV_MEM_REQUEST; - -typedef PVRSRV_MANAGE_DEV_MEM_REQUEST PVRSRV_MANAGE_DEV_MEM_RESPONSE; - -typedef struct _PVRSRV_MULTI_MANAGE_DEV_MEM_REQUESTS -{ -	IMG_UINT32		ui32BridgeFlags; /* Must be first member of structure */ -	#if defined (SUPPORT_SID_INTERFACE) -	IMG_SID			hDevCookie; -	/* handle to kernel shared memory */ -	IMG_SID			hKernelMemInfo; -	#else -	IMG_HANDLE		hDevCookie; -	/* handle to kernel shared memory*/ -	IMG_HANDLE		hKernelMemInfo; -	#endif -	PVRSRV_CLIENT_MEM_INFO *psSharedMemClientMemInfo;	/* NULL if direct (not through shared) */ -	IMG_UINT32 		ui32MaxNumberOfRequests;			/* Must be <= PVRSRV_MULTI_MANAGE_DEV_MEM_MAX_DIRECT_SIZE for direct */ -	IMG_UINT32 		ui32NumberOfValidRequests;			/* Must be <= ui32MaxNumberOfRequests */ -	IMG_UINT32 		ui32CtrlFlags; -	IMG_UINT32 		ui32StatusFlags; -	PVRSRV_MANAGE_DEV_MEM_REQUEST sMemRequests[PVRSRV_MULTI_MANAGE_DEV_MEM_MAX_DIRECT_SIZE]; /* Memory Requests Array */ -}PVRSRV_MULTI_MANAGE_DEV_MEM_REQUESTS;  /*!   ****************************************************************************** @@ -555,11 +465,7 @@ typedef struct _PVRSRV_MULTI_MANAGE_DEV_MEM_REQUESTS  typedef struct _PVRSRV_HEAP_INFO_  {  	IMG_UINT32			ui32HeapID; -#if defined (SUPPORT_SID_INTERFACE) -	IMG_SID 			hDevMemHeap; -#else  	IMG_HANDLE 			hDevMemHeap; -#endif  	IMG_DEV_VIRTADDR	sDevVAddrBase;  	IMG_UINT32			ui32HeapByteSize;  	IMG_UINT32			ui32Attribs; @@ -577,11 +483,7 @@ typedef struct _PVRSRV_EVENTOBJECT_  	/* globally unique name of the event object */  	IMG_CHAR	szName[EVENTOBJNAME_MAXLENGTH];  	/* kernel specific handle for the event object */ -#if defined (SUPPORT_SID_INTERFACE) -	IMG_SID     hOSEventKM; -#else  	IMG_HANDLE	hOSEventKM; -#endif  } PVRSRV_EVENTOBJECT; @@ -607,13 +509,8 @@ typedef struct _PVRSRV_MISC_INFO_  	/*!< SOC Timer register */  	IMG_VOID	*pvSOCTimerRegisterKM;  	IMG_VOID	*pvSOCTimerRegisterUM; -#if defined (SUPPORT_SID_INTERFACE) -	IMG_SID		hSOCTimerRegisterOSMemHandle; -	IMG_SID		hSOCTimerRegisterMappingInfo; -#else  	IMG_HANDLE	hSOCTimerRegisterOSMemHandle;  	IMG_HANDLE	hSOCTimerRegisterMappingInfo; -#endif  	/*!< SOC Clock Gating registers */  	IMG_VOID	*pvSOCClockGateRegs; @@ -625,11 +522,7 @@ typedef struct _PVRSRV_MISC_INFO_  	/* global event object */  	PVRSRV_EVENTOBJECT	sGlobalEventObject;//FIXME: should be private to services -#if defined (SUPPORT_SID_INTERFACE) -	IMG_EVENTSID		hOSGlobalEvent; -#else  	IMG_HANDLE			hOSGlobalEvent; -#endif  	/* Note: add misc. items as required */  	IMG_UINT32	aui32DDKVersion[4]; @@ -647,7 +540,6 @@ typedef struct _PVRSRV_MISC_INFO_  		 * directly in the srvclient PVRSRVGetMiscInfo code, and then convert it  		 * to a kernel meminfo if required. Try to not waste space.  		 */ -#if !defined (SUPPORT_SID_INTERFACE)  		union  		{  			/*!< Input client meminfo (UM side) */ @@ -656,7 +548,6 @@ typedef struct _PVRSRV_MISC_INFO_  			/*!< Output kernel meminfo (Bridge+KM side) */  			struct _PVRSRV_KERNEL_MEM_INFO_ *psKernelMemInfo;  		} u; -#endif  		/*!< Offset in MemInfo to start cache op */  		IMG_VOID *pvBaseVAddr; @@ -672,7 +563,6 @@ typedef struct _PVRSRV_MISC_INFO_  		 * directly in the srvclient PVRSRVGetMiscInfo code, and then convert it  		 * to a kernel meminfo if required. Try to not waste space.  		 */ -#if !defined(SUPPORT_SID_INTERFACE)  		union  		{  			/*!< Input client meminfo (UM side) */ @@ -681,7 +571,6 @@ typedef struct _PVRSRV_MISC_INFO_  			/*!< Output kernel meminfo (Bridge+KM side) */  			struct _PVRSRV_KERNEL_MEM_INFO_ *psKernelMemInfo;  		} u; -#endif  		/*!< Resulting refcount */  		IMG_UINT32 ui32RefCount; @@ -701,11 +590,7 @@ typedef struct _PVRSRV_SYNC_TOKEN_  	   The fields are hidden in sPrivate in order to reinforce this. */  	struct  	{ -#if defined (SUPPORT_SID_INTERFACE) -		IMG_SID    hKernelSyncInfo; -#else  		IMG_HANDLE hKernelSyncInfo; -#endif  		IMG_UINT32 ui32ReadOpsPendingSnapshot;  		IMG_UINT32 ui32WriteOpsPendingSnapshot;  		IMG_UINT32 ui32ReadOps2PendingSnapshot; @@ -718,7 +603,7 @@ typedef struct _PVRSRV_SYNC_TOKEN_   *****************************************************************************/  typedef enum _PVRSRV_CLIENT_EVENT_  { -	PVRSRV_CLIENT_EVENT_HWTIMEOUT = 0, +	PVRSRV_CLIENT_EVENT_HWTIMEOUT = 0  } PVRSRV_CLIENT_EVENT;  typedef IMG_VOID (*PFN_QUEUE_COMMAND_COMPLETE)(IMG_HANDLE hCallbackData); @@ -754,11 +639,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVReleaseMiscInfo (IMG_CONST PVRSRV_CONNECTION *ps  IMG_IMPORT  PVRSRV_ERROR PVRSRVPollForValue ( const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -							IMG_SID    hOSEvent, -#else  							IMG_HANDLE hOSEvent, -#endif  							volatile IMG_UINT32 *pui32LinMemAddr,  							IMG_UINT32 ui32Value,  							IMG_UINT32 ui32Mask, @@ -768,30 +649,18 @@ PVRSRV_ERROR PVRSRVPollForValue ( const PVRSRV_CONNECTION *psConnection,  /* memory APIs */  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateDeviceMemContext(IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID    *phDevMemContext, -#else  											IMG_HANDLE *phDevMemContext, -#endif  											IMG_UINT32 *pui32SharedHeapCount,  											PVRSRV_HEAP_INFO *psHeapInfo);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyDeviceMemContext(IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID 			hDevMemContext -#else  											IMG_HANDLE 			hDevMemContext -#endif  	);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDeviceMemHeapInfo(IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID     hDevMemContext, -#else  											IMG_HANDLE hDevMemContext, -#endif  											IMG_UINT32 *pui32SharedHeapCount,  											PVRSRV_HEAP_INFO *psHeapInfo); @@ -808,11 +677,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDeviceMemHeapInfo(IMG_CONST PVRSRV_DEV_DATA *  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocDeviceMem2(IMG_CONST PVRSRV_DEV_DATA	*psDevData, -#if defined (SUPPORT_SID_INTERFACE) -									IMG_SID			hDevMemHeap, -#else  									IMG_HANDLE		hDevMemHeap, -#endif  									IMG_UINT32		ui32Attribs,  									IMG_SIZE_T		ui32Size,  									IMG_SIZE_T		ui32Alignment, @@ -822,11 +687,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocDeviceMem2(IMG_CONST PVRSRV_DEV_DATA	*psDev  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocDeviceMem(IMG_CONST PVRSRV_DEV_DATA	*psDevData, -#if defined (SUPPORT_SID_INTERFACE) -									IMG_SID			hDevMemHeap, -#else  									IMG_HANDLE		hDevMemHeap, -#endif  									IMG_UINT32		ui32Attribs,  									IMG_SIZE_T		ui32Size,  									IMG_SIZE_T		ui32Alignment, @@ -837,37 +698,14 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVFreeDeviceMem(IMG_CONST PVRSRV_DEV_DATA	*psDevDa  								PVRSRV_CLIENT_MEM_INFO		*psMemInfo);  IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVMultiManageDevMem(IMG_CONST PVRSRV_DEV_DATA	*psDevData, -		IMG_UINT32 ui32ControlFlags, PVRSRV_MULTI_MANAGE_DEV_MEM_REQUESTS * psMultiMemDevRequest, -		IMG_UINT32 *ui32StatusFlags, IMG_UINT32 *ui32IndexError); - -IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVManageDevMem(IMG_CONST PVRSRV_DEV_DATA	*psDevData, -		PVRSRV_MULTI_MANAGE_DEV_MEM_RQST_TYPE eReq, PVRSRV_CLIENT_MEM_INFO *psMemInfo, -		IMG_UINT32 *ui32StatusFlags); - -IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVManageDevMemSwapGpuVirtAddr(IMG_CONST PVRSRV_DEV_DATA	*psDevData, -		PVRSRV_CLIENT_MEM_INFO *psMemInfoSourceArray, PVRSRV_CLIENT_MEM_INFO *psMemInfoTargetArray, -		IMG_UINT32 ui32NumBuff, IMG_UINT32 *ui32StatusFlags); - -IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVExportDeviceMem(IMG_CONST PVRSRV_DEV_DATA	*psDevData,  												PVRSRV_CLIENT_MEM_INFO		*psMemInfo, -#if defined (SUPPORT_SID_INTERFACE) -												IMG_SID						*phMemInfo -#else  												IMG_HANDLE					*phMemInfo -#endif  	);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVReserveDeviceVirtualMem(IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID				hDevMemHeap, -#else  											IMG_HANDLE			hDevMemHeap, -#endif  											IMG_DEV_VIRTADDR	*psDevVAddr,  											IMG_SIZE_T			ui32Size,  											IMG_SIZE_T			ui32Alignment, @@ -878,13 +716,8 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVFreeDeviceVirtualMem(IMG_CONST PVRSRV_DEV_DATA *  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVMapDeviceMemory (IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -									IMG_SID hKernelMemInfo, -									IMG_SID hDstDevMemHeap, -#else  									IMG_HANDLE hKernelMemInfo,  									IMG_HANDLE hDstDevMemHeap, -#endif  									PVRSRV_CLIENT_MEM_INFO **ppsDstMemInfo);  IMG_IMPORT @@ -903,11 +736,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapExtMemory (IMG_CONST PVRSRV_DEV_DATA *psDev  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVWrapExtMemory(IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -												IMG_SID					hDevMemContext, -#else  												IMG_HANDLE				hDevMemContext, -#endif  												IMG_SIZE_T 				ui32ByteSize,  												IMG_SIZE_T				ui32PageOffset,  												IMG_BOOL				bPhysContig, @@ -924,20 +753,6 @@ PVRSRV_ERROR PVRSRVChangeDeviceMemoryAttributes(IMG_CONST PVRSRV_DEV_DATA			*psD  												IMG_UINT32				ui32Attribs);  IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVMapDeviceClassMemory (IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID hDevMemContext, -										IMG_SID hDeviceClassBuffer, -#else -										IMG_HANDLE hDevMemContext, -										IMG_HANDLE hDeviceClassBuffer, -#endif -										PVRSRV_CLIENT_MEM_INFO **ppsMemInfo); -IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapDeviceClassMemory (IMG_CONST PVRSRV_DEV_DATA *psDevData, -										PVRSRV_CLIENT_MEM_INFO *psMemInfo); - -IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVMapPhysToUserSpace(IMG_CONST PVRSRV_DEV_DATA *psDevData,  									  IMG_SYS_PHYADDR sSysPhysAddr,  									  IMG_UINT32 uiSizeInBytes, @@ -952,9 +767,6 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapPhysToUserSpace(IMG_CONST PVRSRV_DEV_DATA *  #if defined(LINUX)  IMG_IMPORT -PVRSRV_ERROR IMG_CALLCONV PVRSRVCloseExportedDeviceMemHanle(const PVRSRV_DEV_DATA	*psDevData, -												 IMG_INT i32Fd); -IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVExportDeviceMem2(IMG_CONST PVRSRV_DEV_DATA	*psDevData,  												 PVRSRV_CLIENT_MEM_INFO		*psMemInfo,  												 IMG_INT					*iFd); @@ -962,23 +774,18 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVExportDeviceMem2(IMG_CONST PVRSRV_DEV_DATA	*psDe  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVMapDeviceMemory2(IMG_CONST PVRSRV_DEV_DATA	*psDevData,  												 IMG_INT					iFd, -#if defined (SUPPORT_SID_INTERFACE) -												 IMG_SID					hDstDevMemHeap, -#else  												 IMG_HANDLE					hDstDevMemHeap, -#endif  												 PVRSRV_CLIENT_MEM_INFO		**ppsDstMemInfo);  #endif /* defined(LINUX) */  #if defined(SUPPORT_ION)  PVRSRV_ERROR PVRSRVMapIonHandle(const PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -								 IMG_SID    hDevMemContext, -#else -								 IMG_HANDLE hDevMemContext, -#endif -								IMG_INT32 uiFD, -								IMG_UINT32 uiSize, +								IMG_HANDLE hDevMemHeap, +								IMG_UINT32 ui32NumFDs, +								IMG_INT    *paiBufferFDs, +								IMG_UINT32 ui32ChunkCount, +								IMG_SIZE_T *pauiOffset, +								IMG_SIZE_T *pauiSize,  								IMG_UINT32 ui32Attribs,  								PVRSRV_CLIENT_MEM_INFO **ppsMemInfo); @@ -989,11 +796,7 @@ PVRSRV_ERROR PVRSRVUnmapIonHandle(const PVRSRV_DEV_DATA *psDevData,  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocDeviceMemSparse(const PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -													IMG_SID	 hDevMemHeap, -#else  													IMG_HANDLE hDevMemHeap, -#endif  													IMG_UINT32 ui32Attribs,  													IMG_SIZE_T uAlignment,  													IMG_UINT32 ui32ChunkSize, @@ -1009,7 +812,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVAllocDeviceMemSparse(const PVRSRV_DEV_DATA *psDe  typedef enum _PVRSRV_SYNCVAL_MODE_  {  	PVRSRV_SYNCVAL_READ				= IMG_TRUE, -	PVRSRV_SYNCVAL_WRITE			= IMG_FALSE, +	PVRSRV_SYNCVAL_WRITE			= IMG_FALSE  } PVRSRV_SYNCVAL_MODE, *PPVRSRV_SYNCVAL_MODE; @@ -1036,6 +839,16 @@ IMG_IMPORT IMG_BOOL PVRSRVTestAllOpsNotComplete(PPVRSRV_CLIENT_MEM_INFO psMemInf  IMG_IMPORT PVRSRV_SYNCVAL PVRSRVGetPendingOpSyncVal(PPVRSRV_CLIENT_MEM_INFO psMemInfo,  	PVRSRV_SYNCVAL_MODE eMode); +#if defined(SUPPORT_PVRSRV_DEVICE_CLASS) + +IMG_IMPORT +PVRSRV_ERROR IMG_CALLCONV PVRSRVMapDeviceClassMemory (IMG_CONST PVRSRV_DEV_DATA *psDevData, +										IMG_HANDLE hDevMemContext, +										IMG_HANDLE hDeviceClassBuffer, +										PVRSRV_CLIENT_MEM_INFO **ppsMemInfo); +IMG_IMPORT +PVRSRV_ERROR IMG_CALLCONV PVRSRVUnmapDeviceClassMemory (IMG_CONST PVRSRV_DEV_DATA *psDevData, +										PVRSRV_CLIENT_MEM_INFO *psMemInfo);  /******************************************************************************   * Common Device Class Enumeration @@ -1069,11 +882,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVEnumDCDims (IMG_HANDLE hDevice,  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDCSystemBuffer(IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID *phBuffer -#else  										IMG_HANDLE *phBuffer -#endif  	);  IMG_IMPORT @@ -1088,117 +897,69 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateDCSwapChain (IMG_HANDLE				hDevice,  													IMG_UINT32				ui32BufferCount,  													IMG_UINT32				ui32OEMFlags,  													IMG_UINT32				*pui32SwapChainID, -#if defined (SUPPORT_SID_INTERFACE) -													IMG_SID					*phSwapChain -#else  													IMG_HANDLE				*phSwapChain -#endif  	);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroyDCSwapChain (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID hSwapChain -#else  											IMG_HANDLE		hSwapChain -#endif  	);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSetDCDstRect (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID		hSwapChain, -#else  										IMG_HANDLE	hSwapChain, -#endif  										IMG_RECT	*psDstRect);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSetDCSrcRect (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID		hSwapChain, -#else  										IMG_HANDLE	hSwapChain, -#endif  										IMG_RECT	*psSrcRect);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSetDCDstColourKey (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID		hSwapChain, -#else  											IMG_HANDLE	hSwapChain, -#endif  											IMG_UINT32	ui32CKColour);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSetDCSrcColourKey (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID		hSwapChain, -#else  											IMG_HANDLE	hSwapChain, -#endif  											IMG_UINT32	ui32CKColour);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDCBuffers(IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -									IMG_SID     hSwapChain, -									IMG_SID    *phBuffer -#else  									IMG_HANDLE hSwapChain,  									IMG_HANDLE *phBuffer -#endif  	);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVGetDCBuffers2(IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -											  IMG_SID    hSwapChain, -											  IMG_SID   *phBuffer, -#else  											  IMG_HANDLE hSwapChain,  											  IMG_HANDLE *phBuffer, -#endif  											  IMG_SYS_PHYADDR *psPhyAddr);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSwapToDCBuffer (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID    hBuffer, -#else  										IMG_HANDLE hBuffer, -#endif  										IMG_UINT32 ui32ClipRectCount,  										IMG_RECT  *psClipRect,  										IMG_UINT32 ui32SwapInterval, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID hPrivateTag -#else  										IMG_HANDLE hPrivateTag -#endif  	);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSwapToDCBuffer2 (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID    hBuffer, -#else  										IMG_HANDLE hBuffer, -#endif  										IMG_UINT32 ui32SwapInterval,  										PVRSRV_CLIENT_MEM_INFO **ppsMemInfos, -										IMG_UINT32 ui32NumMemInfos, +										PVRSRV_CLIENT_SYNC_INFO **ppsSyncInfos, +										IMG_UINT32 ui32NumMemSyncInfos,  										IMG_PVOID  pvPrivData, -										IMG_UINT32 ui32PrivDataLength); +										IMG_UINT32 ui32PrivDataLength, +										IMG_HANDLE *phFence);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSwapToDCSystem (IMG_HANDLE hDevice, -#if defined (SUPPORT_SID_INTERFACE) -										IMG_SID hSwapChain -#else  										IMG_HANDLE hSwapChain -#endif  	);  /****************************************************************************** @@ -1219,13 +980,10 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVGetBCBufferInfo(IMG_HANDLE hDevice,  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVGetBCBuffer(IMG_HANDLE hDevice,  												IMG_UINT32 ui32BufferIndex, -#if defined (SUPPORT_SID_INTERFACE) -												IMG_SID   *phBuffer -#else  												IMG_HANDLE *phBuffer -#endif  	); +#endif /* #if defined(SUPPORT_PVRSRV_DEVICE_CLASS) */  /******************************************************************************   * PDUMP Function prototypes... @@ -1241,11 +999,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpStopInitPhase(IMG_CONST PVRSRV_CONNECTION *  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpMemPol(IMG_CONST PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -										  IMG_SID    hKernelMemInfo, -#else  										  PVRSRV_CLIENT_MEM_INFO *psMemInfo, -#endif										    										  IMG_UINT32 ui32Offset,  										  IMG_UINT32 ui32Value,  										  IMG_UINT32 ui32Mask, @@ -1254,22 +1008,14 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpMemPol(IMG_CONST PVRSRV_CONNECTION *psConne  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpSyncPol(IMG_CONST PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -											 IMG_SID    hKernelSyncInfo, -#else  											 PVRSRV_CLIENT_SYNC_INFO *psClientSyncInfo, -#endif  											 IMG_BOOL   bIsRead,  											 IMG_UINT32 ui32Value,  											 IMG_UINT32 ui32Mask);  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpSyncPol2(IMG_CONST PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -											 IMG_SID  hKernelSyncInfo, -#else  											 PVRSRV_CLIENT_SYNC_INFO *psClientSyncInfo, -#endif  											 IMG_BOOL bIsRead);  IMG_IMPORT @@ -1321,11 +1067,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpPDDevPAddr(IMG_CONST PVRSRV_CONNECTION *psC  #if !defined(USE_CODE)  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpMemPages(IMG_CONST PVRSRV_DEV_DATA *psDevData, -#if defined (SUPPORT_SID_INTERFACE) -														   IMG_SID				hKernelMemInfo, -#else  														   IMG_HANDLE			hKernelMemInfo, -#endif  														   IMG_DEV_PHYADDR		*pPages,  														   IMG_UINT32			ui32NumPages,  												   		   IMG_DEV_VIRTADDR		sDevVAddr, @@ -1378,11 +1120,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVPDumpBitmap(IMG_CONST PVRSRV_DEV_DATA *psDevData  											IMG_UINT32 ui32Height,  											IMG_UINT32 ui32StrideInBytes,  											IMG_DEV_VIRTADDR sDevBaseAddr, -#if defined (SUPPORT_SID_INTERFACE) -											IMG_SID    hDevMemContext, -#else  											IMG_HANDLE hDevMemContext, -#endif  											IMG_UINT32 ui32Size,  											PDUMP_PIXEL_FORMAT ePixelFormat,  											PDUMP_MEM_FORMAT eMemFormat, @@ -1437,12 +1175,12 @@ IMG_IMPORT IMG_BOOL IMG_CALLCONV PVRSRVGetAppHint(IMG_VOID			*pvHintState,   *****************************************************************************/  /* Exported APIs */ -IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVAllocUserModeMem (IMG_SIZE_T ui32Size); -IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVCallocUserModeMem (IMG_SIZE_T ui32Size); -IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVReallocUserModeMem (IMG_PVOID pvBase, IMG_SIZE_T uNewSize); +IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVAllocUserModeMem (IMG_SIZE_T uiSize); +IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVCallocUserModeMem (IMG_SIZE_T uiSize); +IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVReallocUserModeMem (IMG_PVOID pvBase, IMG_SIZE_T uiNewSize);  IMG_IMPORT IMG_VOID  IMG_CALLCONV PVRSRVFreeUserModeMem (IMG_PVOID pvMem); -IMG_IMPORT IMG_VOID PVRSRVMemCopy(IMG_VOID *pvDst, const IMG_VOID *pvSrc, IMG_SIZE_T ui32Size); -IMG_IMPORT IMG_VOID PVRSRVMemSet(IMG_VOID *pvDest, IMG_UINT8 ui8Value, IMG_SIZE_T ui32Size); +IMG_IMPORT IMG_VOID PVRSRVMemCopy(IMG_VOID *pvDst, const IMG_VOID *pvSrc, IMG_SIZE_T uiSize); +IMG_IMPORT IMG_VOID PVRSRVMemSet(IMG_VOID *pvDest, IMG_UINT8 ui8Value, IMG_SIZE_T uiSize);  struct _PVRSRV_MUTEX_OPAQUE_STRUCT_;  typedef	struct  _PVRSRV_MUTEX_OPAQUE_STRUCT_ *PVRSRV_MUTEX_HANDLE; @@ -1591,11 +1329,7 @@ IMG_IMPORT IMG_PVOID IMG_CALLCONV PVRSRVReallocUserModeMemTracking(IMG_VOID *pvM   *****************************************************************************/  IMG_IMPORT PVRSRV_ERROR PVRSRVEventObjectWait(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -									IMG_EVENTSID hOSEvent -#else  									IMG_HANDLE hOSEvent -#endif  	);  /*! @@ -1608,11 +1342,7 @@ IMG_IMPORT PVRSRV_ERROR PVRSRVEventObjectWait(const PVRSRV_CONNECTION *psConnect   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateSyncInfoModObj(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -													 IMG_SID *phKernelSyncInfoModObj -#else  													 IMG_HANDLE *phKernelSyncInfoModObj -#endif  	);  /*! @@ -1625,11 +1355,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVCreateSyncInfoModObj(const PVRSRV_CONNECTION *ps   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroySyncInfoModObj(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -													  IMG_SID hKernelSyncInfoModObj -#else  													  IMG_HANDLE hKernelSyncInfoModObj -#endif  	); @@ -1664,11 +1390,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVDestroySyncInfoModObj(const PVRSRV_CONNECTION *p   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVModifyPendingSyncOps(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -													  IMG_SID    hKernelSyncInfoModObj, -#else  													  IMG_HANDLE hKernelSyncInfoModObj, -#endif  													  PVRSRV_CLIENT_SYNC_INFO *psSyncInfo,  													  IMG_UINT32 ui32ModifyFlags,  													  IMG_UINT32 *pui32ReadOpsPending, @@ -1689,11 +1411,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVModifyPendingSyncOps(const PVRSRV_CONNECTION *ps   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVModifyCompleteSyncOps(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -													  IMG_SID hKernelSyncInfoModObj -#else  													  IMG_HANDLE hKernelSyncInfoModObj -#endif  	);  /*! @@ -1719,11 +1437,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVModifyCompleteSyncOps(const PVRSRV_CONNECTION *p   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSyncOpsTakeToken(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -												 const IMG_SID      hKernelSyncInfo, -#else  												 const PVRSRV_CLIENT_SYNC_INFO *psSyncInfo, -#endif  												 PVRSRV_SYNC_TOKEN *psSyncToken);  /*!   ****************************************************************************** @@ -1743,11 +1457,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVSyncOpsTakeToken(const PVRSRV_CONNECTION *psConn   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSyncOpsFlushToToken(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -													const IMG_SID            hKernelSyncInfo, -#else  													const PVRSRV_CLIENT_SYNC_INFO *psSyncInfo, -#endif  													const PVRSRV_SYNC_TOKEN *psSyncToken,  													IMG_BOOL bWait);  /*! @@ -1770,11 +1480,7 @@ PVRSRV_ERROR IMG_CALLCONV PVRSRVSyncOpsFlushToToken(const PVRSRV_CONNECTION *psC   ******************************************************************************/  IMG_IMPORT  PVRSRV_ERROR IMG_CALLCONV PVRSRVSyncOpsFlushToModObj(const PVRSRV_CONNECTION *psConnection, -#if defined (SUPPORT_SID_INTERFACE) -													 IMG_SID  hKernelSyncInfoModObj, -#else  													 IMG_HANDLE hKernelSyncInfoModObj, -#endif  													 IMG_BOOL bWait);  /*!  |