The patch number 14401 was added via Douglas Schilling Landgraf
<[email protected]>
to http://linuxtv.org/hg/v4l-dvb master development tree.
Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel
If anyone has any objections, please let us know by sending a message to:
Linux Media Mailing List <[email protected]>
------
From: Devin Heitmueller <[email protected]>
au8522: fix case where we don't perform the first tune after going digital
Address a problem found in MythTV where if we are in digital mode, switch to
analog mode, and the switch back to digital mode, the first tuning request
after switching back to digital mode gets dropped. This is because the au8522
maintains internal state, and would think the demod was already tuned to the
target frequency.
Thanks to Zaphod Beeblebrox for reporting this issue.
Priority: normal
Signed-off-by: Devin Heitmueller <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Douglas Schilling Landgraf <[email protected]>
---
linux/drivers/media/dvb/frontends/au8522_decoder.c | 5 +++++
linux/drivers/media/dvb/frontends/au8522_dig.c | 5 +++++
2 files changed, 10 insertions(+)
diff -r 826a33b76d4d -r da1add22e191
linux/drivers/media/dvb/frontends/au8522_decoder.c
--- a/linux/drivers/media/dvb/frontends/au8522_decoder.c Sat Mar 06
21:26:37 2010 -0300
+++ b/linux/drivers/media/dvb/frontends/au8522_decoder.c Sat Mar 06
21:41:39 2010 -0300
@@ -672,6 +672,11 @@
state->operational_mode = AU8522_ANALOG_MODE;
+ /* Clear out any state associated with the digital side of the
+ chip, so that when it gets powered back up it won't think
+ that it is already tuned */
+ state->current_frequency = 0;
+
au8522_writereg(state, 0xa4, 1 << 5);
return 0;
diff -r 826a33b76d4d -r da1add22e191
linux/drivers/media/dvb/frontends/au8522_dig.c
--- a/linux/drivers/media/dvb/frontends/au8522_dig.c Sat Mar 06 21:26:37
2010 -0300
+++ b/linux/drivers/media/dvb/frontends/au8522_dig.c Sat Mar 06 21:41:39
2010 -0300
@@ -619,6 +619,11 @@
state->operational_mode = AU8522_DIGITAL_MODE;
+ /* Clear out any state associated with the digital side of the
+ chip, so that when it gets powered back up it won't think
+ that it is already tuned */
+ state->current_frequency = 0;
+
au8522_writereg(state, 0xa4, 1 << 5);
au8522_i2c_gate_ctrl(fe, 1);
---
Patch is available at:
http://linuxtv.org/hg/v4l-dvb/rev/da1add22e191d2ea38f623c2e907f056948be039
_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits