[linux-dvb] [PATCH] Fix the min/max frequencies of some DVB-C frontends
Michael Krufky
mkrufky at linuxtv.org
Mon Aug 6 20:34:35 CEST 2007
e9hack wrote:
> Hi,
>
> the min frequencies of the DVB-C frontends are wrong. In Europe, the center frequency of the lowest
> channel is 50.5MHz and not 51MHz. All known cards with the stv0297/tda0002x/ves1820 frontend are
> able to tune to this frequency. I've changed the range to the lowest channel - 1/2 bandwidth and the
> highest channel + 1/2 bandwidth. For the design of the dvb driver, the frequency ranges must be part
> of the tuner and not of the frontend itself. The same frontend may be used for different tuners. The
> attached patch does only fix the ranges and not the design.
>
Now I'm beginning to have doubts about Oliver's original patch:
dvb_frontend: Range check of frequency and symbol rate
http://linuxtv.org/hg/v4l-dvb/rev/8186a34dd0a6
Should we be checking fe->ops.tuner_ops.info.frequency_min|max , instead of
fe->ops.info.frequency_min|max ???
-Mike
> Signed-off-by: Hartmut Birr <e9hack at googlemail.com>
> diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/stv0297.c
> --- a/linux/drivers/media/dvb/frontends/stv0297.c Fri Aug 03 18:42:33 2007 -0300
> +++ b/linux/drivers/media/dvb/frontends/stv0297.c Mon Aug 06 19:14:31 2007 +0200
> @@ -680,8 +680,8 @@ static struct dvb_frontend_ops stv0297_o
> .info = {
> .name = "ST STV0297 DVB-C",
> .type = FE_QAM,
> - .frequency_min = 64000000,
> - .frequency_max = 1300000000,
> + .frequency_min = 47000000,
> + .frequency_max = 862000000,
> .frequency_stepsize = 62500,
> .symbol_rate_min = 870000,
> .symbol_rate_max = 11700000,
> diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/tda10021.c
> --- a/linux/drivers/media/dvb/frontends/tda10021.c Fri Aug 03 18:42:33 2007 -0300
> +++ b/linux/drivers/media/dvb/frontends/tda10021.c Mon Aug 06 19:14:31 2007 +0200
> @@ -439,8 +439,8 @@ static struct dvb_frontend_ops tda10021_
> .name = "Philips TDA10021 DVB-C",
> .type = FE_QAM,
> .frequency_stepsize = 62500,
> - .frequency_min = 51000000,
> - .frequency_max = 858000000,
> + .frequency_min = 47000000,
> + .frequency_max = 862000000,
> .symbol_rate_min = (XIN/2)/64, /* SACLK/64 == (XIN/2)/64 */
> .symbol_rate_max = (XIN/2)/4, /* SACLK/4 */
> #if 0 /* keep */
> diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/tda10023.c
> --- a/linux/drivers/media/dvb/frontends/tda10023.c Fri Aug 03 18:42:33 2007 -0300
> +++ b/linux/drivers/media/dvb/frontends/tda10023.c Mon Aug 06 19:14:31 2007 +0200
> @@ -504,8 +504,8 @@ static struct dvb_frontend_ops tda10023_
> .name = "Philips TDA10023 DVB-C",
> .type = FE_QAM,
> .frequency_stepsize = 62500,
> - .frequency_min = 51000000,
> - .frequency_max = 858000000,
> + .frequency_min = 47000000,
> + .frequency_max = 862000000,
> .symbol_rate_min = (SYSCLK/2)/64, /* SACLK/64 == (SYSCLK/2)/64 */
> .symbol_rate_max = (SYSCLK/2)/4, /* SACLK/4 */
> #if 0
> diff -r 5bb1af77fdc5 linux/drivers/media/dvb/frontends/ves1820.c
> --- a/linux/drivers/media/dvb/frontends/ves1820.c Fri Aug 03 18:42:33 2007 -0300
> +++ b/linux/drivers/media/dvb/frontends/ves1820.c Mon Aug 06 19:14:31 2007 +0200
> @@ -410,8 +410,8 @@ static struct dvb_frontend_ops ves1820_o
> .name = "VLSI VES1820 DVB-C",
> .type = FE_QAM,
> .frequency_stepsize = 62500,
> - .frequency_min = 51000000,
> - .frequency_max = 858000000,
> + .frequency_min = 47000000,
> + .frequency_max = 862000000,
> .caps = FE_CAN_QAM_16 |
> FE_CAN_QAM_32 |
> FE_CAN_QAM_64 |
More information about the linux-dvb
mailing list