From: Michael Krufky Date: Tue, 18 Dec 2007 13:42:33 +0000 (-0300) Subject: V4L/DVB (6875): tuner-xc2028: ATSC requires 1.75 MHz tuning offset X-Git-Tag: v2.6.25-rc1~1235^2~151 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d536c9df41f5e47a37e22b46ea98451ce8134e55;p=karo-tx-linux.git 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 --- 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