summaryrefslogtreecommitdiff
path: root/drivers/gpu/pvr/include4/services.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/pvr/include4/services.h')
-rwxr-xr-x[-rw-r--r--]drivers/gpu/pvr/include4/services.h374
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);
/*!