Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a158f3559334c6314c7876390caffe88c9fdb64d
Commit:     a158f3559334c6314c7876390caffe88c9fdb64d
Parent:     fd8b281a2809d2bd9119df1fbd717ab2371297cd
Author:     Hans Verkuil <[EMAIL PROTECTED]>
AuthorDate: Thu Aug 23 11:31:57 2007 -0300
Committer:  Mauro Carvalho Chehab <[EMAIL PROTECTED]>
CommitDate: Tue Oct 9 22:06:48 2007 -0300

    V4L/DVB (6094): ivtv: more ivtv-driver.h cleanups
    
    Signed-off-by: Hans Verkuil <[EMAIL PROTECTED]>
    Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
 drivers/media/video/ivtv/ivtv-driver.h |   66 +++++++++++++++----------------
 drivers/media/video/ivtv/ivtv-fb.c     |    2 +-
 drivers/media/video/ivtv/ivtv-irq.c    |   10 ++--
 3 files changed, 38 insertions(+), 40 deletions(-)

diff --git a/drivers/media/video/ivtv/ivtv-driver.h 
b/drivers/media/video/ivtv/ivtv-driver.h
index 2c27515..332d164 100644
--- a/drivers/media/video/ivtv/ivtv-driver.h
+++ b/drivers/media/video/ivtv/ivtv-driver.h
@@ -180,11 +180,11 @@ extern int ivtv_debug;
 #define IVTV_MAX_PGM_INDEX (400)
 
 struct ivtv_options {
-       int kilobytes[IVTV_MAX_STREAMS]; /* Size in kilobytes of each stream */
-       int cardtype;           /* force card type on load */
-       int tuner;              /* set tuner on load */
-       int radio;              /* enable/disable radio */
-       int newi2c;             /* New I2C algorithm */
+       int kilobytes[IVTV_MAX_STREAMS];        /* size in kilobytes of each 
stream */
+       int cardtype;                           /* force card type on load */
+       int tuner;                              /* set tuner on load */
+       int radio;                              /* enable/disable radio */
+       int newi2c;                             /* new I2C algorithm */
 };
 
 /* ivtv-specific mailbox template */
@@ -231,10 +231,10 @@ struct ivtv_mailbox_data {
 #define IVTV_F_I_DMA              0    /* DMA in progress */
 #define IVTV_F_I_UDMA             1    /* UDMA in progress */
 #define IVTV_F_I_UDMA_PENDING     2    /* UDMA pending */
-#define IVTV_F_I_SPEED_CHANGE     3    /* A speed change is in progress */
-#define IVTV_F_I_EOS              4    /* End of encoder stream reached */
-#define IVTV_F_I_RADIO_USER       5    /* The radio tuner is selected */
-#define IVTV_F_I_DIG_RST          6    /* Reset digitizer */
+#define IVTV_F_I_SPEED_CHANGE     3    /* a speed change is in progress */
+#define IVTV_F_I_EOS              4    /* end of encoder stream reached */
+#define IVTV_F_I_RADIO_USER       5    /* the radio tuner is selected */
+#define IVTV_F_I_DIG_RST          6    /* reset digitizer */
 #define IVTV_F_I_DEC_YUV          7    /* YUV instead of MPG is being decoded 
*/
 #define IVTV_F_I_UPDATE_CC        9    /* CC should be updated */
 #define IVTV_F_I_UPDATE_WSS       10   /* WSS should be updated */
@@ -242,7 +242,7 @@ struct ivtv_mailbox_data {
 #define IVTV_F_I_DECODING_YUV     12   /* this stream is YUV frame decoding */
 #define IVTV_F_I_ENC_PAUSED       13   /* the encoder is paused */
 #define IVTV_F_I_VALID_DEC_TIMINGS 14  /* last_dec_timing is valid */
-#define IVTV_F_I_HAVE_WORK        15   /* Used in the interrupt handler: there 
is work to be done */
+#define IVTV_F_I_HAVE_WORK        15   /* used in the interrupt handler: there 
is work to be done */
 #define IVTV_F_I_WORK_HANDLER_VBI  16  /* there is work to be done for VBI */
 #define IVTV_F_I_WORK_HANDLER_YUV  17  /* there is work to be done for YUV */
 #define IVTV_F_I_WORK_HANDLER_PIO  18  /* there is work to be done for PIO */
@@ -295,19 +295,18 @@ struct ivtv_buffer {
        unsigned short b_flags;
        unsigned short dma_xfer_cnt;
        char *buf;
-
        u32 bytesused;
        u32 readpos;
 };
 
 struct ivtv_queue {
-       struct list_head list;
-       u32 buffers;
-       u32 length;
-       u32 bytesused;
+       struct list_head list;          /* the list of buffers in this queue */
+       u32 buffers;                    /* number of buffers in this queue */
+       u32 length;                     /* total number of bytes of available 
buffer space */
+       u32 bytesused;                  /* total number of bytes used in this 
queue */
 };
 
-struct ivtv;   /* forward reference */
+struct ivtv;                           /* forward reference */
 
 struct ivtv_stream {
        /* These first four fields are always set, even if the stream
@@ -318,11 +317,9 @@ struct ivtv_stream {
        int type;                       /* stream type */
 
        u32 id;
-       spinlock_t qlock;       /* locks access to the queues */
-       unsigned long s_flags;  /* status flags, see above */
-       int dma;                /* can be PCI_DMA_TODEVICE,
-                                  PCI_DMA_FROMDEVICE or
-                                  PCI_DMA_NONE */
+       spinlock_t qlock;               /* locks access to the queues */
+       unsigned long s_flags;          /* status flags, see above */
+       int dma;                        /* can be PCI_DMA_TODEVICE, 
PCI_DMA_FROMDEVICE or PCI_DMA_NONE */
        u32 pending_offset;
        u32 pending_backup;
        u64 pending_pts;
@@ -365,10 +362,10 @@ struct ivtv_stream {
 };
 
 struct ivtv_open_id {
-       u32 open_id;
-       int type;
-       int yuv_frames;
-       enum v4l2_priority prio;
+       u32 open_id;                    /* unique ID for this file descriptor */
+       int type;                       /* stream type */
+       int yuv_frames;                 /* 1: started OUT_UDMA_YUV output mode 
*/
+       enum v4l2_priority prio;        /* priority */
        struct ivtv *itv;
 };
 
@@ -493,6 +490,14 @@ struct yuv_playback_info
 
 /* VBI data */
 struct vbi_info {
+       /* VBI general fixed card data */
+       u32 raw_decoder_line_size;              /* raw VBI line size from 
digitizer */
+       u8 raw_decoder_sav_odd_field;           /* raw VBI Start Active Video 
digitizer code of odd field */
+       u8 raw_decoder_sav_even_field;          /* raw VBI Start Active Video 
digitizer code of even field */
+       u32 sliced_decoder_line_size;           /* sliced VBI line size from 
digitizer */
+       u8 sliced_decoder_sav_odd_field;        /* sliced VBI Start Active 
Video digitizer code of odd field */
+       u8 sliced_decoder_sav_even_field;       /* sliced VBI Start Active 
Video digitizer code of even field */
+
        u32 dec_start;
        u32 enc_start, enc_size;
        int fpi;
@@ -506,12 +511,6 @@ struct vbi_info {
        int wss;
        u8 wss_found;
        u8 wss_no_update;
-       u32 raw_decoder_line_size;
-       u8 raw_decoder_sav_odd_field;
-       u8 raw_decoder_sav_even_field;
-       u32 sliced_decoder_line_size;
-       u8 sliced_decoder_sav_odd_field;
-       u8 sliced_decoder_sav_even_field;
        struct v4l2_format in;
        /* convenience pointer to sliced struct in vbi_in union */
        struct v4l2_sliced_vbi_format *sliced_in;
@@ -592,8 +591,7 @@ struct ivtv {
 
        /* Locking */
        spinlock_t lock;                /* lock access to this struct */
-                                       /* mutex used to serialize 
open/close/start/stop/ioctl operations */
-       struct mutex serialize_lock;
+       struct mutex serialize_lock;    /* mutex used to serialize 
open/close/start/stop/ioctl operations */
 
 
        /* Streams */
@@ -616,7 +614,7 @@ struct ivtv {
        int dma_retries;                /* current DMA retry attempt */
        struct ivtv_user_dma udma;      /* user based DMA for OSD */
        struct timer_list dma_timer;    /* timer used to catch unfinished DMAs 
*/
-       u32 last_vsync_frame;           /* last seen vsync field */
+       u32 last_vsync_field;           /* last seen vsync field */
        wait_queue_head_t dma_waitq;    /* wake up when the current DMA is 
finished */
        wait_queue_head_t eos_waitq;    /* wake up when EOS arrives */
        wait_queue_head_t event_waitq;  /* wake up when the next decoder event 
arrives */
diff --git a/drivers/media/video/ivtv/ivtv-fb.c 
b/drivers/media/video/ivtv/ivtv-fb.c
index f5ed2cf..e80564a 100644
--- a/drivers/media/video/ivtv/ivtv-fb.c
+++ b/drivers/media/video/ivtv/ivtv-fb.c
@@ -405,7 +405,7 @@ static int ivtvfb_ioctl(struct fb_info *info, unsigned int 
cmd, unsigned long ar
                        if (itv->is_50hz && trace > 312) trace -= 312;
                        else if (itv->is_60hz && trace > 262) trace -= 262;
                        if (trace == 1) vblank.flags |= FB_VBLANK_VSYNCING;
-                       vblank.count = itv->last_vsync_frame;
+                       vblank.count = itv->last_vsync_field;
                        vblank.vcount = trace;
                        vblank.hcount = 0;
                        if (copy_to_user((void __user *)arg, &vblank, 
sizeof(vblank)))
diff --git a/drivers/media/video/ivtv/ivtv-irq.c 
b/drivers/media/video/ivtv/ivtv-irq.c
index 4ec3df5..66d0da2 100644
--- a/drivers/media/video/ivtv/ivtv-irq.c
+++ b/drivers/media/video/ivtv/ivtv-irq.c
@@ -750,8 +750,8 @@ static void ivtv_irq_vsync(struct ivtv *itv)
        if (0) IVTV_DEBUG_IRQ("DEC VSYNC\n");
 
        if (((frame ^ itv->yuv_info.sync_field[last_dma_frame]) == 0 &&
-               ((itv->last_vsync_frame & 1) ^ 
itv->yuv_info.sync_field[last_dma_frame])) ||
-                       (frame != (itv->last_vsync_frame & 1) && 
!itv->yuv_info.frame_interlaced)) {
+               ((itv->last_vsync_field & 1) ^ 
itv->yuv_info.sync_field[last_dma_frame])) ||
+                       (frame != (itv->last_vsync_field & 1) && 
!itv->yuv_info.frame_interlaced)) {
                int next_dma_frame = last_dma_frame;
 
                if (!(itv->yuv_info.frame_interlaced && 
itv->yuv_info.field_delay[next_dma_frame] && itv->yuv_info.fields_lapsed < 1)) {
@@ -766,10 +766,10 @@ static void ivtv_irq_vsync(struct ivtv *itv)
                        }
                }
        }
-       if (frame != (itv->last_vsync_frame & 1)) {
+       if (frame != (itv->last_vsync_field & 1)) {
                struct ivtv_stream *s = ivtv_get_output_stream(itv);
 
-               itv->last_vsync_frame += 1;
+               itv->last_vsync_field += 1;
                if (frame == 0) {
                        clear_bit(IVTV_F_I_VALID_DEC_TIMINGS, &itv->i_flags);
                        clear_bit(IVTV_F_I_EV_VSYNC_FIELD, &itv->i_flags);
@@ -834,7 +834,7 @@ irqreturn_t ivtv_irq_handler(int irq, void *dev_id)
                 */
                if (~itv->irqmask & IVTV_IRQ_DEC_VSYNC) {
                        /* vsync is enabled, see if we're in a new field */
-                       if ((itv->last_vsync_frame & 1) != (read_reg(0x28c0) & 
1)) {
+                       if ((itv->last_vsync_field & 1) != (read_reg(0x28c0) & 
1)) {
                                /* New field, looks like we missed it */
                                IVTV_DEBUG_YUV("VSync interrupt missed 
%d\n",read_reg(0x28c0)>>16);
                                vsync_force = 1;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to