[PATCH / 2.6.13.4] fix black/white-only svideo input in vpx3220decoder

From: Ronald S. Bultje
Date: Sat Oct 15 2005 - 12:43:48 EST


Hi,

attached patch fixes 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.

Patch is against 2.6.13.4 because I couldn't find a pre-made
2.6.14-current tarball to generate the patch against. Shouldn't matter
still, since the vpx3220 driver didn't change much in between, afaik.

Signed-off-by: Ronald S. Bultje <rbultje@xxxxxxxxxxxxxxxxxxx>

Cheers,
Ronald
--- linux-2.6.13.4/drivers/media/video/vpx3220-old.c 2005-10-15 13:34:29.000000000 -0400
+++ linux-2.6.13.4/drivers/media/video/vpx3220.c 2005-10-15 13:34:40.000000000 -0400
@@ -410,6 +410,12 @@
case DECODER_SET_NORM:
{
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",
I2C_NAME(client), *iarg);
@@ -449,6 +455,10 @@

}
decoder->norm = *iarg;
+
+ /* And here we set the backed up video input again */
+ vpx3220_fp_write(client, 0xf2, temp_input | 0x0010);
+ udelay(10);
}
break;