summaryrefslogtreecommitdiff
path: root/linux/drivers/media/common
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2009-07-05 19:08:55 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-07-05 19:08:55 -0300
commit784f927dcf2cc497d4a2c44fb4f1321d9cf0c45b (patch)
treefaa5f190e79e79c18b4d56c6fa643e6f251e4563 /linux/drivers/media/common
parent33059960a17b83a720e88a4093d4fc40a1a307a4 (diff)
parent59ad1e534e569f743df108421f369cbf915f2e6e (diff)
downloadmediapointer-dvb-s2-784f927dcf2cc497d4a2c44fb4f1321d9cf0c45b.tar.gz
mediapointer-dvb-s2-784f927dcf2cc497d4a2c44fb4f1321d9cf0c45b.tar.bz2
merge: http://linuxtv.org/hg/~awalls/ivtv
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'linux/drivers/media/common')
-rw-r--r--linux/drivers/media/common/tuners/tuner-xc2028.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/linux/drivers/media/common/tuners/tuner-xc2028.c b/linux/drivers/media/common/tuners/tuner-xc2028.c
index a7466867c..3de5d6685 100644
--- a/linux/drivers/media/common/tuners/tuner-xc2028.c
+++ b/linux/drivers/media/common/tuners/tuner-xc2028.c
@@ -52,7 +52,7 @@ MODULE_PARM_DESC(audio_std,
"NICAM/A\n"
"NICAM/B\n");
-static char firmware_name[FIRMWARE_NAME_MAX];
+static char firmware_name[30];
module_param_string(firmware_name, firmware_name, sizeof(firmware_name), 0);
MODULE_PARM_DESC(firmware_name, "Firmware file name. Allows overriding the "
"default firmware name\n");
@@ -1100,8 +1100,19 @@ static int xc2028_set_params(struct dvb_frontend *fe,
}
/* All S-code tables need a 200kHz shift */
- if (priv->ctrl.demod)
+ if (priv->ctrl.demod) {
demod = priv->ctrl.demod + 200;
+ /*
+ * The DTV7 S-code table needs a 700 kHz shift.
+ * Thanks to Terry Wu <terrywu2009@gmail.com> for reporting this
+ *
+ * DTV7 is only used in Australia. Germany or Italy may also
+ * use this firmware after initialization, but a tune to a UHF
+ * channel should then cause DTV78 to be used.
+ */
+ if (type & DTV7)
+ demod += 500;
+ }
return generic_set_freq(fe, p->frequency,
T_DIGITAL_TV, type, 0, demod);