[media] adv7180: fix broken standards handling
authorHans Verkuil <hans.verkuil@cisco.com>
Fri, 22 Apr 2016 13:03:37 +0000 (10:03 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 25 Apr 2016 11:09:03 +0000 (08:09 -0300)
commit937feeed3f0ae8a0389d5732f6db63dd912acd99
tree0ee92ef0dd289870536cf322eafda36fdb16f21a
parent20e01b264cc8557def19671defbad275828132f1
[media] adv7180: fix broken standards handling

The adv7180 attempts to autodetect the standard. Unfortunately this
is seriously broken.

This patch removes the autodetect completely. Only the querystd op
will detect the standard. Since the design of the adv7180 requires
that you switch to a special autodetect mode you cannot call querystd
when you are streaming.

So the s_stream op has been added so we know whether we are streaming
or not, and if we are, then querystd returns EBUSY.

After testing this with a signal generator is became obvious that
a sleep is needed between changing the standard to autodetect and
reading the status. So the autodetect can never have worked well.

The s_std call now just sets the new standard without any querying.

If the driver supports the interrupt, then when it detects a standard
change it will signal that by sending the V4L2_EVENT_SOURCE_CHANGE
event.

With these changes this driver now behaves like all other video
receivers.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-by: Federico Vaga <federico.vaga@gmail.com>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
drivers/media/i2c/adv7180.c
This page took 0.024742 seconds and 5 git commands to generate.