gpu: pvr: move pdump ioctls to its own range at 192
authorLuc Verhaegen <libv@codethink.co.uk>
Tue, 5 Apr 2011 12:41:26 +0000 (14:41 +0200)
committerGrazvydas Ignotas <notasas@gmail.com>
Sun, 20 May 2012 18:43:05 +0000 (21:43 +0300)
This removes the shifting of ioctls when enabling pdump builds.

Fixes: NB#247418 - PVR kernel driver IOCTL IDs depend on build configuration

Signed-off-by: Luc Verhaegen <libv@codethink.co.uk>
Signed-off-by: Imre Deak <imre.deak@nokia.com>
pvr/bridged_pvr_bridge.c
pvr/pvr_bridge.h
pvr/sgx_bridge.h

index 980781e..49f39c0 100644 (file)
@@ -2738,61 +2738,6 @@ static int bridged_ioctl(struct file *filp, u32 cmd, void *in, void *out,
                err = DummyBW(cmd, in, out, per_proc);
                break;
 
-#if defined(PDUMP)
-       case PVRSRV_BRIDGE_PDUMP_INIT:
-               err = DummyBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_MEMPOL:
-               err = PDumpMemPolBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_DUMPMEM:
-               err = PDumpMemBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_REG:
-               err = PDumpRegWithFlagsBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_REGPOL:
-               err = PDumpRegPolBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_COMMENT:
-               err = PDumpCommentBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_SETFRAME:
-               err = PDumpSetFrameBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_ISCAPTURING:
-               err = PDumpIsCaptureFrameBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_DUMPBITMAP:
-               err = PDumpBitmapBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_DUMPREADREG:
-               err = DummyBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_SYNCPOL:
-               err = PDumpSyncPolBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_DUMPSYNC:
-               err = PDumpSyncDumpBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_DRIVERINFO:
-               err = DummyBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_PDREG:
-               err = PDumpPDRegBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_DUMPPDDEVPADDR:
-               err = PDumpPDDevPAddrBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_CYCLE_COUNT_REG_READ:
-               err = PDumpCycleCountRegReadBW(cmd, in, out, per_proc);
-               break;
-       case PVRSRV_BRIDGE_PDUMP_STARTINITPHASE:
-       case PVRSRV_BRIDGE_PDUMP_STOPINITPHASE:
-               err = DummyBW(cmd, in, out, per_proc);
-               break;
-#endif
-
        case PVRSRV_BRIDGE_GET_OEMJTABLE:
                err = DummyBW(cmd, in, out, per_proc);
                break;
@@ -2987,6 +2932,61 @@ static int bridged_ioctl(struct file *filp, u32 cmd, void *in, void *out,
                break;
 
 #if defined(PDUMP)
+       /* PDUMP IOCTLs live in a separate range */
+       case PVRSRV_BRIDGE_PDUMP_INIT:
+               err = DummyBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_MEMPOL:
+               err = PDumpMemPolBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_DUMPMEM:
+               err = PDumpMemBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_REG:
+               err = PDumpRegWithFlagsBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_REGPOL:
+               err = PDumpRegPolBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_COMMENT:
+               err = PDumpCommentBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_SETFRAME:
+               err = PDumpSetFrameBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_ISCAPTURING:
+               err = PDumpIsCaptureFrameBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_DUMPBITMAP:
+               err = PDumpBitmapBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_DUMPREADREG:
+               err = DummyBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_SYNCPOL:
+               err = PDumpSyncPolBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_DUMPSYNC:
+               err = PDumpSyncDumpBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_DRIVERINFO:
+               err = DummyBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_PDREG:
+               err = PDumpPDRegBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_DUMPPDDEVPADDR:
+               err = PDumpPDDevPAddrBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_CYCLE_COUNT_REG_READ:
+               err = PDumpCycleCountRegReadBW(cmd, in, out, per_proc);
+               break;
+       case PVRSRV_BRIDGE_PDUMP_STARTINITPHASE:
+       case PVRSRV_BRIDGE_PDUMP_STOPINITPHASE:
+               err = DummyBW(cmd, in, out, per_proc);
+               break;
+
+       /* bridged_sgx_bridge */
        case PVRSRV_BRIDGE_SGX_PDUMP_BUFFER_ARRAY:
                err = SGXPDumpBufferArrayBW(cmd, in, out, per_proc);
                break;
index d41e73d..22dd20f 100644 (file)
 #define PVRSRV_BRIDGE_OVERLAY_CMD_LAST                         \
                (PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)
 
-#if defined(PDUMP)
-#define PVRSRV_BRIDGE_PDUMP_CMD_FIRST                          \
-               (PVRSRV_BRIDGE_OVERLAY_CMD_FIRST+1)
-#define PVRSRV_BRIDGE_PDUMP_INIT                               \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+0)
-#define PVRSRV_BRIDGE_PDUMP_MEMPOL                             \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+1)
-#define PVRSRV_BRIDGE_PDUMP_DUMPMEM                            \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+2)
-#define PVRSRV_BRIDGE_PDUMP_REG                                        \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+3)
-#define PVRSRV_BRIDGE_PDUMP_REGPOL                             \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+4)
-#define PVRSRV_BRIDGE_PDUMP_COMMENT                            \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+5)
-#define PVRSRV_BRIDGE_PDUMP_SETFRAME                           \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+6)
-#define PVRSRV_BRIDGE_PDUMP_ISCAPTURING                                \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+7)
-#define PVRSRV_BRIDGE_PDUMP_DUMPBITMAP                         \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+8)
-#define PVRSRV_BRIDGE_PDUMP_DUMPREADREG                                \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+9)
-#define PVRSRV_BRIDGE_PDUMP_SYNCPOL                            \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+10)
-#define PVRSRV_BRIDGE_PDUMP_DUMPSYNC                           \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+11)
-#define PVRSRV_BRIDGE_PDUMP_MEMPAGES                           \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+12)
-#define PVRSRV_BRIDGE_PDUMP_DRIVERINFO                         \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+13)
-#define PVRSRV_BRIDGE_PDUMP_PDREG                              \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+14)
-#define PVRSRV_BRIDGE_PDUMP_DUMPPDDEVPADDR                     \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+15)
-#define PVRSRV_BRIDGE_PDUMP_CYCLE_COUNT_REG_READ               \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+16)
-#define PVRSRV_BRIDGE_PDUMP_STARTINITPHASE                     \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+17)
-#define PVRSRV_BRIDGE_PDUMP_STOPINITPHASE                      \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
-#define PVRSRV_BRIDGE_PDUMP_CMD_LAST                           \
-               (PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
-#else
-#define PVRSRV_BRIDGE_PDUMP_CMD_LAST   PVRSRV_BRIDGE_OVERLAY_CMD_LAST
-#endif
+/* PDUMP was here */
 
 #define PVRSRV_BRIDGE_OEM_CMD_FIRST                            \
-               (PVRSRV_BRIDGE_PDUMP_CMD_LAST+1)
+               (PVRSRV_BRIDGE_OVERLAY_CMD_LAST+1)
 #define PVRSRV_BRIDGE_GET_OEMJTABLE                            \
                PVRSRV_IOWR(PVRSRV_BRIDGE_OEM_CMD_FIRST+0)
 #define PVRSRV_BRIDGE_OEM_CMD_LAST                             \
 #define PVRSRV_BRIDGE_LAST_NON_DEVICE_CMD                      \
                (PVRSRV_BRIDGE_SYNC_OPS_CMD_LAST+1)
 
+
+#if defined(PDUMP)
+#define PVRSRV_BRIDGE_PDUMP_CMD_FIRST          192
+#define PVRSRV_BRIDGE_PDUMP_INIT                               \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+0)
+#define PVRSRV_BRIDGE_PDUMP_MEMPOL                             \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+1)
+#define PVRSRV_BRIDGE_PDUMP_DUMPMEM                            \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+2)
+#define PVRSRV_BRIDGE_PDUMP_REG                                        \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+3)
+#define PVRSRV_BRIDGE_PDUMP_REGPOL                             \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+4)
+#define PVRSRV_BRIDGE_PDUMP_COMMENT                            \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+5)
+#define PVRSRV_BRIDGE_PDUMP_SETFRAME                           \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+6)
+#define PVRSRV_BRIDGE_PDUMP_ISCAPTURING                                \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+7)
+#define PVRSRV_BRIDGE_PDUMP_DUMPBITMAP                         \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+8)
+#define PVRSRV_BRIDGE_PDUMP_DUMPREADREG                                \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+9)
+#define PVRSRV_BRIDGE_PDUMP_SYNCPOL                            \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+10)
+#define PVRSRV_BRIDGE_PDUMP_DUMPSYNC                           \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+11)
+#define PVRSRV_BRIDGE_PDUMP_MEMPAGES                           \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+12)
+#define PVRSRV_BRIDGE_PDUMP_DRIVERINFO                         \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+13)
+#define PVRSRV_BRIDGE_PDUMP_PDREG                              \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+14)
+#define PVRSRV_BRIDGE_PDUMP_DUMPPDDEVPADDR                     \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+15)
+#define PVRSRV_BRIDGE_PDUMP_CYCLE_COUNT_REG_READ               \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+16)
+#define PVRSRV_BRIDGE_PDUMP_STARTINITPHASE                     \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+17)
+#define PVRSRV_BRIDGE_PDUMP_STOPINITPHASE                      \
+               PVRSRV_IOWR(PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
+#define PVRSRV_BRIDGE_PDUMP_CMD_LAST                           \
+               (PVRSRV_BRIDGE_PDUMP_CMD_FIRST+18)
+#endif /* PDUMP */
+
+
 #define PVRSRV_KERNEL_MODE_CLIENT                              1
 
 struct PVRSRV_BRIDGE_RETURN {
index dab97c7..1bb3209 100644 (file)
 #define PVRSRV_BRIDGE_SGX_READ_HWPERF_CB                               \
                PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+30)
 
+#define PVRSRV_BRIDGE_LAST_SGX_CMD (PVRSRV_BRIDGE_SGX_CMD_BASE+30)
+
+
 #if defined(PDUMP)
+#define PVRSRV_BRIDGE_SGX_PDUMP_CMD_BASE                               \
+       (PVRSRV_BRIDGE_PDUMP_CMD_LAST+1)
+
 #define PVRSRV_BRIDGE_SGX_PDUMP_BUFFER_ARRAY                           \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+31)
+               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_PDUMP_CMD_BASE+0)
 #define PVRSRV_BRIDGE_SGX_PDUMP_3D_SIGNATURE_REGISTERS                 \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+32)
+               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_PDUMP_CMD_BASE+1)
 #define PVRSRV_BRIDGE_SGX_PDUMP_COUNTER_REGISTERS                      \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+33)
+               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_PDUMP_CMD_BASE+2)
 #define PVRSRV_BRIDGE_SGX_PDUMP_TA_SIGNATURE_REGISTERS                 \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+34)
+               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_PDUMP_CMD_BASE+3)
 #define PVRSRV_BRIDGE_SGX_PDUMP_HWPERFCB                               \
-               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_CMD_BASE+35)
+               PVRSRV_IOWR(PVRSRV_BRIDGE_SGX_PDUMP_CMD_BASE+4)
 #endif
 
-#define PVRSRV_BRIDGE_LAST_SGX_CMD (PVRSRV_BRIDGE_SGX_CMD_BASE+35)
+/* sanity check */
+#if defined(PDUMP)
+#if PVRSRV_BRIDGE_PDUMP_CMD_FIRST <= PVRSRV_BRIDGE_LAST_SGX_CMD
+# error Standard and PDUMP IOCTLs overlap!!!
+#endif
+#endif
 
 struct PVRSRV_BRIDGE_IN_GETPHYSPAGEADDR {
        u32 ui32BridgeFlags;