try to make ABI compatible with TI 1.4.14.2616/4_00_00_01 release
authorGrazvydas Ignotas <notasas@gmail.com>
Sat, 19 May 2012 23:36:56 +0000 (02:36 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Mon, 21 May 2012 00:19:32 +0000 (03:19 +0300)
pvr/bridged_pvr_bridge.c
pvr/bridged_sgx_bridge.c
pvr/pvr_bridge.h
pvr/sgx_bridge.h
pvr/sgxapi_km.h
pvr/sgxinit.c

index 49f39c0..b89f9a0 100644 (file)
@@ -681,6 +681,7 @@ static int PVRSRVUnmapDeviceMemoryBW(u32 ui32BridgeID,
        return 0;
 }
 
+#if 0
 static int FlushCacheDRI(u32 ui32Type, u32 ui32Virt, u32 ui32Length)
 {
        switch (ui32Type) {
@@ -740,6 +741,7 @@ static int PVRSRVCacheFlushDRIBW(u32 ui32BridgeID,
 
        return 0;
 }
+#endif
 
 static int PVRSRVMapDeviceClassMemoryBW(u32 ui32BridgeID,
           struct PVRSRV_BRIDGE_IN_MAP_DEVICECLASS_MEMORY *psMapDevClassMemIN,
@@ -2717,10 +2719,11 @@ static int bridged_ioctl(struct file *filp, u32 cmd, void *in, void *out,
        case PVRSRV_BRIDGE_RELEASE_MMAP_DATA:
                err = PVRMMapReleaseMMapDataBW(cmd, in, out, per_proc);
                break;
+#if 0
        case PVRSRV_BRIDGE_CACHE_FLUSH_DRM:
                err = PVRSRVCacheFlushDRIBW(cmd, in, out, per_proc);
                break;
-
+#endif
        case PVRSRV_BRIDGE_PROCESS_SIMISR_EVENT:
        case PVRSRV_BRIDGE_REGISTER_SIM_PROCESS:
        case PVRSRV_BRIDGE_UNREGISTER_SIM_PROCESS:
index 06db387..126fdb9 100644 (file)
@@ -1052,7 +1052,12 @@ int SGX2DQueryBlitsCompleteBW(struct file *filp, u32 ui32BridgeID,
                                       (long)ps2DQueryBltsCompleteIN->
                                                       hKernSyncInfo,
                                       ps2DQueryBltsCompleteIN->type,
-                                      ps2DQueryBltsCompleteIN->user_data))
+#if 0
+                                      ps2DQueryBltsCompleteIN->user_data
+#else
+                                      0
+#endif
+                                          ))
                        psRetOUT->eError = PVRSRV_ERROR_OUT_OF_MEMORY;
 
                return 0;
@@ -1072,7 +1077,12 @@ int SGX2DQueryBlitsCompleteBW(struct file *filp, u32 ui32BridgeID,
        if (ps2DQueryBltsCompleteIN->type == _PVR_SYNC_WAIT_EVENT) {
                if (pvr_sync_event_req(priv,
                                (struct PVRSRV_KERNEL_SYNC_INFO *)pvSyncInfo,
-                               ps2DQueryBltsCompleteIN->user_data))
+#if 0
+                               ps2DQueryBltsCompleteIN->user_data
+#else
+                               0
+#endif
+                               ))
                        psRetOUT->eError = PVRSRV_ERROR_OUT_OF_MEMORY;
                else
                        trace_query_cmd(psPerProc,
index 22dd20f..da1a2d4 100644 (file)
                PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+26)
 #define PVRSRV_BRIDGE_RELEASE_MMAP_DATA                                \
                PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+27)
+#if 0
 #define PVRSRV_BRIDGE_CACHE_FLUSH_DRM                          \
                PVRSRV_IOWR(PVRSRV_BRIDGE_CORE_CMD_FIRST+28)
 #define PVRSRV_BRIDGE_CORE_CMD_LAST                            \
                (PVRSRV_BRIDGE_CORE_CMD_FIRST+28)
-
+#else
+#define PVRSRV_BRIDGE_CORE_CMD_LAST                            \
+               (PVRSRV_BRIDGE_CORE_CMD_FIRST+27)
+#endif
 #define PVRSRV_BRIDGE_SIM_CMD_FIRST                            \
                (PVRSRV_BRIDGE_CORE_CMD_LAST+1)
 #define PVRSRV_BRIDGE_PROCESS_SIMISR_EVENT                     \
index 1bb3209..d06e3e1 100644 (file)
@@ -228,8 +228,8 @@ struct PVRSRV_BRIDGE_IN_SGXDEVINITPART2 {
 };
 
 enum pvr_sync_wait_seq_type {
+       _PVR_SYNC_WAIT_NONBLOCK = 0,
        _PVR_SYNC_WAIT_BLOCK,
-       _PVR_SYNC_WAIT_NONBLOCK,
        _PVR_SYNC_WAIT_EVENT,
        _PVR_SYNC_WAIT_FLIP,
        _PVR_SYNC_WAIT_UPDATE,
@@ -239,7 +239,9 @@ struct PVRSRV_BRIDGE_IN_2DQUERYBLTSCOMPLETE {
        u32 ui32BridgeFlags;
        void *hDevCookie;
        void *hKernSyncInfo;
+#if 0
        u64 user_data;
+#endif
        enum pvr_sync_wait_seq_type type;
 };
 
index 39ec960..7e6c82b 100644 (file)
 #define SGX_MAX_HEAP_ID                                        10
 
 #define SGX_MAX_TA_STATUS_VALS                         32
+#if 0
 #define SGX_MAX_3D_STATUS_VALS                         4
+#else
+#define SGX_MAX_3D_STATUS_VALS                         2
+#endif
 
 #define SGX_MAX_SRC_SYNCS                              4
 
index 7b932f5..28ded53 100644 (file)
@@ -1300,7 +1300,8 @@ enum PVRSRV_ERROR SGXDevInitCompatCheck(struct PVRSRV_DEVICE_NODE *psDeviceNode)
        if ((psSGXFeatures->ui32DDKVersion !=
             ((PVRVERSION_MAJ << 16) | (PVRVERSION_MIN << 8) |
              PVRVERSION_BRANCH)) ||
-            (psSGXFeatures->ui32DDKBuild != PVRVERSION_BUILD)) {
+            (psSGXFeatures->ui32DDKBuild != PVRVERSION_BUILD &&
+             psSGXFeatures->ui32DDKBuild != 2616)) {
                pr_err("pvr: incompatible driver DDK revision (%d)"
                        "/device DDK revision (%d).\n",
                         PVRVERSION_BUILD, psSGXFeatures->ui32DDKBuild);
@@ -1314,8 +1315,10 @@ enum PVRSRV_ERROR SGXDevInitCompatCheck(struct PVRSRV_DEVICE_NODE *psDeviceNode)
 
        opts = psSGXFeatures->ui32BuildOptions;
        opt_mismatch = opts ^ SGX_BUILD_OPTIONS;
+#if 0
        /* we support the ABIs both with and without EDM tracing option */
        opt_mismatch &= ~PVRSRV_USSE_EDM_STATUS_DEBUG_SET_OFFSET;
+#endif
        if (opt_mismatch) {
                if (SGX_BUILD_OPTIONS & opt_mismatch)
                        pr_err("pvr: mismatch in driver and microkernel build "