提交 de21eb63 编写于 作者: R Ronald S. Bultje 提交者: Linus Torvalds

[PATCH] fix black/white-only svideo input in vpx3220 decoder

Fix the fact that the svideo input will only give input in black/white in
some circumstances.  Reason is that in the PCI controller driver (zr36067),
after setting input, we reset norm, which overwrites the input register
with the default.  This patch makes it always set the correct value for the
input when changing norm.
Signed-off-by: NRonald S. Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 9b3acc21
...@@ -408,6 +408,12 @@ vpx3220_command (struct i2c_client *client, ...@@ -408,6 +408,12 @@ vpx3220_command (struct i2c_client *client,
case DECODER_SET_NORM: case DECODER_SET_NORM:
{ {
int *iarg = arg, data; int *iarg = arg, data;
int temp_input;
/* Here we back up the input selection because it gets
overwritten when we fill the registers with the
choosen video norm */
temp_input = vpx3220_fp_read(client, 0xf2);
dprintk(1, KERN_DEBUG "%s: DECODER_SET_NORM %d\n", dprintk(1, KERN_DEBUG "%s: DECODER_SET_NORM %d\n",
I2C_NAME(client), *iarg); I2C_NAME(client), *iarg);
...@@ -447,6 +453,10 @@ vpx3220_command (struct i2c_client *client, ...@@ -447,6 +453,10 @@ vpx3220_command (struct i2c_client *client,
} }
decoder->norm = *iarg; decoder->norm = *iarg;
/* And here we set the backed up video input again */
vpx3220_fp_write(client, 0xf2, temp_input | 0x0010);
udelay(10);
} }
break; break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册