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>
This commit is contained in:
Hans Verkuil 2006-01-09 15:25:43 -02:00 committed by Mauro Carvalho Chehab
parent 8a854284d0
commit 30b54d50f6
1 changed files with 10 additions and 0 deletions

View File

@ -668,6 +668,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");