Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / media / video / vino.h
index d2fce47..de2d615 100644 (file)
@@ -1,13 +1,19 @@
 /*
+ * Driver for the VINO (Video In No Out) system found in SGI Indys.
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License version 2 as published by the Free Software Foundation.
+ *
  * Copyright (C) 1999 Ulf Karlsson <ulfc@bun.falkenberg.se>
  * Copyright (C) 2003 Ladislav Michl <ladis@linux-mips.org>
  */
 
-#ifndef VINO_H
-#define VINO_H
+#ifndef _VINO_H_
+#define _VINO_H_
 
 #define VINO_BASE      0x00080000      /* Vino is in the EISA address space,
                                         * but it is not an EISA bus card */
+#define VINO_PAGE_SIZE 4096
 
 struct sgi_vino_channel {
        u32 _pad_alpha;
@@ -21,8 +27,9 @@ struct sgi_vino_channel {
        u32 _pad_clip_end;
        volatile u32 clip_end;
 
+#define VINO_FRAMERT_FULL      0xfff
 #define VINO_FRAMERT_PAL       (1<<0)                  /* 0=NTSC 1=PAL */
-#define VINO_FRAMERT_RT(x)     (((x) & 0x1fff) << 1)   /* bits 1:12 */
+#define VINO_FRAMERT_RT(x)     (((x) & 0xfff) << 1)    /* bits 1:12 */
        u32 _pad_frame_rate;
        volatile u32 frame_rate;
 
@@ -67,18 +74,18 @@ struct sgi_vino {
        volatile u32 rev_id;
 
 #define VINO_CTRL_LITTLE_ENDIAN                (1<<0)
-#define VINO_CTRL_A_FIELD_TRANS_INT    (1<<1)  /* Field transferred int */
-#define VINO_CTRL_A_FIFO_OF_INT                (1<<2)  /* FIFO overflow int */
-#define VINO_CTRL_A_END_DESC_TBL_INT   (1<<3)  /* End of desc table int */
-#define VINO_CTRL_A_INT                        (VINO_CTRL_A_FIELD_TRANS_INT | \
-                                        VINO_CTRL_A_FIFO_OF_INT | \
-                                        VINO_CTRL_A_END_DESC_TBL_INT)
-#define VINO_CTRL_B_FIELD_TRANS_INT    (1<<4)  /* Field transferred int */
-#define VINO_CTRL_B_FIFO_OF_INT                (1<<5)  /* FIFO overflow int */
-#define VINO_CTRL_B_END_DESC_TBL_INT   (1<<6)  /* End of desc table int */
-#define VINO_CTRL_B_INT                        (VINO_CTRL_B_FIELD_TRANS_INT | \
-                                        VINO_CTRL_B_FIFO_OF_INT | \
-                                        VINO_CTRL_B_END_DESC_TBL_INT)
+#define VINO_CTRL_A_EOF_INT            (1<<1)  /* Field transferred int */
+#define VINO_CTRL_A_FIFO_INT           (1<<2)  /* FIFO overflow int */
+#define VINO_CTRL_A_EOD_INT            (1<<3)  /* End of desc table int */
+#define VINO_CTRL_A_INT                        (VINO_CTRL_A_EOF_INT | \
+                                        VINO_CTRL_A_FIFO_INT | \
+                                        VINO_CTRL_A_EOD_INT)
+#define VINO_CTRL_B_EOF_INT            (1<<4)  /* Field transferred int */
+#define VINO_CTRL_B_FIFO_INT           (1<<5)  /* FIFO overflow int */
+#define VINO_CTRL_B_EOD_INT            (1<<6)  /* End of desc table int */
+#define VINO_CTRL_B_INT                        (VINO_CTRL_B_EOF_INT | \
+                                        VINO_CTRL_B_FIFO_INT | \
+                                        VINO_CTRL_B_EOD_INT)
 #define VINO_CTRL_A_DMA_ENBL           (1<<7)
 #define VINO_CTRL_A_INTERLEAVE_ENBL    (1<<8)
 #define VINO_CTRL_A_SYNC_ENBL          (1<<9)
@@ -104,18 +111,18 @@ struct sgi_vino {
        u32 _pad_control;
        volatile u32 control;
 
-#define VINO_INTSTAT_A_FIELD_TRANS     (1<<0)  /* Field transferred int */
-#define VINO_INTSTAT_A_FIFO_OF         (1<<1)  /* FIFO overflow int */
-#define VINO_INTSTAT_A_END_DESC_TBL    (1<<2)  /* End of desc table int */
-#define VINO_INTSTAT_A                 (VINO_INTSTAT_A_FIELD_TRANS | \
-                                        VINO_INTSTAT_A_FIFO_OF | \
-                                        VINO_INTSTAT_A_END_DESC_TBL)
-#define VINO_INTSTAT_B_FIELD_TRANS     (1<<3)  /* Field transferred int */
-#define VINO_INTSTAT_B_FIFO_OF         (1<<4)  /* FIFO overflow int */
-#define VINO_INTSTAT_B_END_DESC_TBL    (1<<5)  /* End of desc table int */
-#define VINO_INTSTAT_B                 (VINO_INTSTAT_B_FIELD_TRANS | \
-                                        VINO_INTSTAT_B_FIFO_OF | \
-                                        VINO_INTSTAT_B_END_DESC_TBL)
+#define VINO_INTSTAT_A_EOF             (1<<0)  /* Field transferred int */
+#define VINO_INTSTAT_A_FIFO            (1<<1)  /* FIFO overflow int */
+#define VINO_INTSTAT_A_EOD             (1<<2)  /* End of desc table int */
+#define VINO_INTSTAT_A                 (VINO_INTSTAT_A_EOF | \
+                                        VINO_INTSTAT_A_FIFO | \
+                                        VINO_INTSTAT_A_EOD)
+#define VINO_INTSTAT_B_EOF             (1<<3)  /* Field transferred int */
+#define VINO_INTSTAT_B_FIFO            (1<<4)  /* FIFO overflow int */
+#define VINO_INTSTAT_B_EOD             (1<<5)  /* End of desc table int */
+#define VINO_INTSTAT_B                 (VINO_INTSTAT_B_EOF | \
+                                        VINO_INTSTAT_B_FIFO | \
+                                        VINO_INTSTAT_B_EOD)
        u32 _pad_intr_status;
        volatile u32 intr_status;