Commit 897b8422 authored by Chris Pascoe's avatar Chris Pascoe Committed by Mauro Carvalho Chehab

V4L/DVB (6854): xc2028: be more specific about when applying offset for 7MHz channels

We have been inserting a mystery 500kHz offset for tuning 7MHz channels,
however some experimentation reveals it is only needed under certain
conditions with specific firmware combinations.  Document these and only
apply the offset when we know it is required.
Signed-off-by: default avatarChris Pascoe <c.pascoe@itee.uq.edu.au>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 9ca01e78
......@@ -875,7 +875,16 @@ static int generic_set_freq(struct dvb_frontend *fe, u32 freq /* in HZ */,
rc = send_seq(priv, {0x00, 0x00});
} else {
offset = 2750000;
if (priv->cur_fw.type & DTV7)
/*
* We must adjust the offset by 500kHz in two cases in order
* to correctly center the IF output:
* 1) When the ZARLINK456 or DIBCOM52 tables were explicitly
* selected and a 7MHz channel is tuned;
* 2) When tuning a VHF channel with DTV78 firmware.
*/
if (((priv->cur_fw.type & DTV7) &&
(priv->cur_fw.scode_table & (ZARLINK456 | DIBCOM52))) ||
((priv->cur_fw.type & DTV78) && freq < 470000000))
offset -= 500000;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment