summaryrefslogtreecommitdiffstats
path: root/drivers/media/i2c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-25 14:39:34 -0200
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2016-01-25 15:15:26 -0200
commit47de9bf8931e6bf9c92fdba9867925d1ce482ab1 (patch)
treed5f34e0e9fa798ae409da999a982e1e85d5a6754 /drivers/media/i2c
parent27524ff8cd6c28ea3735f80f0374e0fc5494768f (diff)
downloadop-kernel-dev-47de9bf8931e6bf9c92fdba9867925d1ce482ab1.zip
op-kernel-dev-47de9bf8931e6bf9c92fdba9867925d1ce482ab1.tar.gz
[media] tvp5150: Fix breakage for serial usage
changeset 460b6c0831cb ("tvp5150: Add s_stream subdev operation support") broke for em28xx-based devices with uses tvp5150. On those devices, touching the TVP5150_MISC_CTL register causes em28xx to stop streaming. I suspect that it uses the 27 MHz clock provided by tvp5150 to feed em28xx. So, change the logic to do nothing on s_stream if the tvp5150 is not set up to work with V4L2_MBUS_PARALLEL. Tested with Hauppauge WinTV USB 2 model 42012 Rev. C186 (USB ID: 2040:4200). Cc: Javier Martinez Canillas <javier@osg.samsung.com> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/i2c')
-rw-r--r--drivers/media/i2c/tvp5150.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/media/i2c/tvp5150.c b/drivers/media/i2c/tvp5150.c
index 437f1a7..779c6f4 100644
--- a/drivers/media/i2c/tvp5150.c
+++ b/drivers/media/i2c/tvp5150.c
@@ -975,19 +975,18 @@ static int tvp5150_g_mbus_config(struct v4l2_subdev *sd,
static int tvp5150_s_stream(struct v4l2_subdev *sd, int enable)
{
struct tvp5150 *decoder = to_tvp5150(sd);
- /* Output format: 8-bit ITU-R BT.656 with embedded syncs */
- int val = 0x09;
/* Output format: 8-bit 4:2:2 YUV with discrete sync */
- if (decoder->mbus_type == V4L2_MBUS_PARALLEL)
- val = 0x0d;
+ if (decoder->mbus_type != V4L2_MBUS_PARALLEL)
+ return 0;
/* Initializes TVP5150 to its default values */
/* # set PCLK (27MHz) */
tvp5150_write(sd, TVP5150_CONF_SHARED_PIN, 0x00);
+ /* Output format: 8-bit ITU-R BT.656 with embedded syncs */
if (enable)
- tvp5150_write(sd, TVP5150_MISC_CTL, val);
+ tvp5150_write(sd, TVP5150_MISC_CTL, 0x09);
else
tvp5150_write(sd, TVP5150_MISC_CTL, 0x00);
OpenPOWER on IntegriCloud