From d536c9df41f5e47a37e22b46ea98451ce8134e55 Mon Sep 17 00:00:00 2001 From: Michael Krufky Date: Tue, 18 Dec 2007 10:42:33 -0300 Subject: [PATCH] V4L/DVB (6875): tuner-xc2028: ATSC requires 1.75 MHz tuning offset In my testing yesterday, I was using a scan file tailored specifically for a unique test situation -- As it turns out, this scan file was bad, and I will use the one included inside dvb-apps for testing for now on. I've tested with other ATSC tuners just to confirm, using: us-ATSC-center-frequencies-8VSB Anyhow, as it turns out, the tuner-xc2028 *does* require a tuning offset for ATSC. Even though the linux-dvb api passes in center frequencies from userspace, apparantly the xceive firmware is already factoring in the tuning offset to center. In order to make the device function using the same scan files / channels.conf configurations as other atsc devices, we must offset by 1.75 MHz. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/tuner-xc2028.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/video/tuner-xc2028.c b/drivers/media/video/tuner-xc2028.c index d367f205c98a..5ed12e2272e9 100644 --- a/drivers/media/video/tuner-xc2028.c +++ b/drivers/media/video/tuner-xc2028.c @@ -873,7 +873,9 @@ static int generic_set_freq(struct dvb_frontend *fe, u32 freq /* in HZ */, */ if (new_mode == T_ANALOG_TV) { rc = send_seq(priv, {0x00, 0x00}); - } else if (!(priv->cur_fw.type & ATSC)) { + } else if (priv->cur_fw.type & ATSC) { + offset = 1750000; + } else { offset = 2750000; /* * We must adjust the offset by 500kHz in two cases in order