vserver 2.0 rc7
[linux-2.6.git] / drivers / media / dvb / ttpci / av7110.h
index a1eded6..4f69b4d 100644 (file)
@@ -31,6 +31,7 @@
 #include "tda8083.h"
 #include "sp8870.h"
 #include "stv0297.h"
+#include "l64781.h"
 
 #include <media/saa7146_vv.h>
 
@@ -49,38 +50,38 @@ extern int av7110_debug;
 enum {AV_PES_STREAM, PS_STREAM, TS_STREAM, PES_STREAM};
 
 struct av7110_p2t {
-        u8                pes[TS_SIZE];
-        u8                counter;
-        long int          pos;
-        int               frags;
-        struct dvb_demux_feed *feed;
+       u8                pes[TS_SIZE];
+       u8                counter;
+       long int          pos;
+       int               frags;
+       struct dvb_demux_feed *feed;
 };
 
 /* video MPEG decoder events: */
 /* (code copied from dvb_frontend.c, should maybe be factored out...) */
 #define MAX_VIDEO_EVENT 8
 struct dvb_video_events {
-       struct video_event        events[MAX_VIDEO_EVENT];
-       int                       eventw;
-       int                       eventr;
-       int                       overflow;
-       wait_queue_head_t         wait_queue;
-       spinlock_t                lock;
+       struct video_event        events[MAX_VIDEO_EVENT];
+       int                       eventw;
+       int                       eventr;
+       int                       overflow;
+       wait_queue_head_t         wait_queue;
+       spinlock_t                lock;
 };
 
 
 /* place to store all the necessary device information */
 struct av7110 {
 
-        /* devices */
+       /* devices */
 
-        struct dvb_device       dvb_dev;
-        struct dvb_net               dvb_net;
+       struct dvb_device       dvb_dev;
+       struct dvb_net          dvb_net;
 
        struct video_device     *v4l_dev;
        struct video_device     *vbi_dev;
 
-        struct saa7146_dev     *dev;
+       struct saa7146_dev      *dev;
 
        struct i2c_adapter      i2c_adap;
 
@@ -90,31 +91,31 @@ struct av7110 {
        int                     analog_tuner_flags;
        int                     current_input;
        u32                     current_freq;
-                               
-       struct tasklet_struct   debi_tasklet;
-       struct tasklet_struct   gpio_tasklet;
 
-        int adac_type;         /* audio DAC type */
-#define DVB_ADAC_TI       0
+       struct tasklet_struct   debi_tasklet;
+       struct tasklet_struct   gpio_tasklet;
+
+       int adac_type;         /* audio DAC type */
+#define DVB_ADAC_TI      0
 #define DVB_ADAC_CRYSTAL  1
-#define DVB_ADAC_MSP      2
-#define DVB_ADAC_NONE    -1
+#define DVB_ADAC_MSP     2
+#define DVB_ADAC_NONE   -1
 
 
-        /* buffers */
+       /* buffers */
 
-        void                   *iobuf;   /* memory for all buffers */
-        struct dvb_ringbuffer        avout;   /* buffer for video or A/V mux */
+       void                   *iobuf;   /* memory for all buffers */
+       struct dvb_ringbuffer   avout;   /* buffer for video or A/V mux */
 #define AVOUTLEN (128*1024)
-        struct dvb_ringbuffer        aout;    /* buffer for audio */
+       struct dvb_ringbuffer   aout;    /* buffer for audio */
 #define AOUTLEN (64*1024)
-        void                   *bmpbuf;
+       void                   *bmpbuf;
 #define BMPLEN (8*32768+1024)
 
-        /* bitmap buffers and states */
+       /* bitmap buffers and states */
 
-        int                     bmpp;
-        int                     bmplen;
+       int                     bmpp;
+       int                     bmplen;
        volatile int            bmp_state;
 #define BMP_NONE     0
 #define BMP_LOADING  1
@@ -123,40 +124,40 @@ struct av7110 {
        wait_queue_head_t       bmpq;
 
 
-        /* DEBI and polled command interface */
+       /* DEBI and polled command interface */
 
-        spinlock_t              debilock;
-        struct semaphore        dcomlock;
+       spinlock_t              debilock;
+       struct semaphore        dcomlock;
        volatile int            debitype;
        volatile int            debilen;
 
 
-        /* Recording and playback flags */
+       /* Recording and playback flags */
 
-        int                     rec_mode;
-        int                     playing;
+       int                     rec_mode;
+       int                     playing;
 #define RP_NONE  0
 #define RP_VIDEO 1
 #define RP_AUDIO 2
-#define RP_AV    3
+#define RP_AV   3
 
 
-        /* OSD */
+       /* OSD */
 
-        int                     osdwin;      /* currently active window */
-        u16                     osdbpp[8];
+       int                     osdwin;      /* currently active window */
+       u16                     osdbpp[8];
        struct semaphore        osd_sema;
 
-        /* CA */
+       /* CA */
 
-        ca_slot_info_t          ci_slot[2];
+       ca_slot_info_t          ci_slot[2];
 
-        int                     vidmode;
-        struct dmxdev          dmxdev;
-        struct dvb_demux             demux;
+       int                     vidmode;
+       struct dmxdev           dmxdev;
+       struct dvb_demux        demux;
 
-        struct dmx_frontend    hw_frontend;
-        struct dmx_frontend    mem_frontend;
+       struct dmx_frontend     hw_frontend;
+       struct dmx_frontend     mem_frontend;
 
        /* for budget mode demux1 */
        struct dmxdev           dmxdev1;
@@ -170,69 +171,67 @@ struct av7110 {
        struct saa7146_pgtable  pt;
        struct tasklet_struct   vpe_tasklet;
 
-        int                     fe_synced; 
-        struct semaphore        pid_mutex;
+       int                     fe_synced;
+       struct semaphore        pid_mutex;
 
-        int                     video_blank;
-        struct video_status     videostate;
-        int                     display_ar;
-        int                     trickmode;
+       int                     video_blank;
+       struct video_status     videostate;
+       int                     display_ar;
+       int                     trickmode;
 #define TRICK_NONE   0
 #define TRICK_FAST   1
 #define TRICK_SLOW   2
 #define TRICK_FREEZE 3
-        struct audio_status      audiostate;
+       struct audio_status     audiostate;
 
-        struct dvb_demux_filter     *handle2filter[32];
-        struct av7110_p2t              p2t_filter[MAXFILT];
-        struct dvb_filter_pes2ts       p2t[2];
-        struct ipack                   ipack[2];
-        u8                     *kbuf[2];
+       struct dvb_demux_filter *handle2filter[32];
+       struct av7110_p2t        p2t_filter[MAXFILT];
+       struct dvb_filter_pes2ts p2t[2];
+       struct ipack             ipack[2];
+       u8                      *kbuf[2];
 
-        int sinfo;
-        int feeding;
+       int sinfo;
+       int feeding;
 
-        int arm_errors;
-        int registered;
+       int arm_errors;
+       int registered;
 
 
        /* AV711X */
 
-        u32                 arm_fw;
-        u32                 arm_rtsl;
-        u32                 arm_vid;
-        u32                 arm_app;
-        u32                 avtype;
-        int                 arm_ready;
-        struct task_struct *arm_thread;
+       u32                 arm_fw;
+       u32                 arm_rtsl;
+       u32                 arm_vid;
+       u32                 arm_app;
+       u32                 avtype;
+       int                 arm_ready;
+       struct task_struct *arm_thread;
        wait_queue_head_t   arm_wait;
-        u16                 arm_loops;
-        int                 arm_rmmod;
+       u16                 arm_loops;
+       int                 arm_rmmod;
+
+       void               *debi_virt;
+       dma_addr_t          debi_bus;
 
-        void               *debi_virt;
-        dma_addr_t          debi_bus;
+       u16                 pids[DMX_PES_OTHER];
 
-        u16                 pids[DMX_PES_OTHER];
-        
-        struct dvb_ringbuffer    ci_rbuffer;
-        struct dvb_ringbuffer    ci_wbuffer;
+       struct dvb_ringbuffer    ci_rbuffer;
+       struct dvb_ringbuffer    ci_wbuffer;
 
        struct audio_mixer      mixer;
 
-        struct dvb_adapter       *dvb_adapter;
-        struct dvb_device        *video_dev;
-        struct dvb_device        *audio_dev;
-        struct dvb_device        *ca_dev;
-        struct dvb_device        *osd_dev;
+       struct dvb_adapter       dvb_adapter;
+       struct dvb_device        *video_dev;
+       struct dvb_device        *audio_dev;
+       struct dvb_device        *ca_dev;
+       struct dvb_device        *osd_dev;
 
        struct dvb_video_events  video_events;
-       video_size_t             video_size;
+       video_size_t             video_size;
 
-        u32                 ir_config;
-       
-       /* firmware stuff */
-       unsigned int device_initialized;
+       u32                 ir_config;
 
+       /* firmware stuff */
        unsigned char *bin_fw;
        unsigned long size_fw;
 
@@ -260,7 +259,7 @@ extern void ChangePIDs(struct av7110 *av7110, u16 vpid, u16 apid, u16 ttpid,
                       u16 subpid, u16 pcrpid);
 
 extern void av7110_register_irc_handler(void (*func)(u32));
-extern void av7110_unregister_irc_handler(void (*func)(u32)); 
+extern void av7110_unregister_irc_handler(void (*func)(u32));
 extern void av7110_setup_irc_config (struct av7110 *av7110, u32 ir_config);
 
 extern int av7110_ir_init (void);
@@ -275,7 +274,6 @@ extern void av7110_ir_exit (void);
 extern int i2c_writereg(struct av7110 *av7110, u8 id, u8 reg, u8 val);
 extern u8 i2c_readreg(struct av7110 *av7110, u8 id, u8 reg);
 extern int msp_writereg(struct av7110 *av7110, u8 dev, u16 reg, u16 val);
-extern int msp_readreg(struct av7110 *av7110, u8 dev, u16 reg, u16 *val);
 
 
 extern int av7110_init_analog_module(struct av7110 *av7110);
@@ -283,4 +281,3 @@ extern int av7110_init_v4l(struct av7110 *av7110);
 extern int av7110_exit_v4l(struct av7110 *av7110);
 
 #endif /* _AV7110_H_ */
-