Re: [PATCH] media: saa7134: keep demod i2c gate open on Medion 7134

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

 



Hi Maciej,

some comment about wording in commit message and code-comment.

As far as I know the terms are defined like this:
* gate open = i2c-clients behind gate can be reached
* gate closed = i2c-clients behind gate are not reachable

Regards
Matthias

Am 19.08.19 um 00:55 schrieb Maciej S. Szmigiero:
> Medion 7134 has two i2c eeproms on the same i2c bus sharing the same bus
> addresses: the first one for SAA7134 chip config and the second one behind
> TDA10046 DVB-T demod chip i2c gate storing its firmware.
> The TV tuner on this board is not behind this i2c gate.
> 
> Due to the bus conflict described above, the card PCI SVID / SSID sometimes
> gets garbled after a reboot, which makes it necessary to specify the card
> model manually as an insmod option in order for it to be detected reliably.
> To avoid this, let's just leave the gate permanently open so the eeprom
> chips won't clash.
> 
> The demod firmware load is done with its i2c gate open anyway so it is not
> affected by this change.
> 
> Signed-off-by: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/media/pci/saa7134/saa7134-dvb.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/drivers/media/pci/saa7134/saa7134-dvb.c b/drivers/media/pci/saa7134/saa7134-dvb.c
> index eb8377a95023..ace019ef6784 100644
> --- a/drivers/media/pci/saa7134/saa7134-dvb.c
> +++ b/drivers/media/pci/saa7134/saa7134-dvb.c
> @@ -1264,6 +1264,20 @@ static int dvb_init(struct saa7134_dev *dev)
>  					       &medion_cardbus,
>  					       &dev->i2c_adap);
>  		if (fe0->dvb.frontend) {
> +			/*
> +			 * The TV tuner on this board is actually NOT
> +			 * behind the demod i2c gate.
> +			 * However, the demod eeprom is indeed there and it
> +			 * conflicts with the SAA7134 chip config eeprom
> +			 * if the i2c gate is closed (since they have same
> +			 * bus addresses) resulting in card PCI SVID / SSID
> +			 * being garbage after a reboot from time to time.
> +			 *
> +			 * Let's just leave the gate permanently open -
> +			 * saa7134_i2c_eeprom_md7134_gate() will open it for
> +			 * us at probe time if it was closed for some reason.
> +			 */
> +			fe0->dvb.frontend->ops.i2c_gate_ctrl = NULL;
>  			dvb_attach(simple_tuner_attach, fe0->dvb.frontend,
>  				   &dev->i2c_adap, medion_cardbus.tuner_address,
>  				   TUNER_PHILIPS_FMD1216ME_MK3);
> 




[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