summaryrefslogtreecommitdiff
path: root/linux/drivers/media/common/saa7146_video.c
diff options
context:
space:
mode:
authorMichael Hunold <devnull@localhost>2003-07-01 08:54:40 +0000
committerMichael Hunold <devnull@localhost>2003-07-01 08:54:40 +0000
commit3136b2e443e145266f96a7d6f7a4d45bee9cb445 (patch)
treed65b326e40c37f631656b30e69ac55a039829f2e /linux/drivers/media/common/saa7146_video.c
parent77521aea06a577eb5dcad9c975a5801868f478bb (diff)
downloadmediapointer-dvb-s2-3136b2e443e145266f96a7d6f7a4d45bee9cb445.tar.gz
mediapointer-dvb-s2-3136b2e443e145266f96a7d6f7a4d45bee9cb445.tar.bz2
- fix a capture problem (fields got lost accidentaly, fields belonging
to different frames were sometimes mixed) - first try to get alternating field capture running - add/change some debug messages
Diffstat (limited to 'linux/drivers/media/common/saa7146_video.c')
-rw-r--r--linux/drivers/media/common/saa7146_video.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/linux/drivers/media/common/saa7146_video.c b/linux/drivers/media/common/saa7146_video.c
index 77c20b528..d67282461 100644
--- a/linux/drivers/media/common/saa7146_video.c
+++ b/linux/drivers/media/common/saa7146_video.c
@@ -137,6 +137,7 @@ static int try_win(struct saa7146_dev *dev, struct v4l2_window *win)
switch (field) {
case V4L2_FIELD_TOP:
case V4L2_FIELD_BOTTOM:
+ case V4L2_FIELD_ALTERNATE:
maxh = maxh / 2;
break;
case V4L2_FIELD_INTERLACED:
@@ -188,6 +189,7 @@ static int try_fmt(struct saa7146_fh *fh, struct v4l2_format *f)
switch (field) {
case V4L2_FIELD_TOP:
case V4L2_FIELD_BOTTOM:
+ case V4L2_FIELD_ALTERNATE:
maxh = maxh / 2;
break;
case V4L2_FIELD_INTERLACED:
@@ -561,7 +563,7 @@ static int saa7146_pgtable_build(struct saa7146_dev *dev, struct saa7146_buf *bu
m3 = ((size+(size/2)+PAGE_SIZE)/PAGE_SIZE)-1;
o1 = size%PAGE_SIZE;
o2 = (size+(size/4))%PAGE_SIZE;
- printk("size:%d, m1:%d, m2:%d, m3:%d, o1:%d, o2:%d\n",size,m1,m2,m3,o1,o2);
+ DEB_CAP(("size:%d, m1:%d, m2:%d, m3:%d, o1:%d, o2:%d\n",size,m1,m2,m3,o1,o2));
break;
}
case 16: {
@@ -571,7 +573,7 @@ static int saa7146_pgtable_build(struct saa7146_dev *dev, struct saa7146_buf *bu
m3 = ((2*size+PAGE_SIZE)/PAGE_SIZE)-1;
o1 = size%PAGE_SIZE;
o2 = (size+(size/2))%PAGE_SIZE;
- printk("size:%d, m1:%d, m2:%d, m3:%d, o1:%d, o2:%d\n",size,m1,m2,m3,o1,o2);
+ DEB_CAP(("size:%d, m1:%d, m2:%d, m3:%d, o1:%d, o2:%d\n",size,m1,m2,m3,o1,o2));
break;
}
default: {
@@ -674,7 +676,7 @@ static int video_begin(struct saa7146_fh *fh)
spin_lock_irqsave(&dev->slock,flags);
- /* clear out beginning of streaming bit */
+ /* clear out beginning of streaming bit (rps register 0)*/
saa7146_write(dev, MC2, MASK_27 );
/* enable rps0 irqs */