lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <451704BB.5070203@t-online.de>
Date:	Mon, 25 Sep 2006 00:20:43 +0200
From:	Hartmut Hackmann <hartmut.hackmann@...nline.de>
To:	Linux and Kernel Video <video4linux-list@...hat.com>
CC:	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [V4L] Support for SAA7134-based AVerTV Hybrid A16AR

Hi, Petr

Petr Baudis wrote:
> This adds support for a hybrid PAL/DVB/FM card. Unfortunately I tested
> only the DVB since I don't have any proper antenna available and I can
> receive even the DVB just barely so; I can hear noise in the FM part
> but I couldn't catch any station, then again I don't have an FM antenna
> either.
> 
> The PAL/FM and IR control data are based on what I harvested on the 'net.
> Perhaps I or someone else will fix them if they turn out to be wrong.
> 
I am in doubt about some parts of your patch. Can you please check?

> Signed-off-by: Petr Baudis <pasky@....cz>
> ---
> 
>  The patch is against linux-2.6.18.
> 
>  Documentation/video4linux/CARDLIST.saa7134  |    1 +
>  drivers/media/video/saa7134/saa7134-cards.c |   36 +++++++++++++++++++++++++++
>  drivers/media/video/saa7134/saa7134-dvb.c   |    1 +
>  drivers/media/video/saa7134/saa7134-input.c |    1 +
>  drivers/media/video/saa7134/saa7134.h       |    1 +
>  5 files changed, 40 insertions(+), 0 deletions(-)
> 
> diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134
> index 9068b66..52ab9a0 100644
> --- a/Documentation/video4linux/CARDLIST.saa7134
> +++ b/Documentation/video4linux/CARDLIST.saa7134
> @@ -94,3 +94,4 @@
>   93 -> Medion 7134 Bridge #2                    [16be:0005]
>   94 -> LifeView FlyDVB-T Hybrid Cardbus         [5168:3306,5168:3502]
>   95 -> LifeView FlyVIDEO3000 (NTSC)             [5169:0138]
> + 96 -> AVerTV Hybrid A16AR                      [1461:2c00]
> diff --git a/drivers/media/video/saa7134/saa7134-cards.c b/drivers/media/video/saa7134/saa7134-cards.c
> index 927413a..a9a322f 100644
> --- a/drivers/media/video/saa7134/saa7134-cards.c
> +++ b/drivers/media/video/saa7134/saa7134-cards.c
> @@ -2891,6 +2891,35 @@ struct saa7134_board saa7134_boards[] = 
>  			.gpio = 0x8000,
>  		},
>  	},
> +	[SAA7134_BOARD_AVERMEDIA_A16AR] = {
> +		/* Petr Baudis <pasky@....cz> */
> +		.name           = "AVerMedia TV Hybrid A16AR",
> +		.audio_clock    = 0x187de7,
> +		.tuner_type     = TUNER_PHILIPS_TDA8290, /* untested */
> +		.radio_type     = TUNER_TEA5767, /* untested */
> +		.tuner_addr	= ADDR_UNSET,
> +		.radio_addr	= ADDR_UNSET,
> +		.tda9887_conf	= TDA9887_PRESENT,

If there is a TDA8290, there can't be a TDA9887. The tuner is a TD1316?
In this case, TUNER_PHILIPS_TD1316 is right.

> +		.mpeg           = SAA7134_MPEG_DVB,
> +		.inputs         = {{
> +			.name = name_tv,
> +			.vmux = 1,
> +			.amux = TV,
> +			.tv   = 1,
> +		},{
> +			.name = name_comp1,
> +			.vmux = 3,
> +			.amux = LINE2,
> +		},{
> +			.name = name_svideo,
> +			.vmux = 8,
> +			.amux = LINE1,
> +		}},
> +		.radio = {
> +			.name = name_radio,
> +			.amux = LINE1,
> +		},
> +	},
>  };
>  
>  const unsigned int saa7134_bcount = ARRAY_SIZE(saa7134_boards);
> @@ -3446,6 +3475,12 @@ struct pci_device_id saa7134_pci_tbl[] =
>  		.subdevice    = 0x3502,  /* whats the difference to 0x3306 ?*/
>  		.driver_data  = SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS,
>  	},{
> +		.vendor       = PCI_VENDOR_ID_PHILIPS,
> +		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
> +		.subvendor    = 0x1461,
> +		.subdevice    = 0x2c00,
> +		.driver_data  = SAA7134_BOARD_AVERMEDIA_A16AR,
> +	},{
>  		/* --- boards without eeprom + subsystem ID --- */
>  		.vendor       = PCI_VENDOR_ID_PHILIPS,
>  		.device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
> @@ -3581,6 +3616,7 @@ int saa7134_board_init1(struct saa7134_d
>  		saa_writeb(SAA7134_GPIO_GPMODE3, 0x08);
>  		saa_writeb(SAA7134_GPIO_GPSTATUS3, 0x00);
>  		break;
> +	case SAA7134_BOARD_AVERMEDIA_A16AR:
>  	case SAA7134_BOARD_AVERMEDIA_CARDBUS:
>  		/* power-up tuner chip */
>  		saa_andorl(SAA7134_GPIO_GPMODE0 >> 2,   0xffffffff, 0xffffffff);

This sets all GPIOs to output mode. Is that necessary?

> diff --git a/drivers/media/video/saa7134/saa7134-dvb.c b/drivers/media/video/saa7134/saa7134-dvb.c
> index 279828b..5339c99 100644
> --- a/drivers/media/video/saa7134/saa7134-dvb.c
> +++ b/drivers/media/video/saa7134/saa7134-dvb.c
> @@ -1020,6 +1020,7 @@ #ifdef HAVE_MT352
>  		break;
>  
>  	case SAA7134_BOARD_AVERMEDIA_777:
> +	case SAA7134_BOARD_AVERMEDIA_A16AR:
>  		printk("%s: avertv 777 dvb setup\n",dev->name);
>  		dev->dvb.frontend = mt352_attach(&avermedia_777,
>  						 &dev->i2c_adap);
> diff --git a/drivers/media/video/saa7134/saa7134-input.c b/drivers/media/video/saa7134/saa7134-input.c
> index 7c59549..1f51c04 100644
> --- a/drivers/media/video/saa7134/saa7134-input.c
> +++ b/drivers/media/video/saa7134/saa7134-input.c
> @@ -185,6 +185,7 @@ int saa7134_input_init1(struct saa7134_d
>  	case SAA7134_BOARD_AVERMEDIA_STUDIO_305:
>  	case SAA7134_BOARD_AVERMEDIA_STUDIO_307:
>  	case SAA7134_BOARD_AVERMEDIA_GO_007_FM:
> +	case SAA7134_BOARD_AVERMEDIA_A16AR:
>  		ir_codes     = ir_codes_avermedia;
>  		mask_keycode = 0x0007C8;
>  		mask_keydown = 0x000010;
> diff --git a/drivers/media/video/saa7134/saa7134.h b/drivers/media/video/saa7134/saa7134.h
> index c04ce61..9564190 100644
> --- a/drivers/media/video/saa7134/saa7134.h
> +++ b/drivers/media/video/saa7134/saa7134.h
> @@ -223,6 +223,7 @@ #define SAA7134_BOARD_AVERMEDIA_A169_B1 
>  #define SAA7134_BOARD_MD7134_BRIDGE_2     93
>  #define SAA7134_BOARD_FLYDVBT_HYBRID_CARDBUS 94
>  #define SAA7134_BOARD_FLYVIDEO3000_NTSC 95
> +#define SAA7134_BOARD_AVERMEDIA_A16AR   96
>  
>  #define SAA7134_MAXBOARDS 8
>  #define SAA7134_INPUT_MAX 8
> 
> 
Best regards
    Hartmut
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ