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 <m...@maciej.szmigiero.name>
> ---
>  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);
> 

Reply via email to