aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorHans Verkuil <hverkuil@xs4all.nl>2006-01-09 12:25:43 -0500
committerMauro Carvalho Chehab <mchehab@brturbo.com.br>2006-01-09 12:25:43 -0500
commit30b54d50f6e2b8f5a4c8b5ade3d25a02612f8f51 (patch)
treeed5de8ce3b3d80fd0cdccf9224c3caba5906b70e /drivers/media
parent8a854284d09dd3b3d8660762b43546058da5372f (diff)
V4L/DVB (3254): Don't reprogram the video standard if it is unchanged.
- Don't reprogram the video standard if the new standard equals the old standard. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/saa7115.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c
index 3e4e5584c5d0..5d33d0922e79 100644
--- a/drivers/media/video/saa7115.c
+++ b/drivers/media/video/saa7115.c
@@ -668,6 +668,16 @@ static void saa7115_set_v4lstd(struct i2c_client *client, v4l2_std_id std)
668 struct saa7115_state *state = i2c_get_clientdata(client); 668 struct saa7115_state *state = i2c_get_clientdata(client);
669 int taskb = saa7115_read(client, 0x80) & 0x10; 669 int taskb = saa7115_read(client, 0x80) & 0x10;
670 670
671 /* Prevent unnecessary standard changes. During a standard
672 change the I-Port is temporarily disabled. Any devices
673 reading from that port can get confused.
674 Note that VIDIOC_S_STD is also used to switch from
675 radio to TV mode, so if a VIDIOC_S_STD is broadcast to
676 all I2C devices then you do not want to have an unwanted
677 side-effect here. */
678 if (std == state->std)
679 return;
680
671 // This works for NTSC-M, SECAM-L and the 50Hz PAL variants. 681 // This works for NTSC-M, SECAM-L and the 50Hz PAL variants.
672 if (std & V4L2_STD_525_60) { 682 if (std & V4L2_STD_525_60) {
673 saa7115_dbg("decoder set standard 60 Hz\n"); 683 saa7115_dbg("decoder set standard 60 Hz\n");