V4L/DVB (12732): cx25821: fix bad whitespacing
[safe/jmp/linux-2.6] / drivers / staging / cx25821 / cx25821-video-upstream-ch2.h
1 /*\r
2  *  Driver for the Conexant CX25821 PCIe bridge\r
3  *\r
4  *  Copyright (C) 2009 Conexant Systems Inc. \r
5  *  Authors  <hiep.huynh@conexant.com>, <shu.lin@conexant.com>\r
6  *\r
7  *  This program is free software; you can redistribute it and/or modify\r
8  *  it under the terms of the GNU General Public License as published by\r
9  *  the Free Software Foundation; either version 2 of the License, or\r
10  *  (at your option) any later version.\r
11  *\r
12  *  This program is distributed in the hope that it will be useful,\r
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15  *\r
16  *  GNU General Public License for more details.\r
17  *\r
18  *  You should have received a copy of the GNU General Public License\r
19  *  along with this program; if not, write to the Free Software\r
20  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
21  */\r
22 \r
23 #include <linux/mutex.h>\r
24 #include <linux/workqueue.h>\r
25 \r
26 \r
27 #define OPEN_FILE_1           0\r
28 #define NUM_PROGS             8\r
29 #define NUM_FRAMES            2\r
30 #define ODD_FIELD             0\r
31 #define EVEN_FIELD            1 \r
32 #define TOP_OFFSET            0\r
33 #define FIFO_DISABLE          0\r
34 #define FIFO_ENABLE           1\r
35 #define TEST_FRAMES           5\r
36 #define END_OF_FILE           0\r
37 #define IN_PROGRESS           1\r
38 #define RESET_STATUS          -1\r
39 #define NUM_NO_OPS            5\r
40 \r
41 \r
42 \r
43 // PAL and NTSC line sizes and number of lines.\r
44 #define WIDTH_D1              720\r
45 #define NTSC_LINES_PER_FRAME  480\r
46 #define PAL_LINES_PER_FRAME   576\r
47 #define PAL_LINE_SZ           1440\r
48 #define Y422_LINE_SZ          1440\r
49 #define Y411_LINE_SZ          1080\r
50 #define NTSC_FIELD_HEIGHT     240\r
51 #define NTSC_ODD_FLD_LINES    241\r
52 #define PAL_FIELD_HEIGHT      288\r
53 \r
54 #define FRAME_SIZE_NTSC_Y422    (NTSC_LINES_PER_FRAME * Y422_LINE_SZ)\r
55 #define FRAME_SIZE_NTSC_Y411    (NTSC_LINES_PER_FRAME * Y411_LINE_SZ)\r
56 #define FRAME_SIZE_PAL_Y422     (PAL_LINES_PER_FRAME * Y422_LINE_SZ)\r
57 #define FRAME_SIZE_PAL_Y411     (PAL_LINES_PER_FRAME * Y411_LINE_SZ)\r
58 \r
59 #define NTSC_DATA_BUF_SZ        (Y422_LINE_SZ * NTSC_LINES_PER_FRAME)\r
60 #define PAL_DATA_BUF_SZ         (Y422_LINE_SZ * PAL_LINES_PER_FRAME)\r
61 \r
62 #define RISC_WRITECR_INSTRUCTION_SIZE   16\r
63 #define RISC_SYNC_INSTRUCTION_SIZE      4\r
64 #define JUMP_INSTRUCTION_SIZE           12\r
65 #define MAXSIZE_NO_OPS                  36\r
66 #define DWORD_SIZE                      4\r
67 \r
68 \r
69 \r
70 #define USE_RISC_NOOP_VIDEO   1\r
71 \r
72 #ifdef USE_RISC_NOOP_VIDEO\r
73 #define PAL_US_VID_PROG_SIZE      ((PAL_FIELD_HEIGHT) * 3 * DWORD_SIZE + RISC_WRITECR_INSTRUCTION_SIZE +   \\r
74                                     RISC_SYNC_INSTRUCTION_SIZE + NUM_NO_OPS*DWORD_SIZE)\r
75                                     \r
76 #define PAL_RISC_BUF_SIZE         (2 * PAL_US_VID_PROG_SIZE)\r
77 \r
78 #define PAL_VID_PROG_SIZE         ((PAL_FIELD_HEIGHT*2) * 3 * DWORD_SIZE + 2*RISC_SYNC_INSTRUCTION_SIZE + \\r
79                                     RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE + 2*NUM_NO_OPS*DWORD_SIZE) \r
80 \r
81 #define ODD_FLD_PAL_PROG_SIZE     ((PAL_FIELD_HEIGHT) * 3 * DWORD_SIZE + RISC_SYNC_INSTRUCTION_SIZE + \\r
82                                     RISC_WRITECR_INSTRUCTION_SIZE + NUM_NO_OPS*DWORD_SIZE) \r
83 \r
84 #define NTSC_US_VID_PROG_SIZE     ((NTSC_ODD_FLD_LINES + 1) * 3 * DWORD_SIZE + RISC_WRITECR_INSTRUCTION_SIZE + \\r
85                                     JUMP_INSTRUCTION_SIZE + NUM_NO_OPS*DWORD_SIZE)   \r
86                                     \r
87 #define NTSC_RISC_BUF_SIZE        (2 * (RISC_SYNC_INSTRUCTION_SIZE + NTSC_US_VID_PROG_SIZE))         \r
88 \r
89 #define FRAME1_VID_PROG_SIZE      ((NTSC_ODD_FLD_LINES + NTSC_FIELD_HEIGHT) * 3 * DWORD_SIZE + 2*RISC_SYNC_INSTRUCTION_SIZE + \\r
90                                     RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE + 2*NUM_NO_OPS*DWORD_SIZE)   \r
91 #define ODD_FLD_NTSC_PROG_SIZE    ((NTSC_ODD_FLD_LINES) * 3 * DWORD_SIZE + RISC_SYNC_INSTRUCTION_SIZE + \\r
92                                     RISC_WRITECR_INSTRUCTION_SIZE + NUM_NO_OPS*DWORD_SIZE)    \r
93 #endif\r
94 \r
95 \r
96 #ifndef USE_RISC_NOOP_VIDEO\r
97 #define PAL_US_VID_PROG_SIZE      ((PAL_FIELD_HEIGHT + 1) * 3 * DWORD_SIZE + RISC_WRITECR_INSTRUCTION_SIZE )\r
98 #define PAL_RISC_BUF_SIZE         ( 2 * (RISC_SYNC_INSTRUCTION_SIZE + PAL_US_VID_PROG_SIZE) )\r
99 #define PAL_VID_PROG_SIZE         ((PAL_FIELD_HEIGHT*2) * 3 * DWORD_SIZE + 2*RISC_SYNC_INSTRUCTION_SIZE + \\r
100                                     RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE ) \r
101 #define ODD_FLD_PAL_PROG_SIZE     ((PAL_FIELD_HEIGHT) * 3 * DWORD_SIZE + RISC_SYNC_INSTRUCTION_SIZE + RISC_WRITECR_INSTRUCTION_SIZE )\r
102 #define ODD_FLD_NTSC_PROG_SIZE    ((NTSC_ODD_FLD_LINES) * 3 * DWORD_SIZE + RISC_SYNC_INSTRUCTION_SIZE + RISC_WRITECR_INSTRUCTION_SIZE )\r
103 #define NTSC_US_VID_PROG_SIZE     ((NTSC_ODD_FLD_LINES + 1) * 3 * DWORD_SIZE + RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE)   \r
104 #define NTSC_RISC_BUF_SIZE        (2 * (RISC_SYNC_INSTRUCTION_SIZE + NTSC_US_VID_PROG_SIZE) )     \r
105 #define FRAME1_VID_PROG_SIZE      ((NTSC_ODD_FLD_LINES + NTSC_FIELD_HEIGHT) * 3 * DWORD_SIZE + 2*RISC_SYNC_INSTRUCTION_SIZE + \\r
106                                     RISC_WRITECR_INSTRUCTION_SIZE + JUMP_INSTRUCTION_SIZE )\r
107 #endif\r