Re: [hg:v4l-dvb] tuner-xc2028: Fix offset frequencies for DVB @ 6MHz

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Am Montag, den 01.06.2009, 20:00 -0400 schrieb Andy Walls:
> On Mon, 2009-06-01 at 17:20 +0200, Patch from Mauro Carvalho Chehab
> wrote:
> > The patch number 11918 was added via Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> > to http://linuxtv.org/hg/v4l-dvb master development tree.
> > 
> > Kernel patches in this development tree may be modified to be backward
> > compatible with older kernels. Compatibility modifications will be
> > removed before inclusion into the mainstream Kernel
> > 
> > If anyone has any objections, please let us know by sending a message to:
> > 	Linux Media Mailing List <linux-media@xxxxxxxxxxxxxxx>
> > 
> > ------
> > 
> > From: Mauro Carvalho Chehab  <mchehab@xxxxxxxxxx>
> > tuner-xc2028: Fix offset frequencies for DVB @ 6MHz
> > 
> > 
> > Both ATSC and DVB @ 6MHz bandwidth require the same offset.
> > 
> > While we're fixing it, let's cleanup the bandwidth setup to better
> > reflect the fact that it is a function of the bandwidth.
> > 
> > Thanks to Terry Wu <terrywu2009@xxxxxxxxx> for pointing this issue and
> > to Andy Walls <awalls@xxxxxxxxx> for an initial patch for this fix.
> > 
> > Priority: normal
> > 
> > CC: Terry Wu <terrywu2009@xxxxxxxxx>
> > CC: Andy Walls <awalls@xxxxxxxxx>
> > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
> 
> Acked-by: Andy Walls <awalls@xxxxxxxxx>
> 
> You may want to emphasize with a comment that 'offset = 0' is used for
> T_ANALOG_TV.  It's somewhat hidden by its initialization early in the
> function.
> 
> Italy also appears to use 7 MHz VHF and 8 MHz UHF.

Germany too.

Cheers,
Hermann

> 
> Regards,
> Andy
> 
> > ---
> > 
> >  linux/drivers/media/common/tuners/tuner-xc2028.c |   32 ++++++++-------
> >  1 file changed, 19 insertions(+), 13 deletions(-)
> > 
> > diff -r c78c18fe3dc9 -r e6a8672631a0 linux/drivers/media/common/tuners/tuner-xc2028.c
> > --- a/linux/drivers/media/common/tuners/tuner-xc2028.c	Mon Jun 01 11:46:08 2009 -0300
> > +++ b/linux/drivers/media/common/tuners/tuner-xc2028.c	Mon Jun 01 12:18:10 2009 -0300
> > @@ -921,22 +921,28 @@ static int generic_set_freq(struct dvb_f
> >  	 * that xc2028 will be in a safe state.
> >  	 * Maybe this might also be needed for DTV.
> >  	 */
> > -	if (new_mode == T_ANALOG_TV) {
> > +	if (new_mode == T_ANALOG_TV)
> >  		rc = send_seq(priv, {0x00, 0x00});
> > -	} else if (priv->cur_fw.type & ATSC) {
> > -		offset = 1750000;
> > -	} else {
> > -		offset = 2750000;
> > +
> > +	/*
> > +	 * Digital modes require an offset to adjust to the
> > +	 * proper frequency
> > +	 */
> > +	if (new_mode != T_ANALOG_TV) {
> > +		/* Sets the offset according with firmware */
> > +		if (priv->cur_fw.type & DTV6)
> > +			offset = 1750000;
> > +		if (priv->cur_fw.type & DTV7)
> > +			offset = 2250000;
> > +		else	/* DTV8 or DTV78 */
> > +			offset = 2750000;
> > +
> >  		/*
> > -		 * 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.
> > +		 * We must adjust the offset by 500kHz  when
> > +		 * tuning a 7MHz VHF channel with DTV78 firmware
> > +		 * (used in Australia)
> >  		 */
> > -		if (((priv->cur_fw.type & DTV7) &&
> > -		     (priv->cur_fw.scode_table & (ZARLINK456 | DIBCOM52))) ||
> > -		    ((priv->cur_fw.type & DTV78) && freq < 470000000))
> > +		if ((priv->cur_fw.type & DTV78) && freq < 470000000)
> >  			offset -= 500000;
> >  	}
> >  
> > 
> > 
> > ---
> > 
> > Patch is available at: http://linuxtv.org/hg/v4l-dvb/rev/e6a8672631a0f5f549f5ee5db3acac4f35013942
> > 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux