All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anders Thomson <aeriksson2@gmail.com>
To: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: tda8290 regression fix
Date: Sun, 16 Sep 2012 10:48:01 +0200	[thread overview]
Message-ID: <50559241.6070408@gmail.com> (raw)
In-Reply-To: <20120915192530.74aedaa6@redhat.com>

On 2012-09-16 00:25, Mauro Carvalho Chehab wrote:
> Em Sat, 15 Sep 2012 20:12:49 +0200
> Anders Thomson<aeriksson2@gmail.com>  escreveu:
>
> >  On 2012-09-15 19:58, Mauro Carvalho Chehab wrote:
> >  >  Em Sat, 15 Sep 2012 19:39:31 +0200
> >  >  Anders Thomson<aeriksson2@gmail.com>   escreveu:
> >  >
> >  >  >   On 2012-09-15 18:34, Mauro Carvalho Chehab wrote:
> >  >  >   >   >    $ cat /TV_CARD.diff
> >  >  >   >   >    diff --git a/drivers/media/common/tuners/tda8290.c
> >  >  >   >   >    b/drivers/media/common/tuners/tda8290.c
> >  >  >   >   >    index 064d14c..498cc7b 100644
> >  >  >   >   >    --- a/drivers/media/common/tuners/tda8290.c
> >  >  >   >   >    +++ b/drivers/media/common/tuners/tda8290.c
> >  >  >   >   >    @@ -635,7 +635,11 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)
> >  >  >   >   >
> >  >  >   >   >                     dvb_attach(tda827x_attach, fe, priv->tda827x_addr,
> >  >  >   >   >                                priv->i2c_props.adap,&priv->cfg);
> >  >  >   >   >    +               tuner_info("ANDERS: setting switch_addr. was 0x%02x, new
> >  >  >   >   >    0x%02x\n",priv->cfg.switch_addr,priv->i2c_props.addr);
> >  >  >   >   >                     priv->cfg.switch_addr = priv->i2c_props.addr;
> >  >  >   >   >    +               priv->cfg.switch_addr = 0xc2 / 2;
> >  >  >   >
> >  >  >   >   No, this is wrong. The I2C address is passed by the bridge driver or by
> >  >  >   >   the tuner_core attachment, being stored at priv->i2c_props.addr.
> >  >  >   >
> >  >  >   >   What's the driver and card you're using?
> >  >  >   >
> >  >  >   lspci -vv:
> >  >  >   03:06.0 Multimedia controller: Philips Semiconductors
> >  >  >   SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)
> >  >  >            Subsystem: Pinnacle Systems Inc. Device 002f
> >  >
> >  >  There are lots of Pinnacle device supported by saa7134 driver. Without its
> >  >  PCI ID that's not much we can do.
> >  That here, right?
> >  lspci -nvv:
> >  03:06.0 0480: 1131:7133 (rev d1)
> >           Subsystem: 11bd:002f
> >           Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
> >  ParErr- Stepping- SERR- FastB2B- DisINTx-
> >           Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium
> >   >TAbort-<TAbort-<MAbort->SERR-<PERR- INTx-
> >           Latency: 64 (21000ns min, 8000ns max)
> >           Interrupt: pin A routed to IRQ 21
> >           Region 0: Memory at fdeff000 (32-bit, non-prefetchable) [size=2K]
> >           Capabilities: [40] Power Management version 2
> >                   Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
> >  PME(D0-,D1-,D2-,D3hot-,D3cold-)
> >                   Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
> >           Kernel driver in use: saa7134
> >           Kernel modules: saa7134
> >
> >
> >
> >
> >  >  Also, please post the dmesg showing what happens without and with your patch.
> >  Coming. Hold on...
>
> Thanks!
>
> Please try the enclosed patch.
>
> -
>
> [PATCH] tda8290: Fix lna switch address
>
> When LNA is configured with config 1 or config 2, tda827x driver
> will use the LNA switch_addr. However, this is not happening for
> all devices using such config, as reported by Anders. According
> to him, he is experiencing bad tuning with this code since
> Kenrel 2.6.26.
>
> Reported-by: Anders Thomson<aeriksson2@gmail.com>
> Signed-off-by: Mauro Carvalho Chehab<mchehab@redhat.com>
>
> diff --git a/drivers/media/tuners/tda8290.c b/drivers/media/tuners/tda8290.c
> index 8c48521..bedc6ce 100644
> --- a/drivers/media/tuners/tda8290.c
> +++ b/drivers/media/tuners/tda8290.c
> @@ -627,6 +627,9 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)
>   		return -EREMOTEIO;
>   	}
>
> +	if (priv->cfg.config == 1 || priv->cfg.config == 2)
> +		priv->cfg.switch_addr = priv->i2c_props.addr;
> +
>   	if ((data == 0x83) || (data == 0x84)) {
>   		priv->ver |= TDA18271;
>   		tda829x_tda18271_config.config = priv->cfg.config;
> @@ -640,7 +643,6 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)
>
>   		dvb_attach(tda827x_attach, fe, priv->tda827x_addr,
>   			   priv->i2c_props.adap,&priv->cfg);
> -		priv->cfg.switch_addr = priv->i2c_props.addr;
>   	}
>   	if (fe->ops.tuner_ops.init)
>   		fe->ops.tuner_ops.init(fe);
>
>
Hi,
Which tree should this be applied to? I have no drivers/media/tuners dir 
here.
However, it applies cleanly to 3.5.3 as:
  diff --git a/drivers/media/common/tuners/tda8290.c 
b/drivers/media/common/tuners/tda8290.c
index 8c48521..bedc6ce 100644
--- a/drivers/media/common/tuners/tda8290.c
+++ b/drivers/media/common/tuners/tda8290.c
@@ -627,6 +627,9 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)
                 return -EREMOTEIO;
         }

+       if (priv->cfg.config == 1 || priv->cfg.config == 2)
+               priv->cfg.switch_addr = priv->i2c_props.addr;
+
         if ((data == 0x83) || (data == 0x84)) {
                 priv->ver |= TDA18271;
                 tda829x_tda18271_config.config = priv->cfg.config;
@@ -640,7 +643,6 @@ static int tda829x_find_tuner(struct dvb_frontend *fe)

                 dvb_attach(tda827x_attach, fe, priv->tda827x_addr,
                            priv->i2c_props.adap, &priv->cfg);
-               priv->cfg.switch_addr = priv->i2c_props.addr;
         }
         if (fe->ops.tuner_ops.init)
                 fe->ops.tuner_ops.init(fe);

It doesn't make any difference though :-( I still have the layer of noise...

-A

  reply	other threads:[~2012-09-16  8:48 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-30 11:27 tda8290 regression fix Anders Thomson
2012-09-15 16:34 ` Mauro Carvalho Chehab
2012-09-15 17:39   ` Anders Thomson
2012-09-15 17:44     ` Anders Thomson
2012-09-15 17:58     ` Mauro Carvalho Chehab
2012-09-15 18:12       ` Anders Thomson
2012-09-15 22:25         ` Mauro Carvalho Chehab
2012-09-16  8:48           ` Anders Thomson [this message]
2012-09-18  9:53             ` Mauro Carvalho Chehab
2012-09-19 13:01               ` Anders Thomson
2012-09-19 16:45                 ` Mauro Carvalho Chehab
2012-09-19 19:25                   ` Anders Thomson
     [not found]                     ` <CAGncdOae+VoAAUWz3x84zUA-TCMeMmNONf_ktNFd1p7c-o5H_A@mail.gmail.com>
2012-09-21 14:49                       ` Mauro Carvalho Chehab
     [not found]                         ` <8ed8c988-fa8c-41fc-9f33-cccdceb1b232@email.android.com>
2012-09-23 11:36                           ` Mauro Carvalho Chehab
2012-09-23 17:54                             ` Anders Thomson
2012-09-23 18:14                               ` Mauro Carvalho Chehab
2012-09-23 18:39                               ` Anders Thomson
2012-09-23 21:06                                 ` Anders Thomson
2012-10-01 16:56                                   ` Anders Thomson
2012-11-15 20:43                                     ` Anders Thomson
2012-12-04 11:00                                       ` Anders Thomson
2012-09-15 18:28       ` Anders Thomson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50559241.6070408@gmail.com \
    --to=aeriksson2@gmail.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.