linux/drivers/media
Devin Heitmueller f0cd44b4a1 V4L/DVB (13330): s5h1409: properly handle QAM optimization after lock achieved
The sh51409 driver was only doing the QAM optimization a single time, and it
would only occur if you received a lock instantaneously after the tuning
request.  Restructure the code so that the optimization occurs once you reach
a signal lock.

Note that this depends on the caller polling for status, but we don't have
much choice at this point without an independent thread monitoring the lock
status.  Also, at this point pretty much every application polls for status
lock after doing the tune, so the likelihood of the optimization not occurring
in the real world is pretty low.

The state machine has also been reworked such that setting the interleave mode
is now a dependency of doing the QAM optimization.  Before both were mutually
exclusive, which was not consistent with the Windows driver.  We now have a
single state machine that controls both.

The changes as-is are only enabled for the HVR-1600.  Once the changes are
tested with some of the other boards, this change should be made generic and
the "_legacy" functions should be removed.

This work was sponsored by ONELAN Limited.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-12-05 18:41:22 -02:00
..
common V4L/DVB (13262): tda18271: fix regression preventing std map override from taking effect 2009-12-05 18:41:09 -02:00
dvb V4L/DVB (13330): s5h1409: properly handle QAM optimization after lock achieved 2009-12-05 18:41:22 -02:00
radio V4L/DVB (13177): radio: Add support for TEF6862 tuner 2009-12-05 18:40:43 -02:00
video V4L/DVB (13329): s5h1409: provide HVR-1600 specific optimizations 2009-12-05 18:41:22 -02:00
Kconfig V4L/DVB (11881): one kconfig controls them all 2009-06-16 18:21:16 -03:00
Makefile V4L/DVB (8274): sms1xxx: build cleanup after driver relocation 2008-07-20 07:20:56 -03:00