diff options
Diffstat (limited to 'drivers/gpu/drm/emgd/pvr/services4/srvkm/bridged/bridged_pvr_bridge.h')
-rw-r--r-- | drivers/gpu/drm/emgd/pvr/services4/srvkm/bridged/bridged_pvr_bridge.h | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/drivers/gpu/drm/emgd/pvr/services4/srvkm/bridged/bridged_pvr_bridge.h b/drivers/gpu/drm/emgd/pvr/services4/srvkm/bridged/bridged_pvr_bridge.h deleted file mode 100644 index 70e399def1e4..000000000000 --- a/drivers/gpu/drm/emgd/pvr/services4/srvkm/bridged/bridged_pvr_bridge.h +++ /dev/null @@ -1,231 +0,0 @@ -/********************************************************************** - * - * Copyright(c) 2008 Imagination Technologies Ltd. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms and conditions of the GNU General Public License, - * version 2, as published by the Free Software Foundation. - * - * This program is distributed in the hope it will be useful but, except - * as otherwise stated in writing, without any warranty; without even the - * implied warranty of merchantability or fitness for a particular purpose. - * See the GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - * - * The full GNU General Public License is included in this distribution in - * the file called "COPYING". - * - * Contact Information: - * Imagination Technologies Ltd. <gpl-support@imgtec.com> - * Home Park Estate, Kings Langley, Herts, WD4 8LZ, UK - * - ******************************************************************************/ - -#ifndef __BRIDGED_PVR_BRIDGE_H__ -#define __BRIDGED_PVR_BRIDGE_H__ - -#include "pvr_bridge.h" - -#if defined(__cplusplus) -extern "C" { -#endif - -#if defined(__linux__) -#define PVRSRV_GET_BRIDGE_ID(X) _IOC_NR(X) -#else -#define PVRSRV_GET_BRIDGE_ID(X) (X - PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST)) -#endif - -#ifndef ENOMEM -#define ENOMEM 12 -#endif -#ifndef EFAULT -#define EFAULT 14 -#endif -#ifndef ENOTTY -#define ENOTTY 25 -#endif - -#if defined(DEBUG_BRIDGE_KM) -PVRSRV_ERROR -CopyFromUserWrapper(PVRSRV_PER_PROCESS_DATA *pProcData, - IMG_UINT32 ui32BridgeID, - IMG_VOID *pvDest, - IMG_VOID *pvSrc, - IMG_UINT32 ui32Size); -PVRSRV_ERROR -CopyToUserWrapper(PVRSRV_PER_PROCESS_DATA *pProcData, - IMG_UINT32 ui32BridgeID, - IMG_VOID *pvDest, - IMG_VOID *pvSrc, - IMG_UINT32 ui32Size); -#else -#define CopyFromUserWrapper(pProcData, ui32BridgeID, pvDest, pvSrc, ui32Size) \ - OSCopyFromUser(pProcData, pvDest, pvSrc, ui32Size) -#define CopyToUserWrapper(pProcData, ui32BridgeID, pvDest, pvSrc, ui32Size) \ - OSCopyToUser(pProcData, pvDest, pvSrc, ui32Size) -#endif - - -#define ASSIGN_AND_RETURN_ON_ERROR(error, src, res) \ - do \ - { \ - (error) = (src); \ - if ((error) != PVRSRV_OK) \ - { \ - return (res); \ - } \ - } while (error != PVRSRV_OK) - -#define ASSIGN_AND_EXIT_ON_ERROR(error, src) \ - ASSIGN_AND_RETURN_ON_ERROR(error, src, 0) - -#if defined (PVR_SECURE_HANDLES) -#ifdef INLINE_IS_PRAGMA -#pragma inline(NewHandleBatch) -#endif -static INLINE PVRSRV_ERROR -NewHandleBatch(PVRSRV_PER_PROCESS_DATA *psPerProc, - IMG_UINT32 ui32BatchSize) -{ - PVRSRV_ERROR eError; - - PVR_ASSERT(!psPerProc->bHandlesBatched); - - eError = PVRSRVNewHandleBatch(psPerProc->psHandleBase, ui32BatchSize); - - if (eError == PVRSRV_OK) - { - psPerProc->bHandlesBatched = IMG_TRUE; - } - - return eError; -} - -#define NEW_HANDLE_BATCH_OR_ERROR(error, psPerProc, ui32BatchSize) \ - ASSIGN_AND_EXIT_ON_ERROR(error, NewHandleBatch(psPerProc, ui32BatchSize)) - -#ifdef INLINE_IS_PRAGMA -#pragma inline(CommitHandleBatch) -#endif -static INLINE PVRSRV_ERROR -CommitHandleBatch(PVRSRV_PER_PROCESS_DATA *psPerProc) -{ - PVR_ASSERT(psPerProc->bHandlesBatched); - - psPerProc->bHandlesBatched = IMG_FALSE; - - return PVRSRVCommitHandleBatch(psPerProc->psHandleBase); -} - - -#define COMMIT_HANDLE_BATCH_OR_ERROR(error, psPerProc) \ - ASSIGN_AND_EXIT_ON_ERROR(error, CommitHandleBatch(psPerProc)) - -#ifdef INLINE_IS_PRAGMA -#pragma inline(ReleaseHandleBatch) -#endif -static INLINE IMG_VOID -ReleaseHandleBatch(PVRSRV_PER_PROCESS_DATA *psPerProc) -{ - if (psPerProc->bHandlesBatched) - { - psPerProc->bHandlesBatched = IMG_FALSE; - - PVRSRVReleaseHandleBatch(psPerProc->psHandleBase); - } -} -#else -#define NEW_HANDLE_BATCH_OR_ERROR(error, psPerProc, ui32BatchSize) -#define COMMIT_HANDLE_BATCH_OR_ERROR(error, psPerProc) -#define ReleaseHandleBatch(psPerProc) -#endif - -IMG_INT -DummyBW(IMG_UINT32 ui32BridgeID, - IMG_VOID *psBridgeIn, - IMG_VOID *psBridgeOut, - PVRSRV_PER_PROCESS_DATA *psPerProc); - -typedef IMG_INT (*BridgeWrapperFunction)(IMG_UINT32 ui32BridgeID, - IMG_VOID *psBridgeIn, - IMG_VOID *psBridgeOut, - PVRSRV_PER_PROCESS_DATA *psPerProc); - -typedef struct _PVRSRV_BRIDGE_DISPATCH_TABLE_ENTRY -{ - BridgeWrapperFunction pfFunction; -#if defined(DEBUG_BRIDGE_KM) - const IMG_CHAR *pszIOCName; - const IMG_CHAR *pszFunctionName; - IMG_UINT32 ui32CallCount; - IMG_UINT32 ui32CopyFromUserTotalBytes; - IMG_UINT32 ui32CopyToUserTotalBytes; -#endif -}PVRSRV_BRIDGE_DISPATCH_TABLE_ENTRY; - -#if defined(SUPPORT_VGX) || defined(SUPPORT_MSVDX) - #if defined(SUPPORT_VGX) - #define BRIDGE_DISPATCH_TABLE_ENTRY_COUNT (PVRSRV_BRIDGE_LAST_VGX_CMD+1) - #define PVRSRV_BRIDGE_LAST_DEVICE_CMD PVRSRV_BRIDGE_LAST_VGX_CMD - #else - #define BRIDGE_DISPATCH_TABLE_ENTRY_COUNT (PVRSRV_BRIDGE_LAST_MSVDX_CMD+1) - #define PVRSRV_BRIDGE_LAST_DEVICE_CMD PVRSRV_BRIDGE_LAST_MSVDX_CMD - #endif -#else - #if defined(SUPPORT_SGX) - #define BRIDGE_DISPATCH_TABLE_ENTRY_COUNT (PVRSRV_BRIDGE_LAST_SGX_CMD+1) - #define PVRSRV_BRIDGE_LAST_DEVICE_CMD PVRSRV_BRIDGE_LAST_SGX_CMD - #else - #define BRIDGE_DISPATCH_TABLE_ENTRY_COUNT (PVRSRV_BRIDGE_LAST_NON_DEVICE_CMD+1) - #define PVRSRV_BRIDGE_LAST_DEVICE_CMD PVRSRV_BRIDGE_LAST_NON_DEVICE_CMD - #endif -#endif - -extern PVRSRV_BRIDGE_DISPATCH_TABLE_ENTRY g_BridgeDispatchTable[BRIDGE_DISPATCH_TABLE_ENTRY_COUNT]; - -IMG_VOID -_SetDispatchTableEntry(IMG_UINT32 ui32Index, - const IMG_CHAR *pszIOCName, - BridgeWrapperFunction pfFunction, - const IMG_CHAR *pszFunctionName); - - -#define SetDispatchTableEntry(ui32Index, pfFunction) \ - _SetDispatchTableEntry(PVRSRV_GET_BRIDGE_ID(ui32Index), #ui32Index, (BridgeWrapperFunction)pfFunction, #pfFunction) - -#define DISPATCH_TABLE_GAP_THRESHOLD 5 - -#if defined(DEBUG) -#define PVRSRV_BRIDGE_ASSERT_CMD(X, Y) PVR_ASSERT(X == PVRSRV_GET_BRIDGE_ID(Y)) -#else -#define PVRSRV_BRIDGE_ASSERT_CMD(X, Y) PVR_UNREFERENCED_PARAMETER(X) -#endif - - -#if defined(DEBUG_BRIDGE_KM) -typedef struct _PVRSRV_BRIDGE_GLOBAL_STATS -{ - IMG_UINT32 ui32IOCTLCount; - IMG_UINT32 ui32TotalCopyFromUserBytes; - IMG_UINT32 ui32TotalCopyToUserBytes; -}PVRSRV_BRIDGE_GLOBAL_STATS; - -extern PVRSRV_BRIDGE_GLOBAL_STATS g_BridgeGlobalStats; -#endif - - -PVRSRV_ERROR CommonBridgeInit(IMG_VOID); - -IMG_INT BridgedDispatchKM(PVRSRV_PER_PROCESS_DATA * psPerProc, - PVRSRV_BRIDGE_PACKAGE * psBridgePackageKM); - -#if defined (__cplusplus) -} -#endif - -#endif - |