[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