gfx: pvr: remove ABI dependency on firmware tracing feature
authorImre Deak <imre.deak@intel.com>
Wed, 9 Nov 2011 11:48:16 +0000 (13:48 +0200)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 3 Jul 2012 09:28:33 +0000 (12:28 +0300)
There is no reason to have the IOCTL/firmware ABI dependent on this
option. Revmoing the dependency will also enable us to toggle tracing
on/off dynamically in the future.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
drivers/staging/mrst/pvr/include4/sgx_options.h
drivers/staging/mrst/pvr/include4/sgxapi_km.h
drivers/staging/mrst/pvr/services4/include/sgx_mkif_km.h
drivers/staging/mrst/pvr/services4/include/sgxinfo.h
drivers/staging/mrst/pvr/services4/srvkm/bridged/sgx/bridged_sgx_bridge.c
drivers/staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinfokm.h
drivers/staging/mrst/pvr/services4/srvkm/devices/sgx/sgxinit.c

index 17ae14a..6de810a 100644 (file)
 #define OPTIONS_BIT1           0x0
 #endif
 
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG) || defined (INTERNAL_TEST)
-#define PVRSRV_USSE_EDM_STATUS_DEBUG_SET_OFFSET                OPTIONS_BIT2
-#define OPTIONS_BIT2           (0x1 << 2)
-#else
 #define OPTIONS_BIT2           0x0
-#endif
 
 #if defined(SUPPORT_HW_RECOVERY) || defined (INTERNAL_TEST)
 #define SUPPORT_HW_RECOVERY_SET_OFFSET OPTIONS_BIT3
index 518ef10..4fc6042 100644 (file)
@@ -200,10 +200,8 @@ typedef struct _PVRSRV_SGX_MISCINFO_FEATURES
 #if defined(SUPPORT_SGX_EDM_MEMORY_DEBUG)
        IMG_UINT32                      ui32DeviceMemValue;             
 #endif
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
        IMG_DEV_VIRTADDR        sDevVAEDMStatusBuffer;  
        IMG_PVOID                       pvEDMStatusBuffer;              
-#endif
 } PVRSRV_SGX_MISCINFO_FEATURES;
 
 
index 78b162a..93578c2 100644 (file)
@@ -311,9 +311,7 @@ typedef struct _PVRSRV_SGX_MISCINFO_INFO
 #endif
 } PVRSRV_SGX_MISCINFO_INFO;
 
-#ifdef PVRSRV_USSE_EDM_STATUS_DEBUG
 #define SGXMK_TRACE_BUFFER_SIZE 512
-#endif 
 
 #define SGXMKIF_HWPERF_CB_SIZE                                 0x100   
 
index 23cb4f3..266cdb2 100644 (file)
@@ -96,9 +96,7 @@ typedef struct _SGX_BRIDGE_INIT_INFO_
 #if defined(FIX_HW_BRN_29823)
        IMG_HANDLE      hKernelDummyTermStreamMemInfo;
 #endif
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
        IMG_HANDLE      hKernelEDMStatusBufferMemInfo;
-#endif
 #if defined(SGX_FEATURE_OVERLAPPED_SPM)
        IMG_HANDLE hKernelTmpRgnHeaderMemInfo;
 #endif
index 7c2e8ee..b1d67a5 100644 (file)
@@ -846,6 +846,7 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
        IMG_BOOL bDissociateFailed = IMG_FALSE;
        IMG_BOOL bLookupFailed = IMG_FALSE;
        IMG_BOOL bReleaseFailed = IMG_FALSE;
+       IMG_HANDLE edm_stat_minfo;
        IMG_HANDLE hDummy;
        IMG_UINT32 i;
 
@@ -987,16 +988,13 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
        }
 #endif
 
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
-       eError = PVRSRVLookupHandle(psPerProc->psHandleBase,
-                                                  &hDummy,
-                                                  psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo,
-                                                  PVRSRV_HANDLE_TYPE_MEM_INFO);
-       if (eError != PVRSRV_OK)
-       {
-               bLookupFailed = IMG_TRUE;
+       edm_stat_minfo = psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo;
+       if (edm_stat_minfo) {
+               eError = PVRSRVLookupHandle(psPerProc->psHandleBase, &hDummy, edm_stat_minfo,
+                                           PVRSRV_HANDLE_TYPE_MEM_INFO);
+               if (eError != PVRSRV_OK)
+                       bLookupFailed = IMG_TRUE;
        }
-#endif
 
 #if defined(SGX_FEATURE_SPM_MODE_0)
        eError = PVRSRVLookupHandle(psPerProc->psHandleBase,
@@ -1154,16 +1152,15 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
        }
 #endif
 
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
-       eError = PVRSRVLookupAndReleaseHandle(psPerProc->psHandleBase,
+       if (edm_stat_minfo) {
+               eError = PVRSRVLookupAndReleaseHandle(psPerProc->psHandleBase,
                                                   &psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo,
-                                                  psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo,
-                                                  PVRSRV_HANDLE_TYPE_MEM_INFO);
-       if (eError != PVRSRV_OK)
-       {
-               bReleaseFailed = IMG_TRUE;
+                                                  edm_stat_minfo, PVRSRV_HANDLE_TYPE_MEM_INFO);
+               if (eError != PVRSRV_OK)
+                       bReleaseFailed = IMG_TRUE;
+       } else {
+               psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo = NULL;
        }
-#endif
 
 #if defined(SGX_FEATURE_SPM_MODE_0)
        eError = PVRSRVLookupAndReleaseHandle(psPerProc->psHandleBase,
@@ -1277,10 +1274,11 @@ SGXDevInitPart2BW(IMG_UINT32 ui32BridgeID,
        bDissociateFailed |= (IMG_BOOL)(eError != PVRSRV_OK);
 #endif
 
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
-       eError = PVRSRVDissociateDeviceMemKM(hDevCookieInt, psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo);
-       bDissociateFailed |= (IMG_BOOL)(eError != PVRSRV_OK);
-#endif
+       if (psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo) {
+               eError = PVRSRVDissociateDeviceMemKM(hDevCookieInt,
+                                            psSGXDevInitPart2IN->sInitInfo.hKernelEDMStatusBufferMemInfo);
+               bDissociateFailed |= (IMG_BOOL)(eError != PVRSRV_OK);
+       }
 
 #if defined(SGX_FEATURE_SPM_MODE_0)
        eError = PVRSRVDissociateDeviceMemKM(hDevCookieInt, psSGXDevInitPart2IN->sInitInfo.hKernelTmpDPMStateMemInfo);
index ac368b8..8a0fd78 100644 (file)
@@ -126,9 +126,7 @@ typedef struct _PVRSRV_SGXDEV_INFO_
 #if defined(FIX_HW_BRN_29823)
        PPVRSRV_KERNEL_MEM_INFO psKernelDummyTermStreamMemInfo; 
 #endif
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
        PPVRSRV_KERNEL_MEM_INFO psKernelEDMStatusBufferMemInfo; 
-#endif
 #if defined(SGX_FEATURE_OVERLAPPED_SPM)
        PPVRSRV_KERNEL_MEM_INFO psKernelTmpRgnHeaderMemInfo; 
 #endif
index ae5080f..c031f9a 100644 (file)
@@ -172,9 +172,7 @@ static PVRSRV_ERROR InitDevInfo(PVRSRV_PER_PROCESS_DATA *psPerProc,
 #if defined(FIX_HW_BRN_29823)
        psDevInfo->psKernelDummyTermStreamMemInfo = (PVRSRV_KERNEL_MEM_INFO *)psInitInfo->hKernelDummyTermStreamMemInfo;
 #endif
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
        psDevInfo->psKernelEDMStatusBufferMemInfo = (PVRSRV_KERNEL_MEM_INFO *)psInitInfo->hKernelEDMStatusBufferMemInfo;
-#endif
 #if defined(SGX_FEATURE_OVERLAPPED_SPM)
        psDevInfo->psKernelTmpRgnHeaderMemInfo = (PVRSRV_KERNEL_MEM_INFO *)psInitInfo->hKernelTmpRgnHeaderMemInfo;
 #endif
@@ -1009,7 +1007,7 @@ static IMG_VOID SGXDumpDebugInfo (PVRSRV_SGXDEV_INFO      *psDevInfo,
                }
        }
 
-       #if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
+       if (psDevInfo->psKernelEDMStatusBufferMemInfo)
        {
                IMG_UINT32      *pui32MKTraceBuffer = psDevInfo->psKernelEDMStatusBufferMemInfo->pvLinAddrKM;
                IMG_UINT32      ui32LastStatusCode, ui32WriteOffset;
@@ -1040,7 +1038,6 @@ static IMG_VOID SGXDumpDebugInfo (PVRSRV_SGXDEV_INFO      *psDevInfo,
                }
                #endif 
        }
-       #endif 
 
        {
                
@@ -2567,14 +2564,18 @@ PVRSRV_ERROR SGXGetMiscInfoKM(PVRSRV_SGXDEV_INFO        *psDevInfo,
                case SGX_MISC_INFO_REQUEST_DRIVER_SGXREV:
                {
                        PVRSRV_SGX_MISCINFO_FEATURES            *psSGXFeatures;
+                       PVRSRV_KERNEL_MEM_INFO          *edm_status_minfo;
 
                        psSGXFeatures = &((PVRSRV_SGX_MISCINFO_INFO*)(psMemInfo->pvLinAddrKM))->sSGXFeatures;
 
-#if defined(PVRSRV_USSE_EDM_STATUS_DEBUG)
-                       
-                       psSGXFeatures->sDevVAEDMStatusBuffer = psDevInfo->psKernelEDMStatusBufferMemInfo->sDevVAddr;
-                       psSGXFeatures->pvEDMStatusBuffer = psDevInfo->psKernelEDMStatusBufferMemInfo->pvLinAddrKM;
-#endif
+                       edm_status_minfo = psDevInfo->psKernelEDMStatusBufferMemInfo;
+                       if (edm_status_minfo) {
+                               psSGXFeatures->sDevVAEDMStatusBuffer = edm_status_minfo->sDevVAddr;
+                               psSGXFeatures->pvEDMStatusBuffer = edm_status_minfo->pvLinAddrKM;
+                       } else {
+                               psSGXFeatures->sDevVAEDMStatusBuffer.uiAddr = 0;
+                               psSGXFeatures->pvEDMStatusBuffer = NULL;
+                       }
 
                        psMiscInfo->uData.sSGXFeatures = *psSGXFeatures;
                        return PVRSRV_OK;