[media] au0828: make sure video standard is setup in tuner-core
authorDevin Heitmueller <dheitmueller@kernellabs.com>
Tue, 7 Aug 2012 01:46:59 +0000 (22:46 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Thu, 9 Aug 2012 23:35:26 +0000 (20:35 -0300)
commitc98bc032c52b088fa7baa27adbc2a4deed9acea7
treec43ba628c6aa0d16951e636e1fe985ae6103f144
parent549ee4df1951c8a1a123e81a073d73c2e1c26588
[media] au0828: make sure video standard is setup in tuner-core

If the user performs a tuning attempt without explicitly calling the
s_std ioctl(), a value of zero is sent from tuner-core to xc5000.  This
causes the xc5000 driver to leave the standard unchanged.  The problem
was masked by the fact that the xc5000 driver defaulted to NTSC, but if
you happened to perform an ATSC/ClearQAM tuning attempt and then do an
analog tune, the net effect is an analog tune with the standard still
set to DTV6.

Keep track of whether the standard has ever been sent to tuner-core.  We
don't make an s_std subdev call explicitly during probe because that
will cause a firmware load (which is very time consuming on the 950q).
With the logic in this patch, the s_std call will occur automatically on
the s_freq call if it hasn't already been set.

Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/au0828/au0828-video.c
drivers/media/video/au0828/au0828.h