diff options
author | Hans Verkuil <devnull@localhost> | 2005-12-29 17:49:47 +0000 |
---|---|---|
committer | Hans Verkuil <devnull@localhost> | 2005-12-29 17:49:47 +0000 |
commit | 27e2b95a26c4420606c083db5fc52d1d7ea30401 (patch) | |
tree | c42a26b5e6a77446806b0ea46ec5396ef40930b9 /linux/drivers/media/video/saa7115.c | |
parent | 91795dc6bc0fd7be21f071d15026c74ebd396794 (diff) | |
download | mediapointer-dvb-s2-27e2b95a26c4420606c083db5fc52d1d7ea30401.tar.gz mediapointer-dvb-s2-27e2b95a26c4420606c083db5fc52d1d7ea30401.tar.bz2 |
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>
Diffstat (limited to 'linux/drivers/media/video/saa7115.c')
-rw-r--r-- | linux/drivers/media/video/saa7115.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/linux/drivers/media/video/saa7115.c b/linux/drivers/media/video/saa7115.c index c4e203715..c06997b00 100644 --- a/linux/drivers/media/video/saa7115.c +++ b/linux/drivers/media/video/saa7115.c @@ -678,6 +678,16 @@ static void saa7115_set_v4lstd(struct i2c_client *client, v4l2_std_id std) struct saa7115_state *state = i2c_get_clientdata(client); int taskb = saa7115_read(client, 0x80) & 0x10; + /* Prevent unnecessary standard changes. During a standard + change the I-Port is temporarily disabled. Any devices + reading from that port can get confused. + Note that VIDIOC_S_STD is also used to switch from + radio to TV mode, so if a VIDIOC_S_STD is broadcast to + all I2C devices then you do not want to have an unwanted + side-effect here. */ + if (std == state->std) + return; + // This works for NTSC-M, SECAM-L and the 50Hz PAL variants. if (std & V4L2_STD_525_60) { saa7115_dbg("decoder set standard 60 Hz\n"); |