[linux-dvb] [PATCH] hvr1110, please apply it !

Michael Krufky mkrufky at linuxtv.org
Fri Nov 3 15:12:46 CET 2006


tomlohave wrote:
> Hello,
> 
> Here is new patch to support hvr1110.
> Can someone apply it and / or give me feedback about it if something is
> wrong.

Tom, Please see some comments inline below:

> signed-off-by : Thomas Genty <tomlohave at gmail.com>
> 
> 
> ------------------------------------------------------------------------
> 
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-cards.c
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-cards.c	2006-11-03 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-cards.c	2006-11-03 15:25:10.000000000 +0100
> @@ -3098,6 +3098,40 @@ struct saa7134_board saa7134_boards[] = 
>  			.gpio   = 0x0200000,
>  		},
>  	},
> +	[SAA7134_BOARD_HAUPPAUGE_HVR1110] = {
> +		/* Thomas Genty <tomlohave at gmail.com> */
> +		.name           = "Hauppauge WinTV-HVR1110 DVB-T/Hybrid",
> +		.audio_clock    = 0x00187de7,
> +		.tuner_type     = TUNER_PHILIPS_TDA8290,
> +		.radio_type     = UNSET,
> +		.tuner_addr     = ADDR_UNSET,
> +		.radio_addr     = ADDR_UNSET,
> +		.mpeg           = SAA7134_MPEG_DVB,
> +		.gpiomask       = 0x000200000,
> +		.inputs         = {{
> +			.name = name_tv,
> +			.vmux = 1,
> +			.amux = TV,
> +			.tv   = 1,
> +		}/*,{				// need test

dont use /* comments */ to disable those inputs, instead, enclose inside an #if 0 block #endif

> +			.name = name_comp1,
> +			.vmux = 2,
> +			.amux = LINE2,
> +		},{
> +			.name = name_comp2,
> +			.vmux = 0,
> +			.amux = LINE2,
> +		},{
> +			.name = name_svideo,
> +			.vmux = 8,
> +			.amux = LINE2,
> +		}*/},

...can't you just test those inputs as well yourself and make it complete?

> +		.radio = {
> +			.name = name_radio,
> +			.amux   = TV,
> +			.gpio   = 0x0200000,
> +		},
> +	},

Is radio tested?

>  	[SAA7134_BOARD_AVERMEDIA_STUDIO_507] = {

Please add new cards to the END of the array -- not the middle of it.

>  		/* Mikhail Fedotov <mo_fedotov at mail.ru> */
>  		.name           = "Avermedia AVerTV Studio 507",
> @@ -3783,6 +3817,12 @@ struct pci_device_id saa7134_pci_tbl[] =
>  	},{
>  		.vendor       = PCI_VENDOR_ID_PHILIPS,
>  		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,
> +		.subvendor    = 0x0070,
> +		.subdevice    = 0x6701,
> +		.driver_data  = SAA7134_BOARD_HAUPPAUGE_HVR1110,
> +	},{
> +		.vendor       = PCI_VENDOR_ID_PHILIPS,
> +		.device       = PCI_DEVICE_ID_PHILIPS_SAA7133,

Please move this to the END of the pci ids array -- not the middle.

>  		.subvendor    = 0x1461, /* Avermedia Technologies Inc */
>  		.subdevice    = 0x9715,
>  		.driver_data  = SAA7134_BOARD_AVERMEDIA_STUDIO_507,
> @@ -3935,6 +3975,7 @@ int saa7134_board_init1(struct saa7134_d
>  	case SAA7134_BOARD_FLYDVBT_LR301:
>  	case SAA7134_BOARD_FLYDVBTDUO:
>  	case SAA7134_BOARD_PROTEUS_2309:
> +	/*case SAA7134_BOARD_HAUPPAUGE_HVR1110:*/ //Todo

^^^^^ Please either remove this, or enclose it inside an #if 0 block, like so:

 	case SAA7134_BOARD_PROTEUS_2309:
+#if 0
+	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
+#endif
 		dev->has_remote = SAA7134_REMOTE_GPIO;

...in this case, just remove it -- add it later when ready.

>  		dev->has_remote = SAA7134_REMOTE_GPIO;
>  		break;
>  	case SAA7134_BOARD_FLYDVBS_LR300:
> @@ -4129,6 +4170,7 @@ int saa7134_board_init2(struct saa7134_d
>  	case SAA7134_BOARD_TEVION_DVBT_220RF:
>  	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
>  	case SAA7134_BOARD_MEDION_MD8800_QUADRO:
> +	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
>  		/* this is a hybrid board, initialize to analog mode
>  		 * and configure firmware eeprom address
>  		 */
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-dvb.c
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-dvb.c	2006-11-03 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-dvb.c	2006-11-03 15:28:50.000000000 +0100
> @@ -900,6 +900,17 @@ static struct tda1004x_config pinnacle_p
>  };
>  
>  /* ------------------------------------------------------------------ */
> +static struct tda1004x_config hauppauge_hvr_1110_config = {
> +	.demod_address = 0x08,
> +	.invert        = 1,
> +	.invert_oclk   = 0,
> +	.xtal_freq     = TDA10046_XTAL_16M,
> +	.agc_config    = TDA10046_AGC_TDA827X,
> +	.if_freq       = TDA10046_FREQ_045,
> +	.request_firmware = philips_tda1004x_request_firmware,
> +};
> +
> +/* ------------------------------------------------------------------ */
>  
>  static struct tda1004x_config asus_p7131_dual_config = {
>  	.demod_address = 0x08,
> @@ -1222,6 +1233,17 @@ static int dvb_init(struct saa7134_dev *
>  			dev->dvb.frontend->ops.tuner_ops.set_params = philips_tiger_tuner_set_params;
>  		}
>  		break;
> +	case SAA7134_BOARD_HAUPPAUGE_HVR1110:
> +		dev->dvb.frontend = dvb_attach(tda10046_attach,
> +					       &hauppauge_hvr_1110_config,
> +					       &dev->i2c_adap);
> +		if (dev->dvb.frontend) {
> +			dev->dvb.frontend->ops.i2c_gate_ctrl = tda8290_i2c_gate_ctrl;
> +			dev->dvb.frontend->ops.tuner_ops.init = philips_tiger_tuner_init;
> +			dev->dvb.frontend->ops.tuner_ops.sleep = philips_tiger_tuner_sleep;
> +			dev->dvb.frontend->ops.tuner_ops.set_params = philips_tiger_tuner_set_params;
> +		}
> +		break;
>  	case SAA7134_BOARD_ASUSTeK_P7131_DUAL:
>  		dev->dvb.frontend = dvb_attach(tda10046_attach,
>  					       &asus_p7131_dual_config,
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134.h
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134.h	2006-11-03 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134.h	2006-11-03 15:31:48.000000000 +0100
> @@ -239,6 +239,7 @@ struct saa7134_format {
>  #define SAA7134_BOARD_PINNACLE_PCTV_310i  101
>  #define SAA7134_BOARD_AVERMEDIA_STUDIO_507 102
>  #define SAA7134_BOARD_VIDEOMATE_DVBT_200A  103
> +#define SAA7134_BOARD_HAUPPAUGE_HVR1110 104
>  
>  #define SAA7134_MAXBOARDS 8
>  #define SAA7134_INPUT_MAX 8
> diff -uprN v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-input.c
> --- v4l-dvb/linux/drivers/media/video/saa7134/saa7134-input.c	2006-11-03 14:49:23.000000000 +0100
> +++ v4l-dvb-hvr1110/linux/drivers/media/video/saa7134/saa7134-input.c	2006-11-03 15:30:39.000000000 +0100
> @@ -223,6 +223,8 @@ int saa7134_input_init1(struct saa7134_d
>  		mask_keydown = 0x000010;
>  		polling	     = 50; // ms
>  		break;
> +	/*case SAA7134_BOARD_HAUPPAUGE_HVR1110:
> +		break;*/ // Todo

^^^^^^^^^ Please remove this

>  	case SAA7134_BOARD_VIDEOMATE_TV_PVR:
>  	case SAA7134_BOARD_VIDEOMATE_GOLD_PLUS:
>  	case SAA7134_BOARD_VIDEOMATE_TV_GOLD_PLUSII:
> 



More information about the linux-dvb mailing list