All of lore.kernel.org
 help / color / mirror / Atom feed
From: Antti Palosaari <crope@iki.fi>
To: Patrice Chotard <patrice.chotard@sfr.fr>
Cc: linux-media@vger.kernel.org,
	"Mauro Carvalho Chehab" <mchehab@redhat.com>,
	Frédéric <frederic.mantegazza@gbiloba.org>
Subject: Re: [PATCH] [media] ngene: fix dvb_pll_attach failure
Date: Fri, 14 Dec 2012 19:55:00 +0200	[thread overview]
Message-ID: <50CB67F4.3090802@iki.fi> (raw)
In-Reply-To: <50CB61A6.7060308@sfr.fr>

On 12/14/2012 07:28 PM, Patrice Chotard wrote:
> Before dvb_pll_attch call, be sure that drxd demodulator was
> initialized, otherwise, dvb_pll_attach() will always failed.
>
> In dvb_pll_attach(), first thing done is to enable the I2C gate
> control in order to probe the pll by performing a read access.
> As demodulator was not initialized, every i2c access failed.
>
> Reported-by: frederic.mantegazza@gbiloba.org
> Signed-off-by: Patrice Chotard <patricechotard@free.fr>
> ---
>   drivers/media/pci/ngene/ngene-cards.c |    2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/media/pci/ngene/ngene-cards.c
> b/drivers/media/pci/ngene/ngene-cards.c
> index 96a13ed..e2192db 100644
> --- a/drivers/media/pci/ngene/ngene-cards.c
> +++ b/drivers/media/pci/ngene/ngene-cards.c
> @@ -328,6 +328,8 @@ static int demod_attach_drxd(struct ngene_channel *chan)
>   		return -ENODEV;
>   	}
>
> +	/* initialized the DRXD demodulator */
> +	chan->fe->ops.init(chan->fe);
>   	if (!dvb_attach(dvb_pll_attach, chan->fe, feconf->pll_address,
>   			&chan->i2c_adapter,
>   			feconf->pll_type)) {
>

I don't like that as this causes again more deviation against normal 
procedures. If gate open is needed (for probe or id check?) then 
pll/tuner attach should open it. If that is not easily possible then 
calling gate_control() before pll attach is allowed. init() is very, 
very, bad as generally starts whole chip => starts eating power etc.


Even better would be to let whole gate-control to responsibility of 
DVB-core, but unfortunately current situation is quite mess. Gate is 
operated sometimes by DVB-core (like for init/sleep) and for some cases 
it is left for responsibility of tuner driver. So on real life there is 
mixed solutions and  for init/sleep gate is even double controlled.


regards
Antti

-- 
http://palosaari.fi/

  reply	other threads:[~2012-12-14 17:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-27 20:15 [PATCH] [media] ngene: fix dvb_pll_attach failure Patrice Chotard
2012-12-14 17:28 ` Patrice Chotard
2012-12-14 17:55   ` Antti Palosaari [this message]
2012-12-14 22:31     ` Patrice Chotard
2012-12-14 23:02       ` Antti Palosaari
2012-12-14 23:26         ` Devin Heitmueller
2012-12-15 10:22         ` Patrice Chotard

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=50CB67F4.3090802@iki.fi \
    --to=crope@iki.fi \
    --cc=frederic.mantegazza@gbiloba.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@redhat.com \
    --cc=patrice.chotard@sfr.fr \
    /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.